Files
documentdb/documentdb_errors.csv
Parag Jain b650a1d1c9 Merged PR 1743315: [Compat] Fixing output pipeline namespace validations
### Does this PR have any customer impact?

### Type (Feature, Refactoring, Bugfix, DevOps, Testing, Perf, etc)

### Does it involve schema level changes? (Table, Column, Index, UDF, etc level changes)

### Are you introducing any new config? If yes, do you have tests with and without them being set?

### ChangeLog (Refer [Template](../oss/CHANGELOG.md))

### Description
[Compat] Fixing output pipeline namespace validations

----
#### AI description  (iteration 1)
#### PR Classification
Bug fix and compatibility update.

#### PR Summary
This pull request enforces strict namespace validations for aggregation pipeline output stages by preventing writes to internal databases and system collections. It introduces a dedicated validation function for both $out and $merge stages and integrates new error codes across the codebase and mapping files.
- `oss/pg_documentdb/src/aggregation/bson_aggregation_output_pipeline.c`: Added the `ValidateTargetNameSpaceForOutputStage` function and updated calls in both the $out and $merge handlers.
- `pgmongo/src/utils/documentdb_conversion_codes.c` and `oss/pg_documentdb_core/include/utils/documentdb_errors.h`: Introduced and mapped new error codes for invalid namespace targets.
- Updated multiple error mapping files (`documentdb_errors.csv`, `error_mappings.csv`, `documentdb_codes.txt`, `external_error_mapping.csv`, and `mongo_codes.csv`) and test CSV files under `gateway/managed/Tests.Integration.Shell.Postgres` to reflect the new validations and error messages.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
2025-07-23 15:56:08 +08:00

11 KiB

