mirror of
https://github.com/FerretDB/documentdb.git
synced 2026-11-08 03:52:41 -05:00
### 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 -->
532 lines
12 KiB
CSV
532 lines
12 KiB
CSV
ErrorMapping,ErrorName
|
|
1,InternalError
|
|
2,BadValue
|
|
5,GraphContainsCycle
|
|
9,FailedToParse
|
|
14,TypeMismatch
|
|
15,Overflow
|
|
16,InvalidLength
|
|
20,IllegalOperation
|
|
23,AlreadyInitialized
|
|
26,NamespaceNotFound
|
|
27,IndexNotFound
|
|
28,PathNotViable
|
|
31,RoleNotFound
|
|
34,CannotBackfillArray
|
|
40,ConflictingUpdateOperators
|
|
43,CursorNotFound
|
|
48,NamespaceExists
|
|
52,DollarPrefixedFieldName
|
|
53,CanNotBeTypeArray
|
|
54,NotSingleValueField
|
|
55,Location55
|
|
56,EmptyFieldName
|
|
57,DottedFieldName
|
|
61,ShardKeyNotFound
|
|
66,ImmutableField
|
|
67,CannotCreateIndex
|
|
68,IndexAlreadyExists
|
|
72,InvalidOptions
|
|
73,InvalidNamespace
|
|
85,IndexOptionsConflict
|
|
86,IndexKeySpecsConflict
|
|
111,NotExactValueField
|
|
115,CommandNotSupported
|
|
118,NamespaceNotSharded
|
|
121,DocumentFailedValidation
|
|
143,CursorInUse
|
|
146,ExceededMemoryLimit
|
|
159,DurationOverflow
|
|
165,ViewDepthLimitExceeded
|
|
166,CommandNotSupportedOnView
|
|
167,OptionNotSupportedOnView
|
|
181,AmbiguousIndexKeyPattern
|
|
197,InvalidIndexSpecificationOption
|
|
224,QueryFeatureNotAllowed
|
|
232,MaxSubPipelineDepthExceeded
|
|
241,ConversionFailure
|
|
263,OperationNotSupportedInTransaction
|
|
276,IndexBuildAborted
|
|
291,UnableToFindIndex
|
|
361,CollectionUUIDMismatch
|
|
8000,UserCountLimitExceeded
|
|
10065,Location10065
|
|
10107,NotWritablePrimary
|
|
10334,BsonObjectTooLarge
|
|
11000,DuplicateKey
|
|
12587,BackgroundOperationInProgressForNamespace
|
|
13026,Location13026
|
|
13027,Location13027
|
|
13068,Location13068
|
|
13103,Location13103
|
|
13111,Location13111
|
|
13113,MergeStageNoMatchingDocument
|
|
13297,DbAlreadyExists
|
|
13548,Location13548
|
|
15947,Location15947
|
|
15952,Location15952
|
|
15955,Location15955
|
|
15957,Location15957
|
|
15958,Location15958
|
|
15959,Location15959
|
|
15972,Location15972
|
|
15976,Location15976
|
|
15981,Location15981
|
|
15998,Location15998
|
|
16004,Location16004
|
|
16006,Location16006
|
|
16007,Location16007
|
|
16020,Location16020
|
|
16034,Location16034
|
|
16035,Location16035
|
|
16410,Location16410
|
|
16411,Location16411
|
|
16433,Location16433
|
|
16554,DollarAddNumericOrDateTypes
|
|
16610,DollarModByZeroProhibited
|
|
16611,DollarModOnlyNumeric
|
|
16612,DollarAddOnlyOneDate
|
|
16702,Location16702
|
|
16747,Location16747
|
|
16748,Location16748
|
|
16749,Location16749
|
|
16755,Location16755
|
|
16764,Location16764
|
|
16766,HashedIndexDoNotSupportArrayValues
|
|
16800,Location16800
|
|
16801,Location16801
|
|
16804,Location16804
|
|
16874,Location16874
|
|
16875,Location16875
|
|
16876,Location16876
|
|
16878,Location16878
|
|
16879,Location16879
|
|
16880,Location16880
|
|
16882,Location16882
|
|
16883,Location16883
|
|
16990,Location16990
|
|
16994,Location16994
|
|
17040,Location17040
|
|
17041,Location17041
|
|
17042,Location17042
|
|
17043,Location17043
|
|
17044,Location17044
|
|
17045,Location17045
|
|
17046,Location17046
|
|
17047,Location17047
|
|
17048,Location17048
|
|
17049,Location17049
|
|
17053,Location17053
|
|
17080,DollarCondMissingIfParameter
|
|
17081,DollarCondMissingThenParameter
|
|
17082,DollarCondMissingElseParameter
|
|
17083,DollarCondBadParameter
|
|
17124,DollarSizeRequiresArray
|
|
17194,ExactlyOneTextIndex
|
|
17261,Location17261
|
|
17276,Location17276
|
|
17308,Location17308
|
|
17310,Location17310
|
|
17385,Location17385
|
|
17419,DocumentAfterUpdateLargerThanMaxSize
|
|
17420,DocumentToUpsertLargerThanMaxSize
|
|
18533,Location18533
|
|
18534,Location18534
|
|
18535,Location18535
|
|
18536,Location18536
|
|
18537,Location18537
|
|
18628,Location18628
|
|
18629,Location18629
|
|
28625,Location28625
|
|
28646,Location28646
|
|
28647,Location28647
|
|
28648,Location28648
|
|
28650,Location28650
|
|
28651,Location28651
|
|
28656,Location28656
|
|
28657,Location28657
|
|
28664,Location28664
|
|
28667,RangeArgumentExpressionArgsOutOfRange
|
|
28680,DollarAbsCantTakeLongMinValue
|
|
28689,ArrayOperatorElemAtFirstArgMustBeArray
|
|
28690,DollarArrayElemAtSecondArgArgMustBeNumeric
|
|
28691,DollarArrayElemAtSecondArgArgMustBe32Bit
|
|
28714,DollarSqrtGreaterOrEqualToZero
|
|
28724,DollarSliceInvalidInput
|
|
28725,DollarSliceInvalidTypeSecondArg
|
|
28726,DollarSliceInvalidValueSecondArg
|
|
28727,DollarSliceInvalidTypeThirdArg
|
|
28728,DollarSliceInvalidValueThirdArg
|
|
28729,DollarSliceInvalidSignThirdArg
|
|
28745,Location28745
|
|
28746,Location28746
|
|
28747,Location28747
|
|
28748,Location28748
|
|
28749,Location28749
|
|
28756,DollarLogArgumentMustBeNumeric
|
|
28757,DollarLogBaseMustBeNumeric
|
|
28758,DollarLogNumberMustBePositive
|
|
28759,DollarLogBaseMustBeGreaterThanOne
|
|
28761,DollarLog10MustBePositiveNumber
|
|
28762,DollarPowBaseMustBeNumeric
|
|
28763,DollarPowExponentMustBeNumeric
|
|
28764,DollarPowExponentInvalidForZeroBase
|
|
28765,Location28765
|
|
28766,DollarLnMustBePositiveNumber
|
|
28769,Location28769
|
|
28803,Location28803
|
|
28808,Location28808
|
|
28809,Location28809
|
|
28810,Location28810
|
|
28811,Location28811
|
|
28812,Location28812
|
|
28818,Location28818
|
|
28822,Location28822
|
|
31002,Location31002
|
|
31022,Location31022
|
|
31023,Location31023
|
|
31024,Location31024
|
|
31032,KeyCannotContainNullByte
|
|
31034,Location31034
|
|
31095,Location31095
|
|
31109,Location31109
|
|
31119,Location31119
|
|
31120,Location31120
|
|
31138,Location31138
|
|
31170,Location31170
|
|
31249,Location31249
|
|
31250,Location31250
|
|
31253,Location31253
|
|
31254,Location31254
|
|
31256,Location31256
|
|
31271,Location31271
|
|
31276,Location31276
|
|
31308,Location31308
|
|
31319,Location31319
|
|
31320,Location31320
|
|
31321,Location31321
|
|
31325,Location31325
|
|
31393,Location31393
|
|
31395,Location31395
|
|
31441,Location31441
|
|
31465,Location31465
|
|
34435,Location34435
|
|
34443,Location34443
|
|
34444,Location34444
|
|
34445,Location34445
|
|
34446,Location34446
|
|
34447,Location34447
|
|
34448,Location34448
|
|
34449,Location34449
|
|
34450,Location34450
|
|
34451,Location34451
|
|
34452,Location34452
|
|
34453,Location34453
|
|
34454,Location34454
|
|
34455,Location34455
|
|
34460,Location34460
|
|
34461,Location34461
|
|
34462,Location34462
|
|
34463,Location34463
|
|
34464,Location34464
|
|
34465,Location34465
|
|
34466,Location34466
|
|
34467,Location34467
|
|
34468,Location34468
|
|
34471,Location34471
|
|
34473,Location34473
|
|
40060,DollarSwitchRequiresObject
|
|
40061,DollarSwitchRequiresArrayForBranches
|
|
40062,DollarSwitchRequiresObjectForEachBranch
|
|
40063,DollarSwitchUnknownArgumentForBranch
|
|
40064,DollarSwitchRequiresCaseExpressionForBranch
|
|
40065,DollarSwitchRequiresThenExpressionForBranch
|
|
40066,DollarSwitchNoMatchingBranchAndNoDefault
|
|
40067,DollarSwitchBadArgument
|
|
40068,DollarSwitchRequiresAtLeastOneBranch
|
|
40075,Location40075
|
|
40076,Location40076
|
|
40077,Location40077
|
|
40078,Location40078
|
|
40079,Location40079
|
|
40080,Location40080
|
|
40081,DollarInRequiresArray
|
|
40085,Location40085
|
|
40086,Location40086
|
|
40087,Location40087
|
|
40090,Location40090
|
|
40091,Location40091
|
|
40092,Location40092
|
|
40093,Location40093
|
|
40094,Location40094
|
|
40096,Location40096
|
|
40097,Location40097
|
|
40100,Location40100
|
|
40101,Location40101
|
|
40102,Location40102
|
|
40103,Location40103
|
|
40104,Location40104
|
|
40105,Location40105
|
|
40147,Location40147
|
|
40156,Location40156
|
|
40158,Location40158
|
|
40160,Location40160
|
|
40169,Location40169
|
|
40177,Location40177
|
|
40181,Location40181
|
|
40185,Location40185
|
|
40191,Location40191
|
|
40192,Location40192
|
|
40193,Location40193
|
|
40194,Location40194
|
|
40195,Location40195
|
|
40196,Location40196
|
|
40197,Location40197
|
|
40198,Location40198
|
|
40199,Location40199
|
|
40200,Location40200
|
|
40201,Location40201
|
|
40202,Location40202
|
|
40218,Location40218
|
|
40228,Location40228
|
|
40229,Location40229
|
|
40234,Location40234
|
|
40235,Location40235
|
|
40236,Location40236
|
|
40237,Location40237
|
|
40238,Location40238
|
|
40239,Location40239
|
|
40240,Location40240
|
|
40241,Location40241
|
|
40242,Location40242
|
|
40243,Location40243
|
|
40244,Location40244
|
|
40245,Location40245
|
|
40246,Location40246
|
|
40257,Location40257
|
|
40258,Location40258
|
|
40260,Location40260
|
|
40261,Location40261
|
|
40272,Location40272
|
|
40319,Location40319
|
|
40321,Location40321
|
|
40323,Location40323
|
|
40324,UnrecognizedCommand
|
|
40352,Location40352
|
|
40386,DollarArrayToObjectRequiresArray
|
|
40390,DollarObjectToArrayRequiresObject
|
|
40391,DollarArrayToObjectAllMustBeObjects
|
|
40392,DollarArrayToObjectIncorrectNumberOfKeys
|
|
40393,DollarArrayToObjectRequiresObjectWithKAndV
|
|
40394,DollarArrayToObjectObjectKeyMustBeString
|
|
40395,DollarArrayToObjectArrayKeyMustBeString
|
|
40396,DollarArrayToObjectAllMustBeArrays
|
|
40397,DollarArrayToObjectIncorrectArrayLength
|
|
40398,DollarArrayToObjectBadInputTypeFormat
|
|
40400,DollarMergeObjectsInvalidType
|
|
40414,Location40414
|
|
40415,UnknownBsonField
|
|
40485,Location40485
|
|
40489,Location40489
|
|
40515,Location40515
|
|
40516,Location40516
|
|
40517,Location40517
|
|
40518,Location40518
|
|
40519,Location40519
|
|
40520,Location40520
|
|
40521,Location40521
|
|
40522,Location40522
|
|
40523,Location40523
|
|
40524,Location40524
|
|
40525,Location40525
|
|
40533,Location40533
|
|
40535,Location40535
|
|
40536,Location40536
|
|
40539,Location40539
|
|
40540,Location40540
|
|
40541,Location40541
|
|
40542,Location40542
|
|
40600,Location40600
|
|
40601,Location40601
|
|
40602,Location40602
|
|
40603,Location40603
|
|
40647,ChangeStreamBadResumeToken
|
|
40684,Location40684
|
|
42501,InsufficientPrivilege
|
|
50694,Location50694
|
|
50695,Location50695
|
|
50696,Location50696
|
|
50699,Location50699
|
|
50700,Location50700
|
|
50723,Location50723
|
|
50752,Location50752
|
|
50759,Location50759
|
|
50989,Location50989
|
|
51003,Location51003
|
|
51024,Location51024
|
|
51044,Location51044
|
|
51045,Location51045
|
|
51047,Location51047
|
|
51074,Location51074
|
|
51075,Location51075
|
|
51080,DollarRoundOverflowInt64
|
|
51081,DollarRoundFirstArgMustBeNumeric
|
|
51082,DollarRoundPrecisionMustBeIntegral
|
|
51083,DollarRoundPrecisionOutOfRange
|
|
51091,Location51091
|
|
51103,Location51103
|
|
51104,Location51104
|
|
51105,Location51105
|
|
51106,Location51106
|
|
51107,Location51107
|
|
51108,Location51108
|
|
51109,Location51109
|
|
51110,Location51110
|
|
51111,Location51111
|
|
51132,Location51132
|
|
51134,Location51134
|
|
51151,Location51151
|
|
51156,Location51156
|
|
51178,Location51178
|
|
51183,Location51183
|
|
51185,Location51185
|
|
51186,Location51186
|
|
51187,Location51187
|
|
51191,Location51191
|
|
51246,Location51246
|
|
51247,Location51247
|
|
51276,Location51276
|
|
51743,Location51743
|
|
51744,Location51744
|
|
51745,Location51745
|
|
51746,Location51746
|
|
51747,Location51747
|
|
51748,Location51748
|
|
51749,Location51749
|
|
51750,Location51750
|
|
51751,Location51751
|
|
327391,Location327391
|
|
327392,Location327392
|
|
605001,Location605001
|
|
1257300,DollarIfNullRequiresAtLeastTwoArgs
|
|
2942500,Location2942500
|
|
2942501,Location2942501
|
|
2942502,Location2942502
|
|
2942503,Location2942503
|
|
2942504,Location2942504
|
|
2942505,Location2942505
|
|
2942506,Location2942506
|
|
3040501,DollarRandNonEmptyArgument
|
|
3041701,Location3041701
|
|
3041702,Location3041702
|
|
3041703,Location3041703
|
|
3041704,Location3041704
|
|
4031700,IntermediateResultTooLarge
|
|
4161100,DollarSetFieldRequiresObject
|
|
4161101,DollarSetFieldUnknownArgument
|
|
4161102,Location4161102
|
|
4161103,Location4161103
|
|
4161104,Location4161104
|
|
4161105,Location4161105
|
|
4161106,Location4161106
|
|
4161107,Location4161107
|
|
4161108,Location4161108
|
|
4161109,Location4161109
|
|
4341107,Location4341107
|
|
4890500,Location4890500
|
|
4940400,Location4940400
|
|
4940401,Location4940401
|
|
5107200,Location5107200
|
|
5107201,Location5107201
|
|
5166301,Location5166301
|
|
5166302,Location5166302
|
|
5166303,Location5166303
|
|
5166304,Location5166304
|
|
5166305,Location5166305
|
|
5166307,Location5166307
|
|
5166400,Location5166400
|
|
5166401,Location5166401
|
|
5166402,Location5166402
|
|
5166403,Location5166403
|
|
5166404,Location5166404
|
|
5166405,Location5166405
|
|
5166406,Location5166406
|
|
5339900,Location5339900
|
|
5339901,Location5339901
|
|
5339902,Location5339902
|
|
5371601,Location5371601
|
|
5371602,Location5371602
|
|
5371603,Location5371603
|
|
5423900,Location5423900
|
|
5423901,Location5423901
|
|
5423902,Location5423902
|
|
5429413,Location5429413
|
|
5429414,Location5429414
|
|
5429513,Location5429513
|
|
5439007,Location5439007
|
|
5439008,Location5439008
|
|
5439009,Location5439009
|
|
5439010,Location5439010
|
|
5439012,Location5439012
|
|
5439013,Location5439013
|
|
5439014,Location5439014
|
|
5439015,Location5439015
|
|
5439016,Location5439016
|
|
5439017,Location5439017
|
|
5439018,Location5439018
|
|
5490710,Location5490710
|
|
5624900,Location5624900
|
|
5624901,Location5624901
|
|
5626500,Location5626500
|
|
5654600,Location5654600
|
|
5654601,Location5654601
|
|
5654602,Location5654602
|
|
5687301,Location5687301
|
|
5687302,Location5687302
|
|
5687400,Location5687400
|
|
5687401,Location5687401
|
|
5733201,Location5733201
|
|
5733401,Location5733401
|
|
5733402,Location5733402
|
|
5733403,Location5733403
|
|
5733406,Location5733406
|
|
5733408,Location5733408
|
|
5733409,Location5733409
|
|
5746102,Location5746102
|
|
5787801,Location5787801
|
|
5787900,Location5787900
|
|
5787901,Location5787901
|
|
5787902,Location5787902
|
|
5787903,Location5787903
|
|
5787906,Location5787906
|
|
5787907,Location5787907
|
|
5787908,Location5787908
|
|
5788001,Location5788001
|
|
5788002,Location5788002
|
|
5788003,Location5788003
|
|
5788004,Location5788004
|
|
5788005,Location5788005
|
|
5788200,Location5788200
|
|
5788604,Location5788604
|
|
5858203,Location5858203
|
|
5860402,Location5860402
|
|
5876900,Location5876900
|
|
5897900,Location5897900
|
|
5946802,Location5946802
|
|
5976500,Location5976500
|
|
6007200,Location6007200
|
|
6045000,Location6045000
|
|
6050106,Location6050106
|
|
6050202,Location6050202
|
|
6050204,Location6050204
|
|
6053600,Location6053600
|
|
6586400,Location6586400
|
|
7429703,Location7429703
|
|
7436100,Location7436100
|
|
7555701,Location7555701
|
|
7555702,Location7555702
|
|
7749501,Location7749501
|
|
7750301,Location7750301
|
|
7750302,Location7750302
|
|
7750303,Location7750303
|
|
8993000,Location8993000 |