Commit 8726a59
Fix the Serialization/Deserialization issue with $ prefix columns (#2944)
Serialization and deserialization of metadata currently fail when column
names are prefixed with the $ symbol.
This issue occurs because we’ve enabled the ReferenceHandler flag in our
System.Text.Json serialization settings. When this flag is active, the
serializer treats $ as a reserved character used for special metadata
(e.g., $id, $ref). As a result, any property name starting with $ is
interpreted as metadata and cannot be deserialized properly.
This update introduces custom logic in the converter’s Write and Read
methods to handle $-prefixed column names safely.
- During serialization, columns beginning with $ are escaped as "_$".
- During deserialization, this transformation is reversed to restore the
original property names.
- [x] Unit tests
---------
Co-authored-by: Aniruddh Munde <anmunde@microsoft.com>
Fix serialization for StoredProcedureDefinition inheritance (#3045)
- To apply correct serialization and deserialization logic for stored
procedures. With the previous changes, serialization was not working
correctly for the StoredProcedureDefinition type, which extends
SourceDefinition. When the value type was passed explicitly for
serialization, the parent type was used instead, causing some child-type
properties to be omitted.
Instead of manually specifying the value type during serialization, this
change allows the library to infer the type automatically and perform
the correct serialization.
- [x] Unit Tests
---------
Co-authored-by: Aniruddh Munde <anmunde@microsoft.com>
Update src/Core/Services/MetadataProviders/Converters/DatabaseObjectConverter.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fix documentation typos in serialization comments (#3057)
Code review identified typos in XML documentation comments that
inaccurately described the escaping mechanism and contained spelling
errors.
Fixed documentation comments to accurately reflect the implementation:
- **DatabaseObjectConverter.cs**: Updated escape/unescape method
summaries to correctly describe the `DAB_ESCAPE$` prefix transformation
(previously incorrectly documented as `_$`)
- **SerializationDeserializationTests.cs**: Corrected "deserilization" →
"deserialization" in three test method comments
- [x] Documentation-only change, no functional changes
<!-- START COPILOT CODING AGENT TIPS -->
---
💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Alekhya-Polavarapu <67075378+Alekhya-Polavarapu@users.noreply.github.com>1 parent 353838b commit 8726a59
2 files changed
Lines changed: 188 additions & 7 deletions
File tree
- src
- Core/Services/MetadataProviders/Converters
- Service.Tests/UnitTests
Lines changed: 75 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
20 | 25 | | |
21 | 26 | | |
22 | 27 | | |
| |||
29 | 34 | | |
30 | 35 | | |
31 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
32 | 46 | | |
33 | 47 | | |
34 | 48 | | |
| |||
58 | 72 | | |
59 | 73 | | |
60 | 74 | | |
61 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
62 | 84 | | |
63 | 85 | | |
64 | 86 | | |
65 | 87 | | |
66 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
67 | 141 | | |
68 | 142 | | |
69 | 143 | | |
| |||
Lines changed: 113 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
279 | | - | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
280 | 357 | | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
281 | 387 | | |
282 | 388 | | |
283 | 389 | | |
| |||
289 | 395 | | |
290 | 396 | | |
291 | 397 | | |
| 398 | + | |
292 | 399 | | |
293 | 400 | | |
294 | 401 | | |
295 | | - | |
| 402 | + | |
296 | 403 | | |
297 | 404 | | |
298 | 405 | | |
| |||
311 | 418 | | |
312 | 419 | | |
313 | 420 | | |
314 | | - | |
| 421 | + | |
315 | 422 | | |
316 | 423 | | |
317 | | - | |
| 424 | + | |
318 | 425 | | |
319 | 426 | | |
320 | 427 | | |
| |||
331 | 438 | | |
332 | 439 | | |
333 | 440 | | |
334 | | - | |
| 441 | + | |
335 | 442 | | |
336 | 443 | | |
337 | | - | |
| 444 | + | |
338 | 445 | | |
339 | 446 | | |
340 | 447 | | |
| |||
0 commit comments