mongoerrors

package
v1.24.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package mongoerrors provides MongoDB-compatible error types and codes.

Index

Constants

View Source
const (
	ErrUnset                                       = Code(0)       // Unset
	ErrInternalError                               = Code(1)       // InternalError
	ErrBadValue                                    = Code(2)       // BadValue
	ErrGraphContainsCycle                          = Code(5)       // GraphContainsCycle
	ErrFailedToParse                               = Code(9)       // FailedToParse
	ErrUserNotFound                                = Code(11)      // UserNotFound
	ErrUnsupportedFormat                           = Code(12)      // UnsupportedFormat
	ErrUnauthorized                                = Code(13)      // Unauthorized
	ErrTypeMismatch                                = Code(14)      // TypeMismatch
	ErrOverflow                                    = Code(15)      // Overflow
	ErrInvalidLength                               = Code(16)      // InvalidLength
	ErrProtocolError                               = Code(17)      // ProtocolError
	ErrAuthenticationFailed                        = Code(18)      // AuthenticationFailed
	ErrIllegalOperation                            = Code(20)      // IllegalOperation
	ErrAlreadyInitialized                          = Code(23)      // AlreadyInitialized
	ErrNamespaceNotFound                           = Code(26)      // NamespaceNotFound
	ErrIndexNotFound                               = Code(27)      // IndexNotFound
	ErrPathNotViable                               = Code(28)      // PathNotViable
	ErrRoleNotFound                                = Code(31)      // RoleNotFound
	ErrCannotBackfillArray                         = Code(34)      // CannotBackfillArray
	ErrConflictingUpdateOperators                  = Code(40)      // ConflictingUpdateOperators
	ErrCursorNotFound                              = Code(43)      // CursorNotFound
	ErrNamespaceExists                             = Code(48)      // NamespaceExists
	ErrMaxTimeMSExpired                            = Code(50)      // MaxTimeMSExpired
	ErrDollarPrefixedFieldName                     = Code(52)      // DollarPrefixedFieldName
	ErrCanNotBeTypeArray                           = Code(53)      // CanNotBeTypeArray
	ErrNotSingleValueField                         = Code(54)      // NotSingleValueField
	ErrLocation55                                  = Code(55)      // Location55
	ErrEmptyFieldName                              = Code(56)      // EmptyFieldName
	ErrDottedFieldName                             = Code(57)      // DottedFieldName
	ErrCommandNotFound                             = Code(59)      // CommandNotFound
	ErrShardKeyNotFound                            = Code(61)      // ShardKeyNotFound
	ErrImmutableField                              = Code(66)      // ImmutableField
	ErrCannotCreateIndex                           = Code(67)      // CannotCreateIndex
	ErrIndexAlreadyExists                          = Code(68)      // IndexAlreadyExists
	ErrInvalidOptions                              = Code(72)      // InvalidOptions
	ErrInvalidNamespace                            = Code(73)      // InvalidNamespace
	ErrIndexOptionsConflict                        = Code(85)      // IndexOptionsConflict
	ErrIndexKeySpecsConflict                       = Code(86)      // IndexKeySpecsConflict
	ErrOperationFailed                             = Code(96)      // OperationFailed
	ErrNotExactValueField                          = Code(111)     // NotExactValueField
	ErrCommandNotSupported                         = Code(115)     // CommandNotSupported
	ErrNamespaceNotSharded                         = Code(118)     // NamespaceNotSharded
	ErrDocumentFailedValidation                    = Code(121)     // DocumentFailedValidation
	ErrCursorInUse                                 = Code(143)     // CursorInUse
	ErrExceededMemoryLimit                         = Code(146)     // ExceededMemoryLimit
	ErrDurationOverflow                            = Code(159)     // DurationOverflow
	ErrViewDepthLimitExceeded                      = Code(165)     // ViewDepthLimitExceeded
	ErrCommandNotSupportedOnView                   = Code(166)     // CommandNotSupportedOnView
	ErrOptionNotSupportedOnView                    = Code(167)     // OptionNotSupportedOnView
	ErrAmbiguousIndexKeyPattern                    = Code(181)     // AmbiguousIndexKeyPattern
	ErrClientMetadataCannotBeMutated               = Code(186)     // ClientMetadataCannotBeMutated
	ErrInvalidIndexSpecificationOption             = Code(197)     // InvalidIndexSpecificationOption
	ErrInvalidUUID                                 = Code(207)     // InvalidUUID
	ErrQueryFeatureNotAllowed                      = Code(224)     // QueryFeatureNotAllowed
	ErrMaxSubPipelineDepthExceeded                 = Code(232)     // MaxSubPipelineDepthExceeded
	ErrNotImplemented                              = Code(238)     // NotImplemented
	ErrConversionFailure                           = Code(241)     // ConversionFailure
	ErrOperationNotSupportedInTransaction          = Code(263)     // OperationNotSupportedInTransaction
	ErrIndexBuildAborted                           = Code(276)     // IndexBuildAborted
	ErrUnableToFindIndex                           = Code(291)     // UnableToFindIndex
	ErrMechanismUnavailable                        = Code(334)     // MechanismUnavailable
	ErrUnsupportedOpQueryCommand                   = Code(352)     // UnsupportedOpQueryCommand
	ErrCollectionUUIDMismatch                      = Code(361)     // CollectionUUIDMismatch
	ErrUserCountLimitExceeded                      = Code(8000)    // UserCountLimitExceeded
	ErrLocation10065                               = Code(10065)   // Location10065
	ErrNotWritablePrimary                          = Code(10107)   // NotWritablePrimary
	ErrBsonObjectTooLarge                          = Code(10334)   // BsonObjectTooLarge
	ErrDuplicateKey                                = Code(11000)   // DuplicateKey
	ErrBackgroundOperationInProgressForNamespace   = Code(12587)   // BackgroundOperationInProgressForNamespace
	ErrLocation13026                               = Code(13026)   // Location13026
	ErrLocation13027                               = Code(13027)   // Location13027
	ErrLocation13068                               = Code(13068)   // Location13068
	ErrLocation13103                               = Code(13103)   // Location13103
	ErrLocation13111                               = Code(13111)   // Location13111
	ErrMergeStageNoMatchingDocument                = Code(13113)   // MergeStageNoMatchingDocument
	ErrDbAlreadyExists                             = Code(13297)   // DbAlreadyExists
	ErrLocation13548                               = Code(13548)   // Location13548
	ErrLocation15947                               = Code(15947)   // Location15947
	ErrLocation15952                               = Code(15952)   // Location15952
	ErrLocation15955                               = Code(15955)   // Location15955
	ErrLocation15957                               = Code(15957)   // Location15957
	ErrLocation15958                               = Code(15958)   // Location15958
	ErrLocation15959                               = Code(15959)   // Location15959
	ErrLocation15972                               = Code(15972)   // Location15972
	ErrLocation15976                               = Code(15976)   // Location15976
	ErrLocation15981                               = Code(15981)   // Location15981
	ErrLocation15998                               = Code(15998)   // Location15998
	ErrLocation16004                               = Code(16004)   // Location16004
	ErrLocation16006                               = Code(16006)   // Location16006
	ErrLocation16007                               = Code(16007)   // Location16007
	ErrLocation16020                               = Code(16020)   // Location16020
	ErrLocation16034                               = Code(16034)   // Location16034
	ErrLocation16035                               = Code(16035)   // Location16035
	ErrLocation16410                               = Code(16410)   // Location16410
	ErrLocation16411                               = Code(16411)   // Location16411
	ErrLocation16433                               = Code(16433)   // Location16433
	ErrDollarAddNumericOrDateTypes                 = Code(16554)   // DollarAddNumericOrDateTypes
	ErrDollarModByZeroProhibited                   = Code(16610)   // DollarModByZeroProhibited
	ErrDollarModOnlyNumeric                        = Code(16611)   // DollarModOnlyNumeric
	ErrDollarAddOnlyOneDate                        = Code(16612)   // DollarAddOnlyOneDate
	ErrLocation16702                               = Code(16702)   // Location16702
	ErrLocation16747                               = Code(16747)   // Location16747
	ErrLocation16748                               = Code(16748)   // Location16748
	ErrLocation16749                               = Code(16749)   // Location16749
	ErrLocation16755                               = Code(16755)   // Location16755
	ErrLocation16764                               = Code(16764)   // Location16764
	ErrHashedIndexDoNotSupportArrayValues          = Code(16766)   // HashedIndexDoNotSupportArrayValues
	ErrLocation16800                               = Code(16800)   // Location16800
	ErrLocation16801                               = Code(16801)   // Location16801
	ErrLocation16804                               = Code(16804)   // Location16804
	ErrLocation16874                               = Code(16874)   // Location16874
	ErrLocation16875                               = Code(16875)   // Location16875
	ErrLocation16876                               = Code(16876)   // Location16876
	ErrLocation16878                               = Code(16878)   // Location16878
	ErrLocation16879                               = Code(16879)   // Location16879
	ErrLocation16880                               = Code(16880)   // Location16880
	ErrLocation16882                               = Code(16882)   // Location16882
	ErrLocation16883                               = Code(16883)   // Location16883
	ErrLocation16979                               = Code(16979)   // Location16979
	ErrLocation16990                               = Code(16990)   // Location16990
	ErrLocation16994                               = Code(16994)   // Location16994
	ErrLocation17040                               = Code(17040)   // Location17040
	ErrLocation17041                               = Code(17041)   // Location17041
	ErrLocation17042                               = Code(17042)   // Location17042
	ErrLocation17043                               = Code(17043)   // Location17043
	ErrLocation17044                               = Code(17044)   // Location17044
	ErrLocation17045                               = Code(17045)   // Location17045
	ErrLocation17046                               = Code(17046)   // Location17046
	ErrLocation17047                               = Code(17047)   // Location17047
	ErrLocation17048                               = Code(17048)   // Location17048
	ErrLocation17049                               = Code(17049)   // Location17049
	ErrLocation17053                               = Code(17053)   // Location17053
	ErrDollarCondMissingIfParameter                = Code(17080)   // DollarCondMissingIfParameter
	ErrDollarCondMissingThenParameter              = Code(17081)   // DollarCondMissingThenParameter
	ErrDollarCondMissingElseParameter              = Code(17082)   // DollarCondMissingElseParameter
	ErrDollarCondBadParameter                      = Code(17083)   // DollarCondBadParameter
	ErrDollarSizeRequiresArray                     = Code(17124)   // DollarSizeRequiresArray
	ErrExactlyOneTextIndex                         = Code(17194)   // ExactlyOneTextIndex
	ErrLocation17261                               = Code(17261)   // Location17261
	ErrLocation17276                               = Code(17276)   // Location17276
	ErrLocation17308                               = Code(17308)   // Location17308
	ErrLocation17310                               = Code(17310)   // Location17310
	ErrLocation17385                               = Code(17385)   // Location17385
	ErrDocumentAfterUpdateLargerThanMaxSize        = Code(17419)   // DocumentAfterUpdateLargerThanMaxSize
	ErrDocumentToUpsertLargerThanMaxSize           = Code(17420)   // DocumentToUpsertLargerThanMaxSize
	ErrLocation18533                               = Code(18533)   // Location18533
	ErrLocation18534                               = Code(18534)   // Location18534
	ErrLocation18535                               = Code(18535)   // Location18535
	ErrLocation18536                               = Code(18536)   // Location18536
	ErrLocation18537                               = Code(18537)   // Location18537
	ErrLocation18628                               = Code(18628)   // Location18628
	ErrLocation18629                               = Code(18629)   // Location18629
	ErrLocation28625                               = Code(28625)   // Location28625
	ErrLocation28646                               = Code(28646)   // Location28646
	ErrLocation28647                               = Code(28647)   // Location28647
	ErrLocation28648                               = Code(28648)   // Location28648
	ErrLocation28650                               = Code(28650)   // Location28650
	ErrLocation28651                               = Code(28651)   // Location28651
	ErrLocation28656                               = Code(28656)   // Location28656
	ErrLocation28657                               = Code(28657)   // Location28657
	ErrLocation28664                               = Code(28664)   // Location28664
	ErrRangeArgumentExpressionArgsOutOfRange       = Code(28667)   // RangeArgumentExpressionArgsOutOfRange
	ErrDollarAbsCantTakeLongMinValue               = Code(28680)   // DollarAbsCantTakeLongMinValue
	ErrArrayOperatorElemAtFirstArgMustBeArray      = Code(28689)   // ArrayOperatorElemAtFirstArgMustBeArray
	ErrDollarArrayElemAtSecondArgArgMustBeNumeric  = Code(28690)   // DollarArrayElemAtSecondArgArgMustBeNumeric
	ErrDollarArrayElemAtSecondArgArgMustBe32Bit    = Code(28691)   // DollarArrayElemAtSecondArgArgMustBe32Bit
	ErrDollarSqrtGreaterOrEqualToZero              = Code(28714)   // DollarSqrtGreaterOrEqualToZero
	ErrDollarSliceInvalidInput                     = Code(28724)   // DollarSliceInvalidInput
	ErrDollarSliceInvalidTypeSecondArg             = Code(28725)   // DollarSliceInvalidTypeSecondArg
	ErrDollarSliceInvalidValueSecondArg            = Code(28726)   // DollarSliceInvalidValueSecondArg
	ErrDollarSliceInvalidTypeThirdArg              = Code(28727)   // DollarSliceInvalidTypeThirdArg
	ErrDollarSliceInvalidValueThirdArg             = Code(28728)   // DollarSliceInvalidValueThirdArg
	ErrDollarSliceInvalidSignThirdArg              = Code(28729)   // DollarSliceInvalidSignThirdArg
	ErrLocation28745                               = Code(28745)   // Location28745
	ErrLocation28746                               = Code(28746)   // Location28746
	ErrLocation28747                               = Code(28747)   // Location28747
	ErrLocation28748                               = Code(28748)   // Location28748
	ErrLocation28749                               = Code(28749)   // Location28749
	ErrDollarLogArgumentMustBeNumeric              = Code(28756)   // DollarLogArgumentMustBeNumeric
	ErrDollarLogBaseMustBeNumeric                  = Code(28757)   // DollarLogBaseMustBeNumeric
	ErrDollarLogNumberMustBePositive               = Code(28758)   // DollarLogNumberMustBePositive
	ErrDollarLogBaseMustBeGreaterThanOne           = Code(28759)   // DollarLogBaseMustBeGreaterThanOne
	ErrDollarLog10MustBePositiveNumber             = Code(28761)   // DollarLog10MustBePositiveNumber
	ErrDollarPowBaseMustBeNumeric                  = Code(28762)   // DollarPowBaseMustBeNumeric
	ErrDollarPowExponentMustBeNumeric              = Code(28763)   // DollarPowExponentMustBeNumeric
	ErrDollarPowExponentInvalidForZeroBase         = Code(28764)   // DollarPowExponentInvalidForZeroBase
	ErrLocation28765                               = Code(28765)   // Location28765
	ErrDollarLnMustBePositiveNumber                = Code(28766)   // DollarLnMustBePositiveNumber
	ErrLocation28769                               = Code(28769)   // Location28769
	ErrLocation28803                               = Code(28803)   // Location28803
	ErrLocation28808                               = Code(28808)   // Location28808
	ErrLocation28809                               = Code(28809)   // Location28809
	ErrLocation28810                               = Code(28810)   // Location28810
	ErrLocation28811                               = Code(28811)   // Location28811
	ErrLocation28812                               = Code(28812)   // Location28812
	ErrLocation28818                               = Code(28818)   // Location28818
	ErrLocation28822                               = Code(28822)   // Location28822
	ErrLocation31002                               = Code(31002)   // Location31002
	ErrLocation31022                               = Code(31022)   // Location31022
	ErrLocation31023                               = Code(31023)   // Location31023
	ErrLocation31024                               = Code(31024)   // Location31024
	ErrKeyCannotContainNullByte                    = Code(31032)   // KeyCannotContainNullByte
	ErrLocation31034                               = Code(31034)   // Location31034
	ErrLocation31095                               = Code(31095)   // Location31095
	ErrLocation31109                               = Code(31109)   // Location31109
	ErrLocation31119                               = Code(31119)   // Location31119
	ErrLocation31120                               = Code(31120)   // Location31120
	ErrLocation31138                               = Code(31138)   // Location31138
	ErrLocation31170                               = Code(31170)   // Location31170
	ErrLocation31249                               = Code(31249)   // Location31249
	ErrLocation31250                               = Code(31250)   // Location31250
	ErrLocation31253                               = Code(31253)   // Location31253
	ErrLocation31254                               = Code(31254)   // Location31254
	ErrLocation31256                               = Code(31256)   // Location31256
	ErrLocation31271                               = Code(31271)   // Location31271
	ErrLocation31276                               = Code(31276)   // Location31276
	ErrLocation31308                               = Code(31308)   // Location31308
	ErrLocation31319                               = Code(31319)   // Location31319
	ErrLocation31320                               = Code(31320)   // Location31320
	ErrLocation31321                               = Code(31321)   // Location31321
	ErrLocation31325                               = Code(31325)   // Location31325
	ErrLocation31393                               = Code(31393)   // Location31393
	ErrLocation31395                               = Code(31395)   // Location31395
	ErrLocation31441                               = Code(31441)   // Location31441
	ErrLocation31465                               = Code(31465)   // Location31465
	ErrLocation34435                               = Code(34435)   // Location34435
	ErrLocation34443                               = Code(34443)   // Location34443
	ErrLocation34444                               = Code(34444)   // Location34444
	ErrLocation34445                               = Code(34445)   // Location34445
	ErrLocation34446                               = Code(34446)   // Location34446
	ErrLocation34447                               = Code(34447)   // Location34447
	ErrLocation34448                               = Code(34448)   // Location34448
	ErrLocation34449                               = Code(34449)   // Location34449
	ErrLocation34450                               = Code(34450)   // Location34450
	ErrLocation34451                               = Code(34451)   // Location34451
	ErrLocation34452                               = Code(34452)   // Location34452
	ErrLocation34453                               = Code(34453)   // Location34453
	ErrLocation34454                               = Code(34454)   // Location34454
	ErrLocation34455                               = Code(34455)   // Location34455
	ErrLocation34460                               = Code(34460)   // Location34460
	ErrLocation34461                               = Code(34461)   // Location34461
	ErrLocation34462                               = Code(34462)   // Location34462
	ErrLocation34463                               = Code(34463)   // Location34463
	ErrLocation34464                               = Code(34464)   // Location34464
	ErrLocation34465                               = Code(34465)   // Location34465
	ErrLocation34466                               = Code(34466)   // Location34466
	ErrLocation34467                               = Code(34467)   // Location34467
	ErrLocation34468                               = Code(34468)   // Location34468
	ErrLocation34471                               = Code(34471)   // Location34471
	ErrLocation34473                               = Code(34473)   // Location34473
	ErrDollarSwitchRequiresObject                  = Code(40060)   // DollarSwitchRequiresObject
	ErrDollarSwitchRequiresArrayForBranches        = Code(40061)   // DollarSwitchRequiresArrayForBranches
	ErrDollarSwitchRequiresObjectForEachBranch     = Code(40062)   // DollarSwitchRequiresObjectForEachBranch
	ErrDollarSwitchUnknownArgumentForBranch        = Code(40063)   // DollarSwitchUnknownArgumentForBranch
	ErrDollarSwitchRequiresCaseExpressionForBranch = Code(40064)   // DollarSwitchRequiresCaseExpressionForBranch
	ErrDollarSwitchRequiresThenExpressionForBranch = Code(40065)   // DollarSwitchRequiresThenExpressionForBranch
	ErrDollarSwitchNoMatchingBranchAndNoDefault    = Code(40066)   // DollarSwitchNoMatchingBranchAndNoDefault
	ErrDollarSwitchBadArgument                     = Code(40067)   // DollarSwitchBadArgument
	ErrDollarSwitchRequiresAtLeastOneBranch        = Code(40068)   // DollarSwitchRequiresAtLeastOneBranch
	ErrLocation40075                               = Code(40075)   // Location40075
	ErrLocation40076                               = Code(40076)   // Location40076
	ErrLocation40077                               = Code(40077)   // Location40077
	ErrLocation40078                               = Code(40078)   // Location40078
	ErrLocation40079                               = Code(40079)   // Location40079
	ErrLocation40080                               = Code(40080)   // Location40080
	ErrDollarInRequiresArray                       = Code(40081)   // DollarInRequiresArray
	ErrLocation40085                               = Code(40085)   // Location40085
	ErrLocation40086                               = Code(40086)   // Location40086
	ErrLocation40087                               = Code(40087)   // Location40087
	ErrLocation40090                               = Code(40090)   // Location40090
	ErrLocation40091                               = Code(40091)   // Location40091
	ErrLocation40092                               = Code(40092)   // Location40092
	ErrLocation40093                               = Code(40093)   // Location40093
	ErrLocation40094                               = Code(40094)   // Location40094
	ErrLocation40096                               = Code(40096)   // Location40096
	ErrLocation40097                               = Code(40097)   // Location40097
	ErrLocation40100                               = Code(40100)   // Location40100
	ErrLocation40101                               = Code(40101)   // Location40101
	ErrLocation40102                               = Code(40102)   // Location40102
	ErrLocation40103                               = Code(40103)   // Location40103
	ErrLocation40104                               = Code(40104)   // Location40104
	ErrLocation40105                               = Code(40105)   // Location40105
	ErrLocation40147                               = Code(40147)   // Location40147
	ErrLocation40156                               = Code(40156)   // Location40156
	ErrLocation40158                               = Code(40158)   // Location40158
	ErrLocation40160                               = Code(40160)   // Location40160
	ErrLocation40169                               = Code(40169)   // Location40169
	ErrLocation40177                               = Code(40177)   // Location40177
	ErrLocation40181                               = Code(40181)   // Location40181
	ErrLocation40185                               = Code(40185)   // Location40185
	ErrLocation40191                               = Code(40191)   // Location40191
	ErrLocation40192                               = Code(40192)   // Location40192
	ErrLocation40193                               = Code(40193)   // Location40193
	ErrLocation40194                               = Code(40194)   // Location40194
	ErrLocation40195                               = Code(40195)   // Location40195
	ErrLocation40196                               = Code(40196)   // Location40196
	ErrLocation40197                               = Code(40197)   // Location40197
	ErrLocation40198                               = Code(40198)   // Location40198
	ErrLocation40199                               = Code(40199)   // Location40199
	ErrLocation40200                               = Code(40200)   // Location40200
	ErrLocation40201                               = Code(40201)   // Location40201
	ErrLocation40202                               = Code(40202)   // Location40202
	ErrLocation40218                               = Code(40218)   // Location40218
	ErrLocation40228                               = Code(40228)   // Location40228
	ErrLocation40229                               = Code(40229)   // Location40229
	ErrLocation40234                               = Code(40234)   // Location40234
	ErrLocation40235                               = Code(40235)   // Location40235
	ErrLocation40236                               = Code(40236)   // Location40236
	ErrLocation40237                               = Code(40237)   // Location40237
	ErrLocation40238                               = Code(40238)   // Location40238
	ErrLocation40239                               = Code(40239)   // Location40239
	ErrLocation40240                               = Code(40240)   // Location40240
	ErrLocation40241                               = Code(40241)   // Location40241
	ErrLocation40242                               = Code(40242)   // Location40242
	ErrLocation40243                               = Code(40243)   // Location40243
	ErrLocation40244                               = Code(40244)   // Location40244
	ErrLocation40245                               = Code(40245)   // Location40245
	ErrLocation40246                               = Code(40246)   // Location40246
	ErrLocation40257                               = Code(40257)   // Location40257
	ErrLocation40258                               = Code(40258)   // Location40258
	ErrLocation40260                               = Code(40260)   // Location40260
	ErrLocation40261                               = Code(40261)   // Location40261
	ErrLocation40272                               = Code(40272)   // Location40272
	ErrLocation40319                               = Code(40319)   // Location40319
	ErrLocation40321                               = Code(40321)   // Location40321
	ErrLocation40323                               = Code(40323)   // Location40323
	ErrUnrecognizedCommand                         = Code(40324)   // UnrecognizedCommand
	ErrLocation40352                               = Code(40352)   // Location40352
	ErrDollarArrayToObjectRequiresArray            = Code(40386)   // DollarArrayToObjectRequiresArray
	ErrDollarObjectToArrayRequiresObject           = Code(40390)   // DollarObjectToArrayRequiresObject
	ErrDollarArrayToObjectAllMustBeObjects         = Code(40391)   // DollarArrayToObjectAllMustBeObjects
	ErrDollarArrayToObjectIncorrectNumberOfKeys    = Code(40392)   // DollarArrayToObjectIncorrectNumberOfKeys
	ErrDollarArrayToObjectRequiresObjectWithKAndV  = Code(40393)   // DollarArrayToObjectRequiresObjectWithKAndV
	ErrDollarArrayToObjectObjectKeyMustBeString    = Code(40394)   // DollarArrayToObjectObjectKeyMustBeString
	ErrDollarArrayToObjectArrayKeyMustBeString     = Code(40395)   // DollarArrayToObjectArrayKeyMustBeString
	ErrDollarArrayToObjectAllMustBeArrays          = Code(40396)   // DollarArrayToObjectAllMustBeArrays
	ErrDollarArrayToObjectIncorrectArrayLength     = Code(40397)   // DollarArrayToObjectIncorrectArrayLength
	ErrDollarArrayToObjectBadInputTypeFormat       = Code(40398)   // DollarArrayToObjectBadInputTypeFormat
	ErrDollarMergeObjectsInvalidType               = Code(40400)   // DollarMergeObjectsInvalidType
	ErrLocation40414                               = Code(40414)   // Location40414
	ErrUnknownBsonField                            = Code(40415)   // UnknownBsonField
	ErrLocation40485                               = Code(40485)   // Location40485
	ErrLocation40489                               = Code(40489)   // Location40489
	ErrLocation40515                               = Code(40515)   // Location40515
	ErrLocation40516                               = Code(40516)   // Location40516
	ErrLocation40517                               = Code(40517)   // Location40517
	ErrLocation40518                               = Code(40518)   // Location40518
	ErrLocation40519                               = Code(40519)   // Location40519
	ErrLocation40520                               = Code(40520)   // Location40520
	ErrLocation40521                               = Code(40521)   // Location40521
	ErrLocation40522                               = Code(40522)   // Location40522
	ErrLocation40523                               = Code(40523)   // Location40523
	ErrLocation40524                               = Code(40524)   // Location40524
	ErrLocation40525                               = Code(40525)   // Location40525
	ErrLocation40533                               = Code(40533)   // Location40533
	ErrLocation40535                               = Code(40535)   // Location40535
	ErrLocation40536                               = Code(40536)   // Location40536
	ErrLocation40539                               = Code(40539)   // Location40539
	ErrLocation40540                               = Code(40540)   // Location40540
	ErrLocation40541                               = Code(40541)   // Location40541
	ErrLocation40542                               = Code(40542)   // Location40542
	ErrLocation40600                               = Code(40600)   // Location40600
	ErrLocation40601                               = Code(40601)   // Location40601
	ErrLocation40602                               = Code(40602)   // Location40602
	ErrLocation40603                               = Code(40603)   // Location40603
	ErrLocation40621                               = Code(40621)   // Location40621
	ErrChangeStreamBadResumeToken                  = Code(40647)   // ChangeStreamBadResumeToken
	ErrLocation40684                               = Code(40684)   // Location40684
	ErrInsufficientPrivilege                       = Code(42501)   // InsufficientPrivilege
	ErrLocation50687                               = Code(50687)   // Location50687
	ErrLocation50692                               = Code(50692)   // Location50692
	ErrLocation50694                               = Code(50694)   // Location50694
	ErrLocation50695                               = Code(50695)   // Location50695
	ErrLocation50696                               = Code(50696)   // Location50696
	ErrLocation50699                               = Code(50699)   // Location50699
	ErrLocation50700                               = Code(50700)   // Location50700
	ErrLocation50723                               = Code(50723)   // Location50723
	ErrLocation50752                               = Code(50752)   // Location50752
	ErrLocation50759                               = Code(50759)   // Location50759
	ErrLocation50840                               = Code(50840)   // Location50840
	ErrLocation50989                               = Code(50989)   // Location50989
	ErrLocation51003                               = Code(51003)   // Location51003
	ErrLocation51024                               = Code(51024)   // Location51024
	ErrLocation51044                               = Code(51044)   // Location51044
	ErrLocation51045                               = Code(51045)   // Location51045
	ErrLocation51047                               = Code(51047)   // Location51047
	ErrLocation51074                               = Code(51074)   // Location51074
	ErrLocation51075                               = Code(51075)   // Location51075
	ErrDollarRoundOverflowInt64                    = Code(51080)   // DollarRoundOverflowInt64
	ErrDollarRoundFirstArgMustBeNumeric            = Code(51081)   // DollarRoundFirstArgMustBeNumeric
	ErrDollarRoundPrecisionMustBeIntegral          = Code(51082)   // DollarRoundPrecisionMustBeIntegral
	ErrDollarRoundPrecisionOutOfRange              = Code(51083)   // DollarRoundPrecisionOutOfRange
	ErrLocation51091                               = Code(51091)   // Location51091
	ErrLocation51103                               = Code(51103)   // Location51103
	ErrLocation51104                               = Code(51104)   // Location51104
	ErrLocation51105                               = Code(51105)   // Location51105
	ErrLocation51106                               = Code(51106)   // Location51106
	ErrLocation51107                               = Code(51107)   // Location51107
	ErrLocation51108                               = Code(51108)   // Location51108
	ErrLocation51109                               = Code(51109)   // Location51109
	ErrLocation51110                               = Code(51110)   // Location51110
	ErrLocation51111                               = Code(51111)   // Location51111
	ErrLocation51132                               = Code(51132)   // Location51132
	ErrLocation51134                               = Code(51134)   // Location51134
	ErrLocation51151                               = Code(51151)   // Location51151
	ErrLocation51156                               = Code(51156)   // Location51156
	ErrLocation51178                               = Code(51178)   // Location51178
	ErrLocation51183                               = Code(51183)   // Location51183
	ErrLocation51185                               = Code(51185)   // Location51185
	ErrLocation51186                               = Code(51186)   // Location51186
	ErrLocation51187                               = Code(51187)   // Location51187
	ErrLocation51191                               = Code(51191)   // Location51191
	ErrLocation51246                               = Code(51246)   // Location51246
	ErrLocation51247                               = Code(51247)   // Location51247
	ErrLocation51276                               = Code(51276)   // Location51276
	ErrLocation51743                               = Code(51743)   // Location51743
	ErrLocation51744                               = Code(51744)   // Location51744
	ErrLocation51745                               = Code(51745)   // Location51745
	ErrLocation51746                               = Code(51746)   // Location51746
	ErrLocation51747                               = Code(51747)   // Location51747
	ErrLocation51748                               = Code(51748)   // Location51748
	ErrLocation51749                               = Code(51749)   // Location51749
	ErrLocation51750                               = Code(51750)   // Location51750
	ErrLocation51751                               = Code(51751)   // Location51751
	ErrLocation327391                              = Code(327391)  // Location327391
	ErrLocation327392                              = Code(327392)  // Location327392
	ErrLocation605001                              = Code(605001)  // Location605001
	ErrDollarIfNullRequiresAtLeastTwoArgs          = Code(1257300) // DollarIfNullRequiresAtLeastTwoArgs
	ErrLocation2942500                             = Code(2942500) // Location2942500
	ErrLocation2942501                             = Code(2942501) // Location2942501
	ErrLocation2942502                             = Code(2942502) // Location2942502
	ErrLocation2942503                             = Code(2942503) // Location2942503
	ErrLocation2942504                             = Code(2942504) // Location2942504
	ErrLocation2942505                             = Code(2942505) // Location2942505
	ErrLocation2942506                             = Code(2942506) // Location2942506
	ErrDollarRandNonEmptyArgument                  = Code(3040501) // DollarRandNonEmptyArgument
	ErrLocation3041701                             = Code(3041701) // Location3041701
	ErrLocation3041702                             = Code(3041702) // Location3041702
	ErrLocation3041703                             = Code(3041703) // Location3041703
	ErrLocation3041704                             = Code(3041704) // Location3041704
	ErrIntermediateResultTooLarge                  = Code(4031700) // IntermediateResultTooLarge
	ErrDollarSetFieldRequiresObject                = Code(4161100) // DollarSetFieldRequiresObject
	ErrDollarSetFieldUnknownArgument               = Code(4161101) // DollarSetFieldUnknownArgument
	ErrLocation4161102                             = Code(4161102) // Location4161102
	ErrLocation4161103                             = Code(4161103) // Location4161103
	ErrLocation4161104                             = Code(4161104) // Location4161104
	ErrLocation4161105                             = Code(4161105) // Location4161105
	ErrLocation4161106                             = Code(4161106) // Location4161106
	ErrLocation4161107                             = Code(4161107) // Location4161107
	ErrLocation4161108                             = Code(4161108) // Location4161108
	ErrLocation4161109                             = Code(4161109) // Location4161109
	ErrLocation4341107                             = Code(4341107) // Location4341107
	ErrLocation4890500                             = Code(4890500) // Location4890500
	ErrLocation4940400                             = Code(4940400) // Location4940400
	ErrLocation4940401                             = Code(4940401) // Location4940401
	ErrLocation5107200                             = Code(5107200) // Location5107200
	ErrLocation5107201                             = Code(5107201) // Location5107201
	ErrLocation5166301                             = Code(5166301) // Location5166301
	ErrLocation5166302                             = Code(5166302) // Location5166302
	ErrLocation5166303                             = Code(5166303) // Location5166303
	ErrLocation5166304                             = Code(5166304) // Location5166304
	ErrLocation5166305                             = Code(5166305) // Location5166305
	ErrLocation5166307                             = Code(5166307) // Location5166307
	ErrLocation5166400                             = Code(5166400) // Location5166400
	ErrLocation5166401                             = Code(5166401) // Location5166401
	ErrLocation5166402                             = Code(5166402) // Location5166402
	ErrLocation5166403                             = Code(5166403) // Location5166403
	ErrLocation5166404                             = Code(5166404) // Location5166404
	ErrLocation5166405                             = Code(5166405) // Location5166405
	ErrLocation5166406                             = Code(5166406) // Location5166406
	ErrLocation5339900                             = Code(5339900) // Location5339900
	ErrLocation5339901                             = Code(5339901) // Location5339901
	ErrLocation5339902                             = Code(5339902) // Location5339902
	ErrLocation5371601                             = Code(5371601) // Location5371601
	ErrLocation5371602                             = Code(5371602) // Location5371602
	ErrLocation5371603                             = Code(5371603) // Location5371603
	ErrLocation5423900                             = Code(5423900) // Location5423900
	ErrLocation5423901                             = Code(5423901) // Location5423901
	ErrLocation5423902                             = Code(5423902) // Location5423902
	ErrLocation5429413                             = Code(5429413) // Location5429413
	ErrLocation5429414                             = Code(5429414) // Location5429414
	ErrLocation5429513                             = Code(5429513) // Location5429513
	ErrLocation5439007                             = Code(5439007) // Location5439007
	ErrLocation5439008                             = Code(5439008) // Location5439008
	ErrLocation5439009                             = Code(5439009) // Location5439009
	ErrLocation5439010                             = Code(5439010) // Location5439010
	ErrLocation5439012                             = Code(5439012) // Location5439012
	ErrLocation5439013                             = Code(5439013) // Location5439013
	ErrLocation5439014                             = Code(5439014) // Location5439014
	ErrLocation5439015                             = Code(5439015) // Location5439015
	ErrLocation5439016                             = Code(5439016) // Location5439016
	ErrLocation5439017                             = Code(5439017) // Location5439017
	ErrLocation5439018                             = Code(5439018) // Location5439018
	ErrLocation5490710                             = Code(5490710) // Location5490710
	ErrLocation5624900                             = Code(5624900) // Location5624900
	ErrLocation5624901                             = Code(5624901) // Location5624901
	ErrLocation5626500                             = Code(5626500) // Location5626500
	ErrLocation5654600                             = Code(5654600) // Location5654600
	ErrLocation5654601                             = Code(5654601) // Location5654601
	ErrLocation5654602                             = Code(5654602) // Location5654602
	ErrLocation5687301                             = Code(5687301) // Location5687301
	ErrLocation5687302                             = Code(5687302) // Location5687302
	ErrLocation5687400                             = Code(5687400) // Location5687400
	ErrLocation5687401                             = Code(5687401) // Location5687401
	ErrLocation5733201                             = Code(5733201) // Location5733201
	ErrLocation5733401                             = Code(5733401) // Location5733401
	ErrLocation5733402                             = Code(5733402) // Location5733402
	ErrLocation5733403                             = Code(5733403) // Location5733403
	ErrLocation5733406                             = Code(5733406) // Location5733406
	ErrLocation5733408                             = Code(5733408) // Location5733408
	ErrLocation5733409                             = Code(5733409) // Location5733409
	ErrLocation5739101                             = Code(5739101) // Location5739101
	ErrLocation5746102                             = Code(5746102) // Location5746102
	ErrLocation5787801                             = Code(5787801) // Location5787801
	ErrLocation5787900                             = Code(5787900) // Location5787900
	ErrLocation5787901                             = Code(5787901) // Location5787901
	ErrLocation5787902                             = Code(5787902) // Location5787902
	ErrLocation5787903                             = Code(5787903) // Location5787903
	ErrLocation5787906                             = Code(5787906) // Location5787906
	ErrLocation5787907                             = Code(5787907) // Location5787907
	ErrLocation5787908                             = Code(5787908) // Location5787908
	ErrLocation5788001                             = Code(5788001) // Location5788001
	ErrLocation5788002                             = Code(5788002) // Location5788002
	ErrLocation5788003                             = Code(5788003) // Location5788003
	ErrLocation5788004                             = Code(5788004) // Location5788004
	ErrLocation5788005                             = Code(5788005) // Location5788005
	ErrLocation5788200                             = Code(5788200) // Location5788200
	ErrLocation5788604                             = Code(5788604) // Location5788604
	ErrLocation5858203                             = Code(5858203) // Location5858203
	ErrLocation5860402                             = Code(5860402) // Location5860402
	ErrLocation5876900                             = Code(5876900) // Location5876900
	ErrLocation5897900                             = Code(5897900) // Location5897900
	ErrLocation5946802                             = Code(5946802) // Location5946802
	ErrLocation5976500                             = Code(5976500) // Location5976500
	ErrLocation6007200                             = Code(6007200) // Location6007200
	ErrLocation6045000                             = Code(6045000) // Location6045000
	ErrLocation6050106                             = Code(6050106) // Location6050106
	ErrLocation6050202                             = Code(6050202) // Location6050202
	ErrLocation6050204                             = Code(6050204) // Location6050204
	ErrLocation6053600                             = Code(6053600) // Location6053600
	ErrLocation6586400                             = Code(6586400) // Location6586400
	ErrLocation7429703                             = Code(7429703) // Location7429703
	ErrLocation7436100                             = Code(7436100) // Location7436100
	ErrLocation7555701                             = Code(7555701) // Location7555701
	ErrLocation7555702                             = Code(7555702) // Location7555702
	ErrLocation7749501                             = Code(7749501) // Location7749501
	ErrLocation7750301                             = Code(7750301) // Location7750301
	ErrLocation7750302                             = Code(7750302) // Location7750302
	ErrLocation7750303                             = Code(7750303) // Location7750303
	ErrLocation8993000                             = Code(8993000) // Location8993000
)