1OrdinalPositionErrorName
21InternalError
32BadValue
43GraphContainsCycle
54FailedToParse
65TypeMismatch
76Overflow
87IllegalOperation
98AlreadyInitialized
109NamespaceNotFound
1110IndexNotFound
1211PathNotViable
1312RoleNotFound
1413CannotBackfillArray
1514ConflictingUpdateOperators
1615CursorNotFound
1716NamespaceExists
1817DollarPrefixedFieldName
1918CanNotBeTypeArray
2019NotSingleValueField
2120EmptyFieldName
2221DottedFieldName
2322ShardKeyNotFound
2423ImmutableField
2524CannotCreateIndex
2625IndexAlreadyExists
2726InvalidOptions
2827InvalidNamespace
2928IndexOptionsConflict
3029IndexKeySpecsConflict
3130NotExactValueField
3231CommandNotSupported
3332NamespaceNotSharded
3433ExceededMemoryLimit
3534DurationOverflow
3635ViewDepthLimitExceeded
3736CommandNotSupportedOnView
3837OptionNotSupportedOnView
3938AmbiguousIndexKeyPattern
4039InvalidIndexSpecificationOption
4140QueryFeatureNotAllowed
4241MaxSubPipelineDepthExceeded
4342ConversionFailure
4443OperationNotSupportedInTransaction
4544IndexBuildAborted
4645UnableToFindIndex
4746CollectionUUIDMismatch
4847Location10065
4948BsonObjectTooLarge
5049DuplicateKey
5150BackgroundOperationInProgressForNamespace
5251Location13026
5352Location13027
5453Location13068
5554MergeStageNoMatchingDocument
5655DbAlreadyExists
5756Location13548
5857Location15947
5958Location15952
6059Location15955
6160Location15957
6261Location15958
6362Location15959
6463Location15972
6564Location15976
6665Location15981
6766Location16004
6867Location16006
6968Location16007
7069Location16020
7170Location6045000
7271Location16034
7372Location16035
7473Location16410
7574Location16411
7675Location16433
7776DollarAddNumericOrDateTypes
7877DollarModByZeroProhibited
7978DollarModOnlyNumeric
8079DollarAddOnlyOneDate
8180Location16702
8281Location16747
8382Location16748
8483Location16749
8584Location16755
8685Location16764
8786HashedIndexDoNotSupportArrayValues
8887Location16800
8988Location16801
9089Location16804
9190Location16874
9291Location16875
9392Location16876
9493Location16878
9594Location16879
9695Location16880
9796Location16882
9897Location16883
9998Location16994
10099Location17040
101100Location17041
102101Location17042
103102Location17043
104103Location17044
105104Location17045
106105Location17046
107106Location17047
108107Location17048
109108Location17049
110109DollarCondMissingIfParameter
111110DollarCondMissingThenParameter
112111DollarCondMissingElseParameter
113112DollarCondBadParameter
114113DollarSizeRequiresArray
115114ExactlyOneTextIndex
116115Location17261
117116Location17276
118117Location17308
119118Location17310
120119DocumentAfterUpdateLargerThanMaxSize
121120DocumentToUpsertLargerThanMaxSize
122121Location18628
123122Location18629
124123Location18533
125124Location18534
126125Location18535
127126Location18536
128127Location18537
129128Location28625
130129Location28646
131130Location28647
132131Location28648
133132Location28650
134133Location28651
135134Location28656
136135Location28657
137136Location28664
138137Location51044
139138Location51045
140139Location50989
141140RangeArgumentExpressionArgsOutOfRange
142141DollarAbsCantTakeLongMinValue
143142ArrayOperatorElemAtFirstArgMustBeArray
144143DollarArrayElemAtSecondArgArgMustBeNumeric
145144DollarArrayElemAtSecondArgArgMustBe32Bit
146145DollarSqrtGreaterOrEqualToZero
147146DollarSliceInvalidInput
148147DollarSliceInvalidTypeSecondArg
149148DollarSliceInvalidValueSecondArg
150149DollarSliceInvalidTypeThirdArg
151150DollarSliceInvalidValueThirdArg
152151DollarSliceInvalidSignThirdArg
153152Location28745
154153Location28746
155154Location28747
156155Location28748
157156Location28749
158157DollarLogArgumentMustBeNumeric
159158DollarLogBaseMustBeNumeric
160159DollarLogNumberMustBePositive
161160DollarLogBaseMustBeGreaterThanOne
162161DollarLog10MustBePositiveNumber
163162DollarPowBaseMustBeNumeric
164163DollarPowExponentMustBeNumeric
165164DollarPowExponentInvalidForZeroBase
166165Location28765
167166DollarLnMustBePositiveNumber
168167Location28769
169168Location28803
170169Location28808
171170Location28809
172171Location28810
173172Location28811
174173Location28812
175174Location28818
176175Location28822
177176KeyCannotContainNullByte
178177Location31002
179178Location31022
180179Location31023
181180Location31024
182181Location31034
183182Location31095
184183Location31109
185184Location31119
186185Location31120
187186Location31138
188187Location31249
189188Location31250
190189Location31253
191190Location31254
192191Location31256
193192Location31271
194193Location31276
195194Location31308
196195Location31325
197196Location31393
198197Location31395
199198Location34435
200199Location31441
201200Location34443
202201Location34444
203202Location34445
204203Location34446
205204Location34447
206205Location34448
207206Location34449
208207Location34450
209208Location34451
210209Location34452
211210Location34453
212211Location34454
213212Location34455
214213Location34460
215214Location34461
216215Location34462
217216Location34463
218217Location34464
219218Location34465
220219Location34466
221220Location34467
222221Location34468
223222Location34471
224223Location34473
225224DollarSwitchRequiresObject
226225DollarSwitchRequiresArrayForBranches
227226DollarSwitchRequiresObjectForEachBranch
228227DollarSwitchUnknownArgumentForBranch
229228DollarSwitchRequiresCaseExpressionForBranch
230229DollarSwitchRequiresThenExpressionForBranch
231230DollarSwitchNoMatchingBranchAndNoDefault
232231DollarSwitchBadArgument
233232DollarSwitchRequiresAtLeastOneBranch
234233Location40075
235234Location40076
236235Location40077
237236Location40078
238237Location40079
239238Location40080
240239DollarInRequiresArray
241240Location40085
242241Location40086
243242Location40087
244243Location40090
245244Location40091
246245Location40092
247246Location40093
248247Location40094
249248Location40096
250249Location40097
251250Location40100
252251Location40101
253252Location40102
254253Location40103
255254Location40104
256255Location40105
257256Location40147
258257Location40156
259258Location40158
260259Location40160
261260Location40169
262261Location40177
263262Location40185
264263Location40191
265264Location40192
266265Location40193
267266Location40194
268267Location40195
269268Location40196
270269Location40197
271270Location40198
272271Location40199
273272Location40200
274273Location40201
275274Location40202
276275Location40218
277276Location40228
278277Location40234
279278Location40238
280279Location40272
281280Location40319
282281Location40321
283282Location40323
284283UnrecognizedCommand
285284Location40352
286285DollarArrayToObjectRequiresArray
287286DollarObjectToArrayRequiresObject
288287DollarArrayToObjectAllMustBeObjects
289288DollarArrayToObjectIncorrectNumberOfKeys
290289DollarArrayToObjectRequiresObjectWithKAndV
291290DollarArrayToObjectObjectKeyMustBeString
292291DollarArrayToObjectArrayKeyMustBeString
293292DollarArrayToObjectAllMustBeArrays
294293DollarArrayToObjectIncorrectArrayLength
295294DollarArrayToObjectBadInputTypeFormat
296295DollarMergeObjectsInvalidType
297296Location40414
298297UnknownBsonField
299298Location40485
300299Location40489
301300Location40515
302301Location40516
303302Location40517
304303Location40518
305304Location40519
306305Location40520
307306Location40521
308307Location40522
309308Location40523
310309Location40524
311310Location40525
312311Location40533
313312Location40535
314313Location40536
315314Location40539
316315Location40540
317316Location40541
318317Location40542
319318Location40600
320319Location40601
321320Location40602
322321Location40603
323322Location40235
324323Location40237
325324ChangeStreamBadResumeToken
326325Location40684
327326Location50694
328327Location50695
329328Location50696
330329Location50699
331330Location50700
332331Location50723
333332Location50752
334333Location50759
335334Location51024
336335Location51047
337336Location51074
338337Location51075
339338DollarRoundOverflowInt64
340339DollarRoundFirstArgMustBeNumeric
341340DollarRoundPrecisionMustBeIntegral
342341DollarRoundPrecisionOutOfRange
343342Location51091
344343Location51103
345344Location51104
346345Location51105
347346Location51106
348347Location51107
349348Location51108
350349Location51109
351350Location51110
352351Location51111
353352Location51132
354353Location51134
355354Location51151
356355Location51156
357356Location51178
358357Location51183
359358Location51185
360359Location51186
361360Location51187
362361Location51191
363362Location51246
364363Location51276
365364Location51247
366365Location51743
367366Location51744
368367Location51745
369368Location51746
370369Location51747
371370Location51748
372371Location51749
373372Location51750
374373Location51751
375374Location327391
376375Location327392
377376DollarIfNullRequiresAtLeastTwoArgs
378377DollarRandNonEmptyArgument
379378IntermediateResultTooLarge
380379DollarSetFieldRequiresObject
381380DollarSetFieldUnknownArgument
382381Location2942500
383382Location2942501
384383Location2942502
385384Location2942503
386385Location2942504
387386Location2942505
388387Location2942506
389388Location3041701
390389Location3041702
391390Location3041703
392391Location4161102
393392Location4161103
394393Location4161104
395394Location4161105
396395Location4161106
397396Location4161107
398397Location4161108
399398Location4161109
400399Location4890500
401400Location4940400
402401Location4940401
403402Location5166400
404403Location5166401
405404Location5166402
406405Location5166403
407406Location5166404
408407Location5166405
409408Location5166406
410409Location5107200
411410Location5107201
412411Location5166301
413412Location5166302
414413Location5166303
415414Location5166304
416415Location5166305
417416Location5166307
418417Location5339900
419418Location5339901
420419Location5339902
421420Location5429413
422421Location5429414
423422Location5429513
424423Location5439007
425424Location5439008
426425Location5439009
427426Location5439010
428427Location5439012
429428Location5439013
430429Location5439014
431430Location5439015
432431Location5439016
433432Location5439017
434433Location5439018
435434Location5626500
436435Location5654600
437436Location5654601
438437Location5654602
439438Location5687301
440439Location5687302
441440Location5687400
442441Location5687401
443442Location5746102
444443Location5787801
445444Location5787900
446445Location5787901
447446Location5787902
448447Location5787903
449448Location5787906
450449Location5787907
451450Location5787908
452451Location5788200
453452Location5858203
454453Location5976500
455454Location5371601
456455Location5371602
457456Location5371603
458457DocumentFailedValidation
459458Location605001
460459Location6050106
461460Location16990
462461Location13111
463462Location5788001
464463Location5788002
465464Location5788003
466465Location5788004
467466Location5788005
468467Location5733201
469468Location5733401
470469Location5733402
471470Location5733403
472471Location5733406
473472Location5733408
474473Location5733409
475474Location5876900
476475Location5897900
477476Location5946802
478477Location6007200
479478Location6053600
480479Location6586400
481480Location8993000
482481Location5423900
483482Location5423901
484483Location5423902
485484Location5490710
486485Location5624900
487486Location5624901
488487Location6050202
489488Location6050204
490489Location5788604
491490Location31170
492491Location31465
493492Location40181
494493InvalidLength
495494Location15998
496495Location40229
497496UserCountLimitExceeded
498497Location55
499498Location40236
500499Location17053
501500Location7429703
502501Location7436100
503502Location7750301
504503Location7750302
505504Location7750303
506505Location51003
507506Location7749501
508507Location5860402
509508Location7555701
510509Location7555702
511510Location3041704
512511Location4341107
513512InsufficientPrivilege
514513NotWritablePrimary
515514Location40239
516515Location40240
517516Location40241
518517Location40242
519518Location40243
520519Location40244
521520Location40245
522521Location40246
523522Location40257
524523Location40258
525524Location40260
526525Location40261
527526CursorInUse
528527Location13103
529528Location17385
530529Location31319
531530Location31320
532531Location31321