Files
documentdb/error_mappings.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

12 KiB

1ErrorMappingErrorName
21InternalError
32BadValue
45GraphContainsCycle
59FailedToParse
614TypeMismatch
715Overflow
816InvalidLength
920IllegalOperation
1023AlreadyInitialized
1126NamespaceNotFound
1227IndexNotFound
1328PathNotViable
1431RoleNotFound
1534CannotBackfillArray
1640ConflictingUpdateOperators
1743CursorNotFound
1848NamespaceExists
1952DollarPrefixedFieldName
2053CanNotBeTypeArray
2154NotSingleValueField
2255Location55
2356EmptyFieldName
2457DottedFieldName
2561ShardKeyNotFound
2666ImmutableField
2767CannotCreateIndex
2868IndexAlreadyExists
2972InvalidOptions
3073InvalidNamespace
3185IndexOptionsConflict
3286IndexKeySpecsConflict
33111NotExactValueField
34115CommandNotSupported
35118NamespaceNotSharded
36121DocumentFailedValidation
37143CursorInUse
38146ExceededMemoryLimit
39159DurationOverflow
40165ViewDepthLimitExceeded
41166CommandNotSupportedOnView
42167OptionNotSupportedOnView
43181AmbiguousIndexKeyPattern
44197InvalidIndexSpecificationOption
45224QueryFeatureNotAllowed
46232MaxSubPipelineDepthExceeded
47241ConversionFailure
48263OperationNotSupportedInTransaction
49276IndexBuildAborted
50291UnableToFindIndex
51361CollectionUUIDMismatch
528000UserCountLimitExceeded
5310065Location10065
5410107NotWritablePrimary
5510334BsonObjectTooLarge
5611000DuplicateKey
5712587BackgroundOperationInProgressForNamespace
5813026Location13026
5913027Location13027
6013068Location13068
6113103Location13103
6213111Location13111
6313113MergeStageNoMatchingDocument
6413297DbAlreadyExists
6513548Location13548
6615947Location15947
6715952Location15952
6815955Location15955
6915957Location15957
7015958Location15958
7115959Location15959
7215972Location15972
7315976Location15976
7415981Location15981
7515998Location15998
7616004Location16004
7716006Location16006
7816007Location16007
7916020Location16020
8016034Location16034
8116035Location16035
8216410Location16410
8316411Location16411
8416433Location16433
8516554DollarAddNumericOrDateTypes
8616610DollarModByZeroProhibited
8716611DollarModOnlyNumeric
8816612DollarAddOnlyOneDate
8916702Location16702
9016747Location16747
9116748Location16748
9216749Location16749
9316755Location16755
9416764Location16764
9516766HashedIndexDoNotSupportArrayValues
9616800Location16800
9716801Location16801
9816804Location16804
9916874Location16874
10016875Location16875
10116876Location16876
10216878Location16878
10316879Location16879
10416880Location16880
10516882Location16882
10616883Location16883
10716990Location16990
10816994Location16994
10917040Location17040
11017041Location17041
11117042Location17042
11217043Location17043
11317044Location17044
11417045Location17045
11517046Location17046
11617047Location17047
11717048Location17048
11817049Location17049
11917053Location17053
12017080DollarCondMissingIfParameter
12117081DollarCondMissingThenParameter
12217082DollarCondMissingElseParameter
12317083DollarCondBadParameter
12417124DollarSizeRequiresArray
12517194ExactlyOneTextIndex
12617261Location17261
12717276Location17276
12817308Location17308
12917310Location17310
13017385Location17385
13117419DocumentAfterUpdateLargerThanMaxSize
13217420DocumentToUpsertLargerThanMaxSize
13318533Location18533
13418534Location18534
13518535Location18535
13618536Location18536
13718537Location18537
13818628Location18628
13918629Location18629
14028625Location28625
14128646Location28646
14228647Location28647
14328648Location28648
14428650Location28650
14528651Location28651
14628656Location28656
14728657Location28657
14828664Location28664
14928667RangeArgumentExpressionArgsOutOfRange
15028680DollarAbsCantTakeLongMinValue
15128689ArrayOperatorElemAtFirstArgMustBeArray
15228690DollarArrayElemAtSecondArgArgMustBeNumeric
15328691DollarArrayElemAtSecondArgArgMustBe32Bit
15428714DollarSqrtGreaterOrEqualToZero
15528724DollarSliceInvalidInput
15628725DollarSliceInvalidTypeSecondArg
15728726DollarSliceInvalidValueSecondArg
15828727DollarSliceInvalidTypeThirdArg
15928728DollarSliceInvalidValueThirdArg
16028729DollarSliceInvalidSignThirdArg
16128745Location28745
16228746Location28746
16328747Location28747
16428748Location28748
16528749Location28749
16628756DollarLogArgumentMustBeNumeric
16728757DollarLogBaseMustBeNumeric
16828758DollarLogNumberMustBePositive
16928759DollarLogBaseMustBeGreaterThanOne
17028761DollarLog10MustBePositiveNumber
17128762DollarPowBaseMustBeNumeric
17228763DollarPowExponentMustBeNumeric
17328764DollarPowExponentInvalidForZeroBase
17428765Location28765
17528766DollarLnMustBePositiveNumber
17628769Location28769
17728803Location28803
17828808Location28808
17928809Location28809
18028810Location28810
18128811Location28811
18228812Location28812
18328818Location28818
18428822Location28822
18531002Location31002
18631022Location31022
18731023Location31023
18831024Location31024
18931032KeyCannotContainNullByte
19031034Location31034
19131095Location31095
19231109Location31109
19331119Location31119
19431120Location31120
19531138Location31138
19631170Location31170
19731249Location31249
19831250Location31250
19931253Location31253
20031254Location31254
20131256Location31256
20231271Location31271
20331276Location31276
20431308Location31308
20531319Location31319
20631320Location31320
20731321Location31321
20831325Location31325
20931393Location31393
21031395Location31395
21131441Location31441
21231465Location31465
21334435Location34435
21434443Location34443
21534444Location34444
21634445Location34445
21734446Location34446
21834447Location34447
21934448Location34448
22034449Location34449
22134450Location34450
22234451Location34451
22334452Location34452
22434453Location34453
22534454Location34454
22634455Location34455
22734460Location34460
22834461Location34461
22934462Location34462
23034463Location34463
23134464Location34464
23234465Location34465
23334466Location34466
23434467Location34467
23534468Location34468
23634471Location34471
23734473Location34473
23840060DollarSwitchRequiresObject
23940061DollarSwitchRequiresArrayForBranches
24040062DollarSwitchRequiresObjectForEachBranch
24140063DollarSwitchUnknownArgumentForBranch
24240064DollarSwitchRequiresCaseExpressionForBranch
24340065DollarSwitchRequiresThenExpressionForBranch
24440066DollarSwitchNoMatchingBranchAndNoDefault
24540067DollarSwitchBadArgument
24640068DollarSwitchRequiresAtLeastOneBranch
24740075Location40075
24840076Location40076
24940077Location40077
25040078Location40078
25140079Location40079
25240080Location40080
25340081DollarInRequiresArray
25440085Location40085
25540086Location40086
25640087Location40087
25740090Location40090
25840091Location40091
25940092Location40092
26040093Location40093
26140094Location40094
26240096Location40096
26340097Location40097
26440100Location40100
26540101Location40101
26640102Location40102
26740103Location40103
26840104Location40104
26940105Location40105
27040147Location40147
27140156Location40156
27240158Location40158
27340160Location40160
27440169Location40169
27540177Location40177
27640181Location40181
27740185Location40185
27840191Location40191
27940192Location40192
28040193Location40193
28140194Location40194
28240195Location40195
28340196Location40196
28440197Location40197
28540198Location40198
28640199Location40199
28740200Location40200
28840201Location40201
28940202Location40202
29040218Location40218
29140228Location40228
29240229Location40229
29340234Location40234
29440235Location40235
29540236Location40236
29640237Location40237
29740238Location40238
29840239Location40239
29940240Location40240
30040241Location40241
30140242Location40242
30240243Location40243
30340244Location40244
30440245Location40245
30540246Location40246
30640257Location40257
30740258Location40258
30840260Location40260
30940261Location40261
31040272Location40272
31140319Location40319
31240321Location40321
31340323Location40323
31440324UnrecognizedCommand
31540352Location40352
31640386DollarArrayToObjectRequiresArray
31740390DollarObjectToArrayRequiresObject
31840391DollarArrayToObjectAllMustBeObjects
31940392DollarArrayToObjectIncorrectNumberOfKeys
32040393DollarArrayToObjectRequiresObjectWithKAndV
32140394DollarArrayToObjectObjectKeyMustBeString
32240395DollarArrayToObjectArrayKeyMustBeString
32340396DollarArrayToObjectAllMustBeArrays
32440397DollarArrayToObjectIncorrectArrayLength
32540398DollarArrayToObjectBadInputTypeFormat
32640400DollarMergeObjectsInvalidType
32740414Location40414
32840415UnknownBsonField
32940485Location40485
33040489Location40489
33140515Location40515
33240516Location40516
33340517Location40517
33440518Location40518
33540519Location40519
33640520Location40520
33740521Location40521
33840522Location40522
33940523Location40523
34040524Location40524
34140525Location40525
34240533Location40533
34340535Location40535
34440536Location40536
34540539Location40539
34640540Location40540
34740541Location40541
34840542Location40542
34940600Location40600
35040601Location40601
35140602Location40602
35240603Location40603
35340647ChangeStreamBadResumeToken
35440684Location40684
35542501InsufficientPrivilege
35650694Location50694
35750695Location50695
35850696Location50696
35950699Location50699
36050700Location50700
36150723Location50723
36250752Location50752
36350759Location50759
36450989Location50989
36551003Location51003
36651024Location51024
36751044Location51044
36851045Location51045
36951047Location51047
37051074Location51074
37151075Location51075
37251080DollarRoundOverflowInt64
37351081DollarRoundFirstArgMustBeNumeric
37451082DollarRoundPrecisionMustBeIntegral
37551083DollarRoundPrecisionOutOfRange
37651091Location51091
37751103Location51103
37851104Location51104
37951105Location51105
38051106Location51106
38151107Location51107
38251108Location51108
38351109Location51109
38451110Location51110
38551111Location51111
38651132Location51132
38751134Location51134
38851151Location51151
38951156Location51156
39051178Location51178
39151183Location51183
39251185Location51185
39351186Location51186
39451187Location51187
39551191Location51191
39651246Location51246
39751247Location51247
39851276Location51276
39951743Location51743
40051744Location51744
40151745Location51745
40251746Location51746
40351747Location51747
40451748Location51748
40551749Location51749
40651750Location51750
40751751Location51751
408327391Location327391
409327392Location327392
410605001Location605001
4111257300DollarIfNullRequiresAtLeastTwoArgs
4122942500Location2942500
4132942501Location2942501
4142942502Location2942502
4152942503Location2942503
4162942504Location2942504
4172942505Location2942505
4182942506Location2942506
4193040501DollarRandNonEmptyArgument
4203041701Location3041701
4213041702Location3041702
4223041703Location3041703
4233041704Location3041704
4244031700IntermediateResultTooLarge
4254161100DollarSetFieldRequiresObject
4264161101DollarSetFieldUnknownArgument
4274161102Location4161102
4284161103Location4161103
4294161104Location4161104
4304161105Location4161105
4314161106Location4161106
4324161107Location4161107
4334161108Location4161108
4344161109Location4161109
4354341107Location4341107
4364890500Location4890500
4374940400Location4940400
4384940401Location4940401
4395107200Location5107200
4405107201Location5107201
4415166301Location5166301
4425166302Location5166302
4435166303Location5166303
4445166304Location5166304
4455166305Location5166305
4465166307Location5166307
4475166400Location5166400
4485166401Location5166401
4495166402Location5166402
4505166403Location5166403
4515166404Location5166404
4525166405Location5166405
4535166406Location5166406
4545339900Location5339900
4555339901Location5339901
4565339902Location5339902
4575371601Location5371601
4585371602Location5371602
4595371603Location5371603
4605423900Location5423900
4615423901Location5423901
4625423902Location5423902
4635429413Location5429413
4645429414Location5429414
4655429513Location5429513
4665439007Location5439007
4675439008Location5439008
4685439009Location5439009
4695439010Location5439010
4705439012Location5439012
4715439013Location5439013
4725439014Location5439014
4735439015Location5439015
4745439016Location5439016
4755439017Location5439017
4765439018Location5439018
4775490710Location5490710
4785624900Location5624900
4795624901Location5624901
4805626500Location5626500
4815654600Location5654600
4825654601Location5654601
4835654602Location5654602
4845687301Location5687301
4855687302Location5687302
4865687400Location5687400
4875687401Location5687401
4885733201Location5733201
4895733401Location5733401
4905733402Location5733402
4915733403Location5733403
4925733406Location5733406
4935733408Location5733408
4945733409Location5733409
4955746102Location5746102
4965787801Location5787801
4975787900Location5787900
4985787901Location5787901
4995787902Location5787902
5005787903Location5787903
5015787906Location5787906
5025787907Location5787907
5035787908Location5787908
5045788001Location5788001
5055788002Location5788002
5065788003Location5788003
5075788004Location5788004
5085788005Location5788005
5095788200Location5788200
5105788604Location5788604
5115858203Location5858203
5125860402Location5860402
5135876900Location5876900
5145897900Location5897900
5155946802Location5946802
5165976500Location5976500
5176007200Location6007200
5186045000Location6045000
5196050106Location6050106
5206050202Location6050202
5216050204Location6050204
5226053600Location6053600
5236586400Location6586400
5247429703Location7429703
5257436100Location7436100
5267555701Location7555701
5277555702Location7555702
5287749501Location7749501
5297750301Location7750301
5307750302Location7750302
5317750303Location7750303
5328993000Location8993000