MongoDB error names and codes.

Variables

This section is empty.

Functions

func MapWriteErrors

func MapWriteErrors(ctx context.Context, res wirebson.AnyDocument) wirebson.AnyDocument

MapWriteErrors replaces error codes inside "writeErrors" responses.

The whole function is temporary workaround for: TODO https://github.com/hanzoai/docdb-DocumentDB/issues/895

Types

type Code

type Code int32

Code represents MongoDB error code.

func MapWrappedCode

func MapWrappedCode(code int32) Code

MapWrappedCode maps error code found inside "writeErrors" responses for insert/update/delete operations and inside createIndexes responses.

TODO https://github.com/hanzoai/docdb-DocumentDB/issues/292 TODO https://github.com/hanzoai/docdb-DocumentDB/issues/895

func (Code) String

func (i Code) String() string

type Error

type Error struct {
	// Command's argument name, operator name, or aggregation pipeline stage name that caused an error.
	// Used for metrics and telemetry.
	//
	// It should not be the command name itself (e.g. "create" or "collStats"),
	// except when it is a problem with the collection name (i.e. create's or collStats's value).
	// It also should not be a user-supplied value (e.g. collection name or index name).
	Argument string

	mongo.CommandError
}

Error represents MongoDB command error.

func Make

func Make(ctx context.Context, err error, arg string, l *slog.Logger) *Error

Make converts any error to *Error.

Nil panics (it never should be passed), *Error (possibly wrapped) is returned unwrapped, *pgconn.PgError (possibly wrapped) is converted by mapping error code, any other values are returned as *Error with ErrInternalError code.

It also records error to the current Otel span.

This function performs double duty: it is used to convert errors in documentdb_api, and to map error codes in conn.go. It probably should be split in two. TODO https://github.com/hanzoai/docdb/issues/4965

func New

func New(code Code, msg string) *Error

New creates a new Error.

Existing errors should be converted using Make, not created by this function.

func NewWithArgument

func NewWithArgument(code Code, msg, argument string) *Error

NewWithArgument creates a new Error caused by the given argument.

Existing errors should be converted using Make, not created by this function.

func (*Error) Error

func (e *Error) Error() string

Error implements error interface.

We overload mongo.CommandError's method to ensure that Error is always passed by pointer.

We probably should remove that method and un-embed mongo.CommandError to avoid typed nil error confusion. TODO https://github.com/hanzoai/docdb/issues/4965

func (*Error) GoString

func (e *Error) GoString() string

GoString implements fmt.GoStringer interface.

It exists so %#v fmt verb could correctly print wrapped errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL