From 64bd8caa7494e36e9637dad3b1c5634f04f68a30 Mon Sep 17 00:00:00 2001 From: Alexey Palazhchenko Date: Wed, 13 Mar 2024 17:38:47 +0400 Subject: [PATCH] Rename `bson2` to `bson` (#4179) --- .golangci.yml | 10 +- Taskfile.yml | 4 +- internal/{bson2 => bson}/array.go | 2 +- internal/{bson2/bson2.go => bson/bson.go} | 18 +- .../bson2_test.go => bson/bson_test.go} | 156 +++++++++--------- internal/{bson2 => bson}/decode.go | 2 +- internal/{bson2 => bson}/decodemode_string.go | 2 +- internal/{bson2 => bson}/document.go | 2 +- internal/{bson2 => bson}/encode.go | 2 +- internal/{bson2 => bson}/logging.go | 2 +- internal/{bson2 => bson}/logging_test.go | 40 ++--- internal/{bson2 => bson}/oldbson/array.go | 0 .../{bson2 => bson}/oldbson/array_test.go | 0 internal/{bson2 => bson}/oldbson/binary.go | 0 .../{bson2 => bson}/oldbson/binary_test.go | 0 internal/{bson2 => bson}/oldbson/bool.go | 0 internal/{bson2 => bson}/oldbson/bool_test.go | 0 internal/{bson2 => bson}/oldbson/cstring.go | 0 .../{bson2 => bson}/oldbson/cstring_test.go | 0 internal/{bson2 => bson}/oldbson/datetime.go | 0 .../{bson2 => bson}/oldbson/datetime_test.go | 0 internal/{bson2 => bson}/oldbson/document.go | 0 .../{bson2 => bson}/oldbson/document_test.go | 0 internal/{bson2 => bson}/oldbson/double.go | 0 .../{bson2 => bson}/oldbson/double_test.go | 0 internal/{bson2 => bson}/oldbson/int32.go | 0 .../{bson2 => bson}/oldbson/int32_test.go | 0 internal/{bson2 => bson}/oldbson/int64.go | 0 .../{bson2 => bson}/oldbson/int64_test.go | 0 internal/{bson2 => bson}/oldbson/null.go | 0 internal/{bson2 => bson}/oldbson/object_id.go | 0 .../{bson2 => bson}/oldbson/object_id_test.go | 0 internal/{bson2 => bson}/oldbson/oldbson.go | 0 .../{bson2 => bson}/oldbson/oldbson_test.go | 0 internal/{bson2 => bson}/oldbson/regex.go | 0 .../{bson2 => bson}/oldbson/regex_test.go | 0 internal/{bson2 => bson}/oldbson/string.go | 0 .../{bson2 => bson}/oldbson/string_test.go | 0 internal/{bson2 => bson}/oldbson/tag.go | 0 .../{bson2 => bson}/oldbson/tag_string.go | 0 .../{bson2 => bson}/oldbson/testdata/all.hex | 0 .../oldbson/testdata/array_all.hex | 0 .../oldbson/testdata/array_fuzz1.hex | 0 .../oldbson/testdata/handshake1.hex | 0 .../oldbson/testdata/handshake2.hex | 0 .../oldbson/testdata/handshake3.hex | 0 .../oldbson/testdata/handshake4.hex | 0 internal/{bson2 => bson}/oldbson/timestamp.go | 0 .../{bson2 => bson}/oldbson/timestamp_test.go | 0 internal/{bson2 => bson}/raw_array.go | 2 +- internal/{bson2 => bson}/raw_document.go | 2 +- internal/{bson2 => bson}/size.go | 2 +- internal/{bson2 => bson}/tag.go | 2 +- internal/{bson2 => bson}/tag_string.go | 2 +- internal/{bson2 => bson}/testdata/all.hex | 0 .../{bson2 => bson}/testdata/handshake1.hex | 0 .../{bson2 => bson}/testdata/handshake2.hex | 0 .../{bson2 => bson}/testdata/handshake3.hex | 0 .../{bson2 => bson}/testdata/handshake4.hex | 0 internal/{bson2 => bson}/testdata/nested.hex | 0 internal/util/testutil/dump.go | 12 +- internal/wire/op_msg.go | 50 +++--- internal/wire/op_msg_test.go | 30 ++-- internal/wire/op_query.go | 24 +-- internal/wire/op_reply.go | 12 +- internal/wire/wire_test.go | 8 +- 66 files changed, 193 insertions(+), 193 deletions(-) rename internal/{bson2 => bson}/array.go (99%) rename internal/{bson2/bson2.go => bson/bson.go} (94%) rename internal/{bson2/bson2_test.go => bson/bson_test.go} (88%) rename internal/{bson2 => bson}/decode.go (99%) rename internal/{bson2 => bson}/decodemode_string.go (97%) rename internal/{bson2 => bson}/document.go (99%) rename internal/{bson2 => bson}/encode.go (99%) rename internal/{bson2 => bson}/logging.go (99%) rename internal/{bson2 => bson}/logging_test.go (87%) rename internal/{bson2 => bson}/oldbson/array.go (100%) rename internal/{bson2 => bson}/oldbson/array_test.go (100%) rename internal/{bson2 => bson}/oldbson/binary.go (100%) rename internal/{bson2 => bson}/oldbson/binary_test.go (100%) rename internal/{bson2 => bson}/oldbson/bool.go (100%) rename internal/{bson2 => bson}/oldbson/bool_test.go (100%) rename internal/{bson2 => bson}/oldbson/cstring.go (100%) rename internal/{bson2 => bson}/oldbson/cstring_test.go (100%) rename internal/{bson2 => bson}/oldbson/datetime.go (100%) rename internal/{bson2 => bson}/oldbson/datetime_test.go (100%) rename internal/{bson2 => bson}/oldbson/document.go (100%) rename internal/{bson2 => bson}/oldbson/document_test.go (100%) rename internal/{bson2 => bson}/oldbson/double.go (100%) rename internal/{bson2 => bson}/oldbson/double_test.go (100%) rename internal/{bson2 => bson}/oldbson/int32.go (100%) rename internal/{bson2 => bson}/oldbson/int32_test.go (100%) rename internal/{bson2 => bson}/oldbson/int64.go (100%) rename internal/{bson2 => bson}/oldbson/int64_test.go (100%) rename internal/{bson2 => bson}/oldbson/null.go (100%) rename internal/{bson2 => bson}/oldbson/object_id.go (100%) rename internal/{bson2 => bson}/oldbson/object_id_test.go (100%) rename internal/{bson2 => bson}/oldbson/oldbson.go (100%) rename internal/{bson2 => bson}/oldbson/oldbson_test.go (100%) rename internal/{bson2 => bson}/oldbson/regex.go (100%) rename internal/{bson2 => bson}/oldbson/regex_test.go (100%) rename internal/{bson2 => bson}/oldbson/string.go (100%) rename internal/{bson2 => bson}/oldbson/string_test.go (100%) rename internal/{bson2 => bson}/oldbson/tag.go (100%) rename internal/{bson2 => bson}/oldbson/tag_string.go (100%) rename internal/{bson2 => bson}/oldbson/testdata/all.hex (100%) rename internal/{bson2 => bson}/oldbson/testdata/array_all.hex (100%) rename internal/{bson2 => bson}/oldbson/testdata/array_fuzz1.hex (100%) rename internal/{bson2 => bson}/oldbson/testdata/handshake1.hex (100%) rename internal/{bson2 => bson}/oldbson/testdata/handshake2.hex (100%) rename internal/{bson2 => bson}/oldbson/testdata/handshake3.hex (100%) rename internal/{bson2 => bson}/oldbson/testdata/handshake4.hex (100%) rename internal/{bson2 => bson}/oldbson/timestamp.go (100%) rename internal/{bson2 => bson}/oldbson/timestamp_test.go (100%) rename internal/{bson2 => bson}/raw_array.go (99%) rename internal/{bson2 => bson}/raw_document.go (99%) rename internal/{bson2 => bson}/size.go (99%) rename internal/{bson2 => bson}/tag.go (99%) rename internal/{bson2 => bson}/tag_string.go (98%) rename internal/{bson2 => bson}/testdata/all.hex (100%) rename internal/{bson2 => bson}/testdata/handshake1.hex (100%) rename internal/{bson2 => bson}/testdata/handshake2.hex (100%) rename internal/{bson2 => bson}/testdata/handshake3.hex (100%) rename internal/{bson2 => bson}/testdata/handshake4.hex (100%) rename internal/{bson2 => bson}/testdata/nested.hex (100%) diff --git a/.golangci.yml b/.golangci.yml index da160ae7b3ee..7468b3036976 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -29,21 +29,21 @@ linters-settings: oldbson: files: - $all - - "!**/internal/bson2/bson2_test.go" + - "!**/internal/bson/bson_test.go" deny: - pkg: github.com/FerretDB/FerretDB/internal/bson/oldbson$ - bson2: + bson: files: - $all - - "!**/internal/bson2/*_test.go" + - "!**/internal/bson/*_test.go" - "!**/internal/util/testutil/*.go" - "!**/internal/wire/*.go" deny: - - pkg: github.com/FerretDB/FerretDB/internal/bson2 + - pkg: github.com/FerretDB/FerretDB/internal/bson bsonproto: files: - $all - - "!**/internal/bson2/*.go" + - "!**/internal/bson/*.go" deny: - pkg: github.com/cristalhq/bson - pkg: github.com/cristalhq/bson/bsonproto diff --git a/Taskfile.yml b/Taskfile.yml index c50d557f3306..e8c094f9c854 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -324,7 +324,7 @@ tasks: desc: "Run unit benchmarks" cmds: - go test -list='Benchmark.*' ./... - - go test -count=10 -bench=BenchmarkDocument -benchtime={{.BENCH_TIME}} ./internal/bson2/ | tee -a new.txt + - go test -count=10 -bench=BenchmarkDocument -benchtime={{.BENCH_TIME}} ./internal/bson/ | tee -a new.txt - bin/benchstat{{exeExt}} old.txt new.txt # That's not quite correct: https://github.com/golang/go/issues/15513 @@ -338,7 +338,7 @@ tasks: desc: "Fuzz for about 1 minute (with default FUZZ_TIME)" cmds: - go test -list='Fuzz.*' ./... - - go test -run=XXX -fuzz=FuzzDocument -fuzztime={{.FUZZ_TIME}} ./internal/bson2/ + - go test -run=XXX -fuzz=FuzzDocument -fuzztime={{.FUZZ_TIME}} ./internal/bson/ - go test -run=XXX -fuzz=FuzzMsg -fuzztime={{.FUZZ_TIME}} ./internal/wire/ - go test -run=XXX -fuzz=FuzzQuery -fuzztime={{.FUZZ_TIME}} ./internal/wire/ - go test -run=XXX -fuzz=FuzzReply -fuzztime={{.FUZZ_TIME}} ./internal/wire/ diff --git a/internal/bson2/array.go b/internal/bson/array.go similarity index 99% rename from internal/bson2/array.go rename to internal/bson/array.go index 7fdaf1949ad3..6c86108f7e98 100644 --- a/internal/bson2/array.go +++ b/internal/bson/array.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson import ( "bytes" diff --git a/internal/bson2/bson2.go b/internal/bson/bson.go similarity index 94% rename from internal/bson2/bson2.go rename to internal/bson/bson.go index 8fbfd0166ec3..5c0bf2bd5d5c 100644 --- a/internal/bson2/bson2.go +++ b/internal/bson/bson.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package bson2 implements encoding and decoding of BSON as defined by https://bsonspec.org/spec.html. +// Package bson implements encoding and decoding of BSON as defined by https://bsonspec.org/spec.html. // // # Types // @@ -20,24 +20,24 @@ // // BSON Go // -// Document/Object *bson2.Document or bson2.RawDocument -// Array *bson2.Array or bson2.RawArray +// Document/Object *bson.Document or bson.RawDocument +// Array *bson.Array or bson.RawArray // // Double float64 // String string -// Binary data bson2.Binary -// ObjectId bson2.ObjectID +// Binary data bson.Binary +// ObjectId bson.ObjectID // Boolean bool // Date time.Time -// Null bson2.NullType -// Regular Expression bson2.Regex +// Null bson.NullType +// Regular Expression bson.Regex // 32-bit integer int32 -// Timestamp bson2.Timestamp +// Timestamp bson.Timestamp // 64-bit integer int64 // // Composite types (Document and Array) are passed by pointers. // Raw composite type and scalars are passed by values. -package bson2 +package bson import ( "fmt" diff --git a/internal/bson2/bson2_test.go b/internal/bson/bson_test.go similarity index 88% rename from internal/bson2/bson2_test.go rename to internal/bson/bson_test.go index ed73d6f7efa4..e628ef40c1fc 100644 --- a/internal/bson2/bson2_test.go +++ b/internal/bson/bson_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2_test // to avoid import cycle +package bson_test // to avoid import cycle import ( "bufio" @@ -24,8 +24,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/FerretDB/FerretDB/internal/bson2" - "github.com/FerretDB/FerretDB/internal/bson2/oldbson" + "github.com/FerretDB/FerretDB/internal/bson" + "github.com/FerretDB/FerretDB/internal/bson/oldbson" "github.com/FerretDB/FerretDB/internal/types" "github.com/FerretDB/FerretDB/internal/util/must" "github.com/FerretDB/FerretDB/internal/util/testutil" @@ -36,7 +36,7 @@ import ( //nolint:vet // for readability type normalTestCase struct { name string - raw bson2.RawDocument + raw bson.RawDocument tdoc *types.Document m string } @@ -46,7 +46,7 @@ type normalTestCase struct { //nolint:vet // for readability type decodeTestCase struct { name string - raw bson2.RawDocument + raw bson.RawDocument oldOk bool @@ -289,7 +289,7 @@ var normalTestCases = []normalTestCase{ { name: "nested", raw: testutil.MustParseDumpFile("testdata", "nested.hex"), - tdoc: must.NotFail(makeNested(false, 150).(*bson2.Document).Convert()), + tdoc: must.NotFail(makeNested(false, 150).(*bson.Document).Convert()), m: ` { "f": [ @@ -301,7 +301,7 @@ var normalTestCases = []normalTestCase{ }, { name: "float64Doc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x10, 0x00, 0x00, 0x00, 0x01, 0x66, 0x00, 0x18, 0x2d, 0x44, 0x54, 0xfb, 0x21, 0x09, 0x40, @@ -314,7 +314,7 @@ var normalTestCases = []normalTestCase{ }, { name: "stringDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0e, 0x00, 0x00, 0x00, 0x02, 0x66, 0x00, 0x02, 0x00, 0x00, 0x00, @@ -328,7 +328,7 @@ var normalTestCases = []normalTestCase{ }, { name: "binaryDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0e, 0x00, 0x00, 0x00, 0x05, 0x66, 0x00, 0x01, 0x00, 0x00, 0x00, @@ -343,7 +343,7 @@ var normalTestCases = []normalTestCase{ }, { name: "objectIDDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x14, 0x00, 0x00, 0x00, 0x07, 0x66, 0x00, 0x62, 0x56, 0xc5, 0xba, 0x18, 0x2d, 0x44, 0x54, 0xfb, 0x21, 0x09, 0x40, @@ -356,7 +356,7 @@ var normalTestCases = []normalTestCase{ }, { name: "boolDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x09, 0x00, 0x00, 0x00, 0x08, 0x66, 0x00, 0x01, @@ -369,7 +369,7 @@ var normalTestCases = []normalTestCase{ }, { name: "timeDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x10, 0x00, 0x00, 0x00, 0x09, 0x66, 0x00, 0x0b, 0xce, 0x82, 0x18, 0x8d, 0x01, 0x00, 0x00, @@ -382,7 +382,7 @@ var normalTestCases = []normalTestCase{ }, { name: "nullDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x08, 0x00, 0x00, 0x00, 0x0a, 0x66, 0x00, 0x00, @@ -394,7 +394,7 @@ var normalTestCases = []normalTestCase{ }, { name: "regexDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x66, 0x00, 0x70, 0x00, @@ -408,7 +408,7 @@ var normalTestCases = []normalTestCase{ }, { name: "int32Doc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0c, 0x00, 0x00, 0x00, 0x10, 0x66, 0x00, 0xa1, 0xb0, 0xb9, 0x12, @@ -421,7 +421,7 @@ var normalTestCases = []normalTestCase{ }, { name: "timestampDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x10, 0x00, 0x00, 0x00, 0x11, 0x66, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -434,7 +434,7 @@ var normalTestCases = []normalTestCase{ }, { name: "int64Doc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x10, 0x00, 0x00, 0x00, 0x12, 0x66, 0x00, 0x21, 0x6d, 0x25, 0xa, 0x43, 0x29, 0xb, 0x00, @@ -447,7 +447,7 @@ var normalTestCases = []normalTestCase{ }, { name: "smallDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0f, 0x00, 0x00, 0x00, // document length 0x03, 0x66, 0x6f, 0x6f, 0x00, // subdocument "foo" 0x05, 0x00, 0x00, 0x00, 0x00, // subdocument length and end of subdocument @@ -460,7 +460,7 @@ var normalTestCases = []normalTestCase{ }, { name: "smallArray", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0f, 0x00, 0x00, 0x00, // document length 0x04, 0x66, 0x6f, 0x6f, 0x00, // subarray "foo" 0x05, 0x00, 0x00, 0x00, 0x00, // subarray length and end of subarray @@ -473,7 +473,7 @@ var normalTestCases = []normalTestCase{ }, { name: "duplicateKeys", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0b, 0x00, 0x00, 0x00, // document length 0x08, 0x00, 0x00, // "": false 0x08, 0x00, 0x01, // "": true @@ -491,62 +491,62 @@ var normalTestCases = []normalTestCase{ var decodeTestCases = []decodeTestCase{ { name: "EOF", - raw: bson2.RawDocument{0x00}, - findRawErr: bson2.ErrDecodeShortInput, - decodeErr: bson2.ErrDecodeShortInput, + raw: bson.RawDocument{0x00}, + findRawErr: bson.ErrDecodeShortInput, + decodeErr: bson.ErrDecodeShortInput, }, { name: "invalidLength", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x00, 0x00, 0x00, 0x00, // invalid document length 0x00, // end of document }, - findRawErr: bson2.ErrDecodeInvalidInput, - decodeErr: bson2.ErrDecodeInvalidInput, + findRawErr: bson.ErrDecodeInvalidInput, + decodeErr: bson.ErrDecodeInvalidInput, }, { name: "missingByte", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x06, 0x00, 0x00, 0x00, // document length 0x00, // end of document }, - findRawErr: bson2.ErrDecodeShortInput, - decodeErr: bson2.ErrDecodeShortInput, + findRawErr: bson.ErrDecodeShortInput, + decodeErr: bson.ErrDecodeShortInput, }, { name: "extraByte", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x05, 0x00, 0x00, 0x00, // document length 0x00, // end of document 0x00, // extra byte }, oldOk: true, findRawL: 5, - decodeErr: bson2.ErrDecodeInvalidInput, + decodeErr: bson.ErrDecodeInvalidInput, }, { name: "unexpectedTag", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x06, 0x00, 0x00, 0x00, // document length 0xdd, // unexpected tag 0x00, // end of document }, findRawL: 6, - decodeErr: bson2.ErrDecodeInvalidInput, + decodeErr: bson.ErrDecodeInvalidInput, }, { name: "invalidTag", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x06, 0x00, 0x00, 0x00, // document length 0x00, // invalid tag 0x00, // end of document }, findRawL: 6, - decodeErr: bson2.ErrDecodeInvalidInput, + decodeErr: bson.ErrDecodeInvalidInput, }, { name: "shortDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0f, 0x00, 0x00, 0x00, // document length 0x03, 0x66, 0x6f, 0x6f, 0x00, // subdocument "foo" 0x06, 0x00, 0x00, 0x00, // invalid subdocument length @@ -554,12 +554,12 @@ var decodeTestCases = []decodeTestCase{ 0x00, // end of document }, findRawL: 15, - decodeErr: bson2.ErrDecodeShortInput, - decodeDeepErr: bson2.ErrDecodeInvalidInput, + decodeErr: bson.ErrDecodeShortInput, + decodeDeepErr: bson.ErrDecodeInvalidInput, }, { name: "invalidDoc", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x0f, 0x00, 0x00, 0x00, // document length 0x03, 0x66, 0x6f, 0x6f, 0x00, // subdocument "foo" 0x05, 0x00, 0x00, 0x00, // subdocument length @@ -567,11 +567,11 @@ var decodeTestCases = []decodeTestCase{ 0x00, // end of document }, findRawL: 15, - decodeErr: bson2.ErrDecodeInvalidInput, + decodeErr: bson.ErrDecodeInvalidInput, }, { name: "invalidDocTag", - raw: bson2.RawDocument{ + raw: bson.RawDocument{ 0x10, 0x00, 0x00, 0x00, // document length 0x03, 0x66, 0x6f, 0x6f, 0x00, // subdocument "foo" 0x06, 0x00, 0x00, 0x00, // subdocument length @@ -580,7 +580,7 @@ var decodeTestCases = []decodeTestCase{ 0x00, // end of document }, findRawL: 16, - decodeDeepErr: bson2.ErrDecodeInvalidInput, + decodeDeepErr: bson.ErrDecodeInvalidInput, }, } @@ -612,16 +612,16 @@ func TestNormal(t *testing.T) { }) }) - t.Run("bson2", func(t *testing.T) { + t.Run("bson", func(t *testing.T) { t.Run("FindRaw", func(t *testing.T) { ls := tc.raw.LogValue().Resolve().String() assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.NotEmpty(t, bson2.LogMessage(tc.raw)) - assert.NotEmpty(t, bson2.LogMessageBlock(tc.raw)) + assert.NotEmpty(t, bson.LogMessage(tc.raw)) + assert.NotEmpty(t, bson.LogMessageBlock(tc.raw)) - l, err := bson2.FindRaw(tc.raw) + l, err := bson.FindRaw(tc.raw) require.NoError(t, err) require.Len(t, tc.raw, l) }) @@ -634,8 +634,8 @@ func TestNormal(t *testing.T) { assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.NotEmpty(t, bson2.LogMessage(doc)) - assert.NotEmpty(t, bson2.LogMessageBlock(doc)) + assert.NotEmpty(t, bson.LogMessage(doc)) + assert.NotEmpty(t, bson.LogMessageBlock(doc)) tdoc, err := doc.Convert() require.NoError(t, err) @@ -654,8 +654,8 @@ func TestNormal(t *testing.T) { assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.Equal(t, testutil.Unindent(t, tc.m), bson2.LogMessage(doc)) - assert.NotEmpty(t, bson2.LogMessageBlock(doc)) + assert.Equal(t, testutil.Unindent(t, tc.m), bson.LogMessage(doc)) + assert.NotEmpty(t, bson.LogMessageBlock(doc)) tdoc, err := doc.Convert() require.NoError(t, err) @@ -667,7 +667,7 @@ func TestNormal(t *testing.T) { }) t.Run("ConvertEncode", func(t *testing.T) { - doc, err := bson2.ConvertDocument(tc.tdoc) + doc, err := bson.ConvertDocument(tc.tdoc) require.NoError(t, err) raw, err := doc.Encode() @@ -703,16 +703,16 @@ func TestDecode(t *testing.T) { }) }) - t.Run("bson2", func(t *testing.T) { + t.Run("bson", func(t *testing.T) { t.Run("FindRaw", func(t *testing.T) { ls := tc.raw.LogValue().Resolve().String() assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.NotEmpty(t, bson2.LogMessage(tc.raw)) - assert.NotEmpty(t, bson2.LogMessageBlock(tc.raw)) + assert.NotEmpty(t, bson.LogMessage(tc.raw)) + assert.NotEmpty(t, bson.LogMessageBlock(tc.raw)) - l, err := bson2.FindRaw(tc.raw) + l, err := bson.FindRaw(tc.raw) if tc.findRawErr != nil { require.ErrorIs(t, err, tc.findRawErr) @@ -787,8 +787,8 @@ func BenchmarkDocument(b *testing.B) { }) }) - b.Run("bson2", func(b *testing.B) { - var doc *bson2.Document + b.Run("bson", func(b *testing.B) { + var doc *bson.Document var raw []byte var m string var err error @@ -831,7 +831,7 @@ func BenchmarkDocument(b *testing.B) { b.ResetTimer() for range b.N { - m = bson2.LogMessage(doc) + m = bson.LogMessage(doc) } b.StopTimer() @@ -877,7 +877,7 @@ func BenchmarkDocument(b *testing.B) { b.ResetTimer() for range b.N { - m = bson2.LogMessage(doc) + m = bson.LogMessage(doc) } b.StopTimer() @@ -891,19 +891,19 @@ func BenchmarkDocument(b *testing.B) { // testRawDocument tests a single RawDocument (that might or might not be valid). // It is adapted from tests above. -func testRawDocument(t *testing.T, rawDoc bson2.RawDocument) { +func testRawDocument(t *testing.T, rawDoc bson.RawDocument) { t.Helper() - t.Run("bson2", func(t *testing.T) { + t.Run("bson", func(t *testing.T) { t.Run("FindRaw", func(t *testing.T) { ls := rawDoc.LogValue().Resolve().String() assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.NotEmpty(t, bson2.LogMessage(rawDoc)) - assert.NotEmpty(t, bson2.LogMessageBlock(rawDoc)) + assert.NotEmpty(t, bson.LogMessage(rawDoc)) + assert.NotEmpty(t, bson.LogMessageBlock(rawDoc)) - _, _ = bson2.FindRaw(rawDoc) + _, _ = bson.FindRaw(rawDoc) }) t.Run("DecodeEncode", func(t *testing.T) { @@ -919,8 +919,8 @@ func testRawDocument(t *testing.T, rawDoc bson2.RawDocument) { assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.NotEmpty(t, bson2.LogMessage(doc)) - assert.NotEmpty(t, bson2.LogMessageBlock(doc)) + assert.NotEmpty(t, bson.LogMessage(doc)) + assert.NotEmpty(t, bson.LogMessageBlock(doc)) _, _ = doc.Convert() @@ -940,8 +940,8 @@ func testRawDocument(t *testing.T, rawDoc bson2.RawDocument) { assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.NotEmpty(t, bson2.LogMessage(doc)) - assert.NotEmpty(t, bson2.LogMessageBlock(doc)) + assert.NotEmpty(t, bson.LogMessage(doc)) + assert.NotEmpty(t, bson.LogMessageBlock(doc)) _, err = doc.Convert() require.NoError(t, err) @@ -968,21 +968,21 @@ func testRawDocument(t *testing.T, rawDoc bson2.RawDocument) { // remove extra tail b := []byte(rawDoc[:len(rawDoc)-bufr.Buffered()-br.Len()]) - l, err := bson2.FindRaw(rawDoc) + l, err := bson.FindRaw(rawDoc) require.NoError(t, err) require.Equal(t, b, []byte(rawDoc[:l])) // decode - bdoc2, err2 := bson2.RawDocument(b).DecodeDeep() + bdoc2, err2 := bson.RawDocument(b).DecodeDeep() require.NoError(t, err2) ls := bdoc2.LogValue().Resolve().String() assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.NotEmpty(t, bson2.LogMessage(bdoc2)) - assert.NotEmpty(t, bson2.LogMessageBlock(bdoc2)) + assert.NotEmpty(t, bson.LogMessage(bdoc2)) + assert.NotEmpty(t, bson.LogMessageBlock(bdoc2)) tdoc1, err := types.ConvertDocument(&doc1) require.NoError(t, err) @@ -997,15 +997,15 @@ func testRawDocument(t *testing.T, rawDoc bson2.RawDocument) { doc1e, err := oldbson.ConvertDocument(tdoc1) require.NoError(t, err) - doc2e, err := bson2.ConvertDocument(tdoc2) + doc2e, err := bson.ConvertDocument(tdoc2) require.NoError(t, err) ls = doc2e.LogValue().Resolve().String() assert.NotContains(t, ls, "panicked") assert.NotContains(t, ls, "called too many times") - assert.NotEmpty(t, bson2.LogMessage(doc2e)) - assert.NotEmpty(t, bson2.LogMessageBlock(doc2e)) + assert.NotEmpty(t, bson.LogMessage(doc2e)) + assert.NotEmpty(t, bson.LogMessageBlock(doc2e)) b1, err := doc1e.MarshalBinary() require.NoError(t, err) @@ -1030,11 +1030,11 @@ func FuzzDocument(f *testing.F) { f.Fuzz(func(t *testing.T, b []byte) { t.Parallel() - testRawDocument(t, bson2.RawDocument(b)) + testRawDocument(t, bson.RawDocument(b)) - l, err := bson2.FindRaw(b) + l, err := bson.FindRaw(b) if err == nil { - testRawDocument(t, bson2.RawDocument(b[:l])) + testRawDocument(t, bson.RawDocument(b[:l])) } }) } diff --git a/internal/bson2/decode.go b/internal/bson/decode.go similarity index 99% rename from internal/bson2/decode.go rename to internal/bson/decode.go index cb1369dfe59c..8874d1b563bd 100644 --- a/internal/bson2/decode.go +++ b/internal/bson/decode.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson import ( "encoding/binary" diff --git a/internal/bson2/decodemode_string.go b/internal/bson/decodemode_string.go similarity index 97% rename from internal/bson2/decodemode_string.go rename to internal/bson/decodemode_string.go index da8d19b38a7f..e5e43ee2641b 100644 --- a/internal/bson2/decodemode_string.go +++ b/internal/bson/decodemode_string.go @@ -1,6 +1,6 @@ // Code generated by "stringer -linecomment -type decodeMode"; DO NOT EDIT. -package bson2 +package bson import "strconv" diff --git a/internal/bson2/document.go b/internal/bson/document.go similarity index 99% rename from internal/bson2/document.go rename to internal/bson/document.go index b644d12546ae..7a68eb05a1eb 100644 --- a/internal/bson2/document.go +++ b/internal/bson/document.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson import ( "bytes" diff --git a/internal/bson2/encode.go b/internal/bson/encode.go similarity index 99% rename from internal/bson2/encode.go rename to internal/bson/encode.go index a441258e4ac7..44572ca0b36b 100644 --- a/internal/bson2/encode.go +++ b/internal/bson/encode.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson import ( "bytes" diff --git a/internal/bson2/logging.go b/internal/bson/logging.go similarity index 99% rename from internal/bson2/logging.go rename to internal/bson/logging.go index bb5b5662e465..fdbb9ea8c69a 100644 --- a/internal/bson2/logging.go +++ b/internal/bson/logging.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson import ( "encoding/base64" diff --git a/internal/bson2/logging_test.go b/internal/bson/logging_test.go similarity index 87% rename from internal/bson2/logging_test.go rename to internal/bson/logging_test.go index abda7f2c0554..8d4e327f8d47 100644 --- a/internal/bson2/logging_test.go +++ b/internal/bson/logging_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2_test // to avoid import cycle +package bson_test // to avoid import cycle import ( "bytes" @@ -24,7 +24,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/FerretDB/FerretDB/internal/bson2" + "github.com/FerretDB/FerretDB/internal/bson" "github.com/FerretDB/FerretDB/internal/util/must" "github.com/FerretDB/FerretDB/internal/util/testutil" ) @@ -52,7 +52,7 @@ func TestLogging(t *testing.T) { for _, tc := range []struct { name string - doc *bson2.Document + doc *bson.Document t string j string m string @@ -60,7 +60,7 @@ func TestLogging(t *testing.T) { }{ { name: "Numbers", - doc: must.NotFail(bson2.NewDocument( + doc: must.NotFail(bson.NewDocument( "f64", 42.0, "inf", float64(math.Inf(1)), "neg_inf", float64(math.Inf(-1)), @@ -97,9 +97,9 @@ func TestLogging(t *testing.T) { }, { name: "Scalars", - doc: must.NotFail(bson2.NewDocument( - "null", bson2.Null, - "id", bson2.ObjectID{0x42}, + doc: must.NotFail(bson.NewDocument( + "null", bson.Null, + "id", bson.ObjectID{0x42}, "bool", true, "time", time.Date(2023, 3, 6, 13, 14, 42, 123456789, time.FixedZone("", int(4*time.Hour.Seconds()))), )), @@ -122,19 +122,19 @@ func TestLogging(t *testing.T) { }, { name: "Composites", - doc: must.NotFail(bson2.NewDocument( - "doc", must.NotFail(bson2.NewDocument( + doc: must.NotFail(bson.NewDocument( + "doc", must.NotFail(bson.NewDocument( "foo", "bar", - "baz", must.NotFail(bson2.NewDocument( + "baz", must.NotFail(bson.NewDocument( "qux", "quux", )), )), - "doc_raw", bson2.RawDocument{0x42}, - "doc_empty", must.NotFail(bson2.NewDocument()), - "array", must.NotFail(bson2.NewArray( + "doc_raw", bson.RawDocument{0x42}, + "doc_empty", must.NotFail(bson.NewDocument()), + "array", must.NotFail(bson.NewArray( "foo", "bar", - must.NotFail(bson2.NewArray("baz", "qux")), + must.NotFail(bson.NewArray("baz", "qux")), )), )), t: `v.doc.foo=bar v.doc.baz.qux=quux v.doc_raw=RawDocument<1> ` + @@ -170,7 +170,7 @@ func TestLogging(t *testing.T) { }, { name: "Nested", - doc: makeNested(false, 20).(*bson2.Document), + doc: makeNested(false, 20).(*bson.Document), t: `v.f.0.f.0.f.0.f.0.f.0.f.0.f.0.f.0.f.0.f.0=`, j: `{"v":{"f":{"0":{"f":{"0":{"f":{"0":{"f":{"0":{"f":{"0":{"f":{"0":` + `{"f":{"0":{"f":{"0":{"f":{"0":{"f":{"0":null}}}}}}}}}}}}}}}}}}}}}`, @@ -235,10 +235,10 @@ func TestLogging(t *testing.T) { assert.Equal(t, tc.j+"\n", jbuf.String()) jbuf.Reset() - m := bson2.LogMessage(tc.doc) + m := bson.LogMessage(tc.doc) assert.Equal(t, testutil.Unindent(t, tc.m), m, "actual:\n%s", m) - b := bson2.LogMessageBlock(tc.doc) + b := bson.LogMessageBlock(tc.doc) assert.Equal(t, testutil.Unindent(t, tc.b), b, "actual:\n%s", b) }) } @@ -250,15 +250,15 @@ func makeNested(array bool, depth int) any { panic("depth must be at least 1") } - var child any = bson2.Null + var child any = bson.Null if depth > 1 { child = makeNested(!array, depth-1) } if array { - return must.NotFail(bson2.NewArray(child)) + return must.NotFail(bson.NewArray(child)) } - return must.NotFail(bson2.NewDocument("f", child)) + return must.NotFail(bson.NewDocument("f", child)) } diff --git a/internal/bson2/oldbson/array.go b/internal/bson/oldbson/array.go similarity index 100% rename from internal/bson2/oldbson/array.go rename to internal/bson/oldbson/array.go diff --git a/internal/bson2/oldbson/array_test.go b/internal/bson/oldbson/array_test.go similarity index 100% rename from internal/bson2/oldbson/array_test.go rename to internal/bson/oldbson/array_test.go diff --git a/internal/bson2/oldbson/binary.go b/internal/bson/oldbson/binary.go similarity index 100% rename from internal/bson2/oldbson/binary.go rename to internal/bson/oldbson/binary.go diff --git a/internal/bson2/oldbson/binary_test.go b/internal/bson/oldbson/binary_test.go similarity index 100% rename from internal/bson2/oldbson/binary_test.go rename to internal/bson/oldbson/binary_test.go diff --git a/internal/bson2/oldbson/bool.go b/internal/bson/oldbson/bool.go similarity index 100% rename from internal/bson2/oldbson/bool.go rename to internal/bson/oldbson/bool.go diff --git a/internal/bson2/oldbson/bool_test.go b/internal/bson/oldbson/bool_test.go similarity index 100% rename from internal/bson2/oldbson/bool_test.go rename to internal/bson/oldbson/bool_test.go diff --git a/internal/bson2/oldbson/cstring.go b/internal/bson/oldbson/cstring.go similarity index 100% rename from internal/bson2/oldbson/cstring.go rename to internal/bson/oldbson/cstring.go diff --git a/internal/bson2/oldbson/cstring_test.go b/internal/bson/oldbson/cstring_test.go similarity index 100% rename from internal/bson2/oldbson/cstring_test.go rename to internal/bson/oldbson/cstring_test.go diff --git a/internal/bson2/oldbson/datetime.go b/internal/bson/oldbson/datetime.go similarity index 100% rename from internal/bson2/oldbson/datetime.go rename to internal/bson/oldbson/datetime.go diff --git a/internal/bson2/oldbson/datetime_test.go b/internal/bson/oldbson/datetime_test.go similarity index 100% rename from internal/bson2/oldbson/datetime_test.go rename to internal/bson/oldbson/datetime_test.go diff --git a/internal/bson2/oldbson/document.go b/internal/bson/oldbson/document.go similarity index 100% rename from internal/bson2/oldbson/document.go rename to internal/bson/oldbson/document.go diff --git a/internal/bson2/oldbson/document_test.go b/internal/bson/oldbson/document_test.go similarity index 100% rename from internal/bson2/oldbson/document_test.go rename to internal/bson/oldbson/document_test.go diff --git a/internal/bson2/oldbson/double.go b/internal/bson/oldbson/double.go similarity index 100% rename from internal/bson2/oldbson/double.go rename to internal/bson/oldbson/double.go diff --git a/internal/bson2/oldbson/double_test.go b/internal/bson/oldbson/double_test.go similarity index 100% rename from internal/bson2/oldbson/double_test.go rename to internal/bson/oldbson/double_test.go diff --git a/internal/bson2/oldbson/int32.go b/internal/bson/oldbson/int32.go similarity index 100% rename from internal/bson2/oldbson/int32.go rename to internal/bson/oldbson/int32.go diff --git a/internal/bson2/oldbson/int32_test.go b/internal/bson/oldbson/int32_test.go similarity index 100% rename from internal/bson2/oldbson/int32_test.go rename to internal/bson/oldbson/int32_test.go diff --git a/internal/bson2/oldbson/int64.go b/internal/bson/oldbson/int64.go similarity index 100% rename from internal/bson2/oldbson/int64.go rename to internal/bson/oldbson/int64.go diff --git a/internal/bson2/oldbson/int64_test.go b/internal/bson/oldbson/int64_test.go similarity index 100% rename from internal/bson2/oldbson/int64_test.go rename to internal/bson/oldbson/int64_test.go diff --git a/internal/bson2/oldbson/null.go b/internal/bson/oldbson/null.go similarity index 100% rename from internal/bson2/oldbson/null.go rename to internal/bson/oldbson/null.go diff --git a/internal/bson2/oldbson/object_id.go b/internal/bson/oldbson/object_id.go similarity index 100% rename from internal/bson2/oldbson/object_id.go rename to internal/bson/oldbson/object_id.go diff --git a/internal/bson2/oldbson/object_id_test.go b/internal/bson/oldbson/object_id_test.go similarity index 100% rename from internal/bson2/oldbson/object_id_test.go rename to internal/bson/oldbson/object_id_test.go diff --git a/internal/bson2/oldbson/oldbson.go b/internal/bson/oldbson/oldbson.go similarity index 100% rename from internal/bson2/oldbson/oldbson.go rename to internal/bson/oldbson/oldbson.go diff --git a/internal/bson2/oldbson/oldbson_test.go b/internal/bson/oldbson/oldbson_test.go similarity index 100% rename from internal/bson2/oldbson/oldbson_test.go rename to internal/bson/oldbson/oldbson_test.go diff --git a/internal/bson2/oldbson/regex.go b/internal/bson/oldbson/regex.go similarity index 100% rename from internal/bson2/oldbson/regex.go rename to internal/bson/oldbson/regex.go diff --git a/internal/bson2/oldbson/regex_test.go b/internal/bson/oldbson/regex_test.go similarity index 100% rename from internal/bson2/oldbson/regex_test.go rename to internal/bson/oldbson/regex_test.go diff --git a/internal/bson2/oldbson/string.go b/internal/bson/oldbson/string.go similarity index 100% rename from internal/bson2/oldbson/string.go rename to internal/bson/oldbson/string.go diff --git a/internal/bson2/oldbson/string_test.go b/internal/bson/oldbson/string_test.go similarity index 100% rename from internal/bson2/oldbson/string_test.go rename to internal/bson/oldbson/string_test.go diff --git a/internal/bson2/oldbson/tag.go b/internal/bson/oldbson/tag.go similarity index 100% rename from internal/bson2/oldbson/tag.go rename to internal/bson/oldbson/tag.go diff --git a/internal/bson2/oldbson/tag_string.go b/internal/bson/oldbson/tag_string.go similarity index 100% rename from internal/bson2/oldbson/tag_string.go rename to internal/bson/oldbson/tag_string.go diff --git a/internal/bson2/oldbson/testdata/all.hex b/internal/bson/oldbson/testdata/all.hex similarity index 100% rename from internal/bson2/oldbson/testdata/all.hex rename to internal/bson/oldbson/testdata/all.hex diff --git a/internal/bson2/oldbson/testdata/array_all.hex b/internal/bson/oldbson/testdata/array_all.hex similarity index 100% rename from internal/bson2/oldbson/testdata/array_all.hex rename to internal/bson/oldbson/testdata/array_all.hex diff --git a/internal/bson2/oldbson/testdata/array_fuzz1.hex b/internal/bson/oldbson/testdata/array_fuzz1.hex similarity index 100% rename from internal/bson2/oldbson/testdata/array_fuzz1.hex rename to internal/bson/oldbson/testdata/array_fuzz1.hex diff --git a/internal/bson2/oldbson/testdata/handshake1.hex b/internal/bson/oldbson/testdata/handshake1.hex similarity index 100% rename from internal/bson2/oldbson/testdata/handshake1.hex rename to internal/bson/oldbson/testdata/handshake1.hex diff --git a/internal/bson2/oldbson/testdata/handshake2.hex b/internal/bson/oldbson/testdata/handshake2.hex similarity index 100% rename from internal/bson2/oldbson/testdata/handshake2.hex rename to internal/bson/oldbson/testdata/handshake2.hex diff --git a/internal/bson2/oldbson/testdata/handshake3.hex b/internal/bson/oldbson/testdata/handshake3.hex similarity index 100% rename from internal/bson2/oldbson/testdata/handshake3.hex rename to internal/bson/oldbson/testdata/handshake3.hex diff --git a/internal/bson2/oldbson/testdata/handshake4.hex b/internal/bson/oldbson/testdata/handshake4.hex similarity index 100% rename from internal/bson2/oldbson/testdata/handshake4.hex rename to internal/bson/oldbson/testdata/handshake4.hex diff --git a/internal/bson2/oldbson/timestamp.go b/internal/bson/oldbson/timestamp.go similarity index 100% rename from internal/bson2/oldbson/timestamp.go rename to internal/bson/oldbson/timestamp.go diff --git a/internal/bson2/oldbson/timestamp_test.go b/internal/bson/oldbson/timestamp_test.go similarity index 100% rename from internal/bson2/oldbson/timestamp_test.go rename to internal/bson/oldbson/timestamp_test.go diff --git a/internal/bson2/raw_array.go b/internal/bson/raw_array.go similarity index 99% rename from internal/bson2/raw_array.go rename to internal/bson/raw_array.go index 561904f4e33d..a50ce7316393 100644 --- a/internal/bson2/raw_array.go +++ b/internal/bson/raw_array.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson import ( "log/slog" diff --git a/internal/bson2/raw_document.go b/internal/bson/raw_document.go similarity index 99% rename from internal/bson2/raw_document.go rename to internal/bson/raw_document.go index a4f8b98a0e0a..349cd66a6407 100644 --- a/internal/bson2/raw_document.go +++ b/internal/bson/raw_document.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson import ( "log/slog" diff --git a/internal/bson2/size.go b/internal/bson/size.go similarity index 99% rename from internal/bson2/size.go rename to internal/bson/size.go index 5cbaf78c6348..a6ecb649d23c 100644 --- a/internal/bson2/size.go +++ b/internal/bson/size.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson import ( "strconv" diff --git a/internal/bson2/tag.go b/internal/bson/tag.go similarity index 99% rename from internal/bson2/tag.go rename to internal/bson/tag.go index 2e3b750def8b..dce3fb196363 100644 --- a/internal/bson2/tag.go +++ b/internal/bson/tag.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package bson2 +package bson //go:generate ../../bin/stringer -linecomment -type tag diff --git a/internal/bson2/tag_string.go b/internal/bson/tag_string.go similarity index 98% rename from internal/bson2/tag_string.go rename to internal/bson/tag_string.go index 8801047e8e82..414981c0d8e4 100644 --- a/internal/bson2/tag_string.go +++ b/internal/bson/tag_string.go @@ -1,6 +1,6 @@ // Code generated by "stringer -linecomment -type tag"; DO NOT EDIT. -package bson2 +package bson import "strconv" diff --git a/internal/bson2/testdata/all.hex b/internal/bson/testdata/all.hex similarity index 100% rename from internal/bson2/testdata/all.hex rename to internal/bson/testdata/all.hex diff --git a/internal/bson2/testdata/handshake1.hex b/internal/bson/testdata/handshake1.hex similarity index 100% rename from internal/bson2/testdata/handshake1.hex rename to internal/bson/testdata/handshake1.hex diff --git a/internal/bson2/testdata/handshake2.hex b/internal/bson/testdata/handshake2.hex similarity index 100% rename from internal/bson2/testdata/handshake2.hex rename to internal/bson/testdata/handshake2.hex diff --git a/internal/bson2/testdata/handshake3.hex b/internal/bson/testdata/handshake3.hex similarity index 100% rename from internal/bson2/testdata/handshake3.hex rename to internal/bson/testdata/handshake3.hex diff --git a/internal/bson2/testdata/handshake4.hex b/internal/bson/testdata/handshake4.hex similarity index 100% rename from internal/bson2/testdata/handshake4.hex rename to internal/bson/testdata/handshake4.hex diff --git a/internal/bson2/testdata/nested.hex b/internal/bson/testdata/nested.hex similarity index 100% rename from internal/bson2/testdata/nested.hex rename to internal/bson/testdata/nested.hex diff --git a/internal/util/testutil/dump.go b/internal/util/testutil/dump.go index d6ecbc6d2e4f..25160bf4eb77 100644 --- a/internal/util/testutil/dump.go +++ b/internal/util/testutil/dump.go @@ -23,7 +23,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/FerretDB/FerretDB/internal/bson2" + "github.com/FerretDB/FerretDB/internal/bson" "github.com/FerretDB/FerretDB/internal/types" "github.com/FerretDB/FerretDB/internal/util/hex" "github.com/FerretDB/FerretDB/internal/util/must" @@ -34,27 +34,27 @@ import ( func dump[T types.Type](tb testtb.TB, o T) string { tb.Helper() - v, err := bson2.Convert(o) + v, err := bson.Convert(o) require.NoError(tb, err) - return bson2.LogMessageBlock(v) + return bson.LogMessageBlock(v) } // dumpSlice returns string representation for debugging. func dumpSlice[T types.Type](tb testtb.TB, s []T) string { tb.Helper() - arr := bson2.MakeArray(len(s)) + arr := bson.MakeArray(len(s)) for _, o := range s { - v, err := bson2.Convert(o) + v, err := bson.Convert(o) require.NoError(tb, err) err = arr.Add(v) require.NoError(tb, err) } - return bson2.LogMessageBlock(arr) + return bson.LogMessageBlock(arr) } // MustParseDumpFile panics if fails to parse file input to byte array. diff --git a/internal/wire/op_msg.go b/internal/wire/op_msg.go index 7d0230eb4631..e16262909ff9 100644 --- a/internal/wire/op_msg.go +++ b/internal/wire/op_msg.go @@ -18,7 +18,7 @@ import ( "encoding/binary" "fmt" - "github.com/FerretDB/FerretDB/internal/bson2" + "github.com/FerretDB/FerretDB/internal/bson" "github.com/FerretDB/FerretDB/internal/types" "github.com/FerretDB/FerretDB/internal/util/debugbuild" "github.com/FerretDB/FerretDB/internal/util/lazyerrors" @@ -34,16 +34,16 @@ type OpMsgSection struct { // The wire order is: kind, identifier, documents. Identifier string - Documents []bson2.RawDocument + Documents []bson.RawDocument Kind byte } // MakeOpMsgSection creates [OpMsgSection] with a single document. func MakeOpMsgSection(doc *types.Document) OpMsgSection { - raw := must.NotFail(must.NotFail(bson2.ConvertDocument(doc)).Encode()) + raw := must.NotFail(must.NotFail(bson.ConvertDocument(doc)).Encode()) return OpMsgSection{ - Documents: []bson2.RawDocument{raw}, + Documents: []bson.RawDocument{raw}, } } @@ -58,9 +58,9 @@ type OpMsg struct { } // NewOpMsg creates a message with a single section of kind 0 with a single raw document. -func NewOpMsg(raw bson2.RawDocument) (*OpMsg, error) { +func NewOpMsg(raw bson.RawDocument) (*OpMsg, error) { var msg OpMsg - if err := msg.SetSections(OpMsgSection{Documents: []bson2.RawDocument{raw}}); err != nil { + if err := msg.SetSections(OpMsgSection{Documents: []bson.RawDocument{raw}}); err != nil { return nil, lazyerrors.Error(err) } @@ -200,8 +200,8 @@ func (msg *OpMsg) Document() (*types.Document, error) { } // RawSections returns the value of section with kind 0 and the value of all sections with kind 1. -func (msg *OpMsg) RawSections() (bson2.RawDocument, []byte) { - var spec bson2.RawDocument +func (msg *OpMsg) RawSections() (bson.RawDocument, []byte) { + var spec bson.RawDocument var seq []byte for _, s := range msg.Sections() { @@ -219,11 +219,11 @@ func (msg *OpMsg) RawSections() (bson2.RawDocument, []byte) { return spec, seq } -// RawDocument returns the value of msg as a [bson2.RawDocument]. +// RawDocument returns the value of msg as a [bson.RawDocument]. // // The error is returned if msg contains anything other than a single section of kind 0 // with a single document. -func (msg *OpMsg) RawDocument() (bson2.RawDocument, error) { +func (msg *OpMsg) RawDocument() (bson.RawDocument, error) { if err := checkSections(msg.sections); err != nil { return nil, err } @@ -268,12 +268,12 @@ func (msg *OpMsg) UnmarshalBinaryNocopy(b []byte) error { switch section.Kind { case 0: - l, err := bson2.FindRaw(b[offset:]) + l, err := bson.FindRaw(b[offset:]) if err != nil { return lazyerrors.Error(err) } - section.Documents = []bson2.RawDocument{b[offset : offset+l]} + section.Documents = []bson.RawDocument{b[offset : offset+l]} offset += l case 1: @@ -294,13 +294,13 @@ func (msg *OpMsg) UnmarshalBinaryNocopy(b []byte) error { return lazyerrors.Errorf("len(b) = %d, offset = %d", len(b), offset) } - section.Identifier, err = bson2.DecodeCString(b[offset:]) + section.Identifier, err = bson.DecodeCString(b[offset:]) if err != nil { return lazyerrors.Error(err) } - offset += bson2.SizeCString(section.Identifier) - secSize -= bson2.SizeCString(section.Identifier) + offset += bson.SizeCString(section.Identifier) + secSize -= bson.SizeCString(section.Identifier) for secSize != 0 { if secSize < 0 { @@ -311,7 +311,7 @@ func (msg *OpMsg) UnmarshalBinaryNocopy(b []byte) error { return lazyerrors.Errorf("len(b) = %d, offset = %d", len(b), offset) } - l, err := bson2.FindRaw(b[offset:]) + l, err := bson.FindRaw(b[offset:]) if err != nil { return lazyerrors.Error(err) } @@ -393,8 +393,8 @@ func (msg *OpMsg) MarshalBinary() ([]byte, error) { b = append(b, section.Documents[0]...) case 1: - sec := make([]byte, bson2.SizeCString(section.Identifier)) - bson2.EncodeCString(sec, section.Identifier) + sec := make([]byte, bson.SizeCString(section.Identifier)) + bson.EncodeCString(sec, section.Identifier) for _, doc := range section.Documents { sec = append(sec, doc...) @@ -427,14 +427,14 @@ func (msg *OpMsg) logMessage(block bool) string { return "" } - m := must.NotFail(bson2.NewDocument( + m := must.NotFail(bson.NewDocument( "FlagBits", msg.Flags.String(), "Checksum", int64(msg.checksum), )) - sections := bson2.MakeArray(len(msg.sections)) + sections := bson.MakeArray(len(msg.sections)) for _, section := range msg.sections { - s := must.NotFail(bson2.NewDocument( + s := must.NotFail(bson.NewDocument( "Kind", int32(section.Kind), )) @@ -449,14 +449,14 @@ func (msg *OpMsg) logMessage(block bool) string { case 1: must.NoError(s.Add("Identifier", section.Identifier)) - docs := bson2.MakeArray(len(section.Documents)) + docs := bson.MakeArray(len(section.Documents)) for _, d := range section.Documents { doc, err := d.DecodeDeep() if err == nil { must.NoError(docs.Add(doc)) } else { - must.NoError(docs.Add(must.NotFail(bson2.NewDocument("error", err.Error())))) + must.NoError(docs.Add(must.NotFail(bson.NewDocument("error", err.Error())))) } } @@ -472,10 +472,10 @@ func (msg *OpMsg) logMessage(block bool) string { must.NoError(m.Add("Sections", sections)) if block { - return bson2.LogMessageBlock(m) + return bson.LogMessageBlock(m) } - return bson2.LogMessage(m) + return bson.LogMessage(m) } // String returns a string representation for logging. diff --git a/internal/wire/op_msg_test.go b/internal/wire/op_msg_test.go index 041d6913f277..6f8da0f235e0 100644 --- a/internal/wire/op_msg_test.go +++ b/internal/wire/op_msg_test.go @@ -18,7 +18,7 @@ import ( "math" "testing" - "github.com/FerretDB/FerretDB/internal/bson2" + "github.com/FerretDB/FerretDB/internal/bson" "github.com/FerretDB/FerretDB/internal/types" "github.com/FerretDB/FerretDB/internal/util/must" "github.com/FerretDB/FerretDB/internal/util/testutil" @@ -39,7 +39,7 @@ var msgTestCases = []testCase{ }, msgBody: &OpMsg{ sections: []OpMsgSection{{ - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "buildInfo", int32(1), "lsid", must.NotFail(types.NewDocument( "id", types.Binary{ @@ -83,7 +83,7 @@ var msgTestCases = []testCase{ }, msgBody: &OpMsg{ sections: []OpMsgSection{{ - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "version", "5.0.0", "gitVersion", "1184f004a99660de6f5e745573419bda8a28c0e9", "modules", must.NotFail(types.NewArray()), @@ -180,7 +180,7 @@ var msgTestCases = []testCase{ msgBody: &OpMsg{ sections: []OpMsgSection{ { - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "insert", "actor", "ordered", true, "writeConcern", must.NotFail(types.NewDocument( @@ -192,7 +192,7 @@ var msgTestCases = []testCase{ { Kind: 1, Identifier: "documents", - Documents: []bson2.RawDocument{ + Documents: []bson.RawDocument{ makeRawDocument( "_id", types.ObjectID{0x61, 0x2e, 0xc2, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}, "actor_id", int32(1), @@ -252,7 +252,7 @@ var msgTestCases = []testCase{ { name: "msg_fuzz1", expectedB: testutil.MustParseDumpFile("testdata", "msg_fuzz1.hex"), - err: bson2.ErrDecodeInvalidInput.Error(), + err: bson.ErrDecodeInvalidInput.Error(), }, { name: "NaN", @@ -290,7 +290,7 @@ var msgTestCases = []testCase{ }, msgBody: &OpMsg{ sections: []OpMsgSection{{ - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "insert", "values", "documents", must.NotFail(types.NewArray( must.NotFail(types.NewDocument( @@ -343,7 +343,7 @@ var msgTestCases = []testCase{ msgBody: &OpMsg{ sections: []OpMsgSection{ { - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "insert", "TestInsertSimple", "ordered", true, "$db", "testinsertsimple", @@ -352,7 +352,7 @@ var msgTestCases = []testCase{ { Kind: 1, Identifier: "documents", - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "_id", types.ObjectID{0x63, 0x7c, 0xfa, 0xd8, 0x8d, 0xc3, 0xce, 0xcd, 0xe3, 0x8e, 0x1e, 0x6b}, "v", math.Copysign(0, -1), )}, @@ -421,13 +421,13 @@ var msgTestCases = []testCase{ { Kind: 1, Identifier: "documents", - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "_id", types.ObjectID{0x63, 0x8c, 0xec, 0x46, 0xaa, 0x77, 0x8b, 0xf3, 0x70, 0x10, 0x54, 0x29}, "a", float64(3), )}, }, { - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "insert", "foo", "ordered", true, "$db", "test", @@ -510,7 +510,7 @@ var msgTestCases = []testCase{ { Kind: 1, Identifier: "updates", - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "q", must.NotFail(types.NewDocument( "a", float64(20), )), @@ -524,7 +524,7 @@ var msgTestCases = []testCase{ )}, }, { - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "update", "foo", "ordered", true, "$db", "test", @@ -594,13 +594,13 @@ var msgTestCases = []testCase{ { Kind: 1, Identifier: "documents", - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "_id", types.ObjectID{0x63, 0x8c, 0xec, 0x46, 0xaa, 0x77, 0x8b, 0xf3, 0x70, 0x10, 0x54, 0x29}, "a", float64(3), )}, }, { - Documents: []bson2.RawDocument{makeRawDocument( + Documents: []bson.RawDocument{makeRawDocument( "insert", "fooo", "ordered", true, "$db", "test", diff --git a/internal/wire/op_query.go b/internal/wire/op_query.go index 201e6967e33e..aad21e4b5b5d 100644 --- a/internal/wire/op_query.go +++ b/internal/wire/op_query.go @@ -17,7 +17,7 @@ package wire import ( "encoding/binary" - "github.com/FerretDB/FerretDB/internal/bson2" + "github.com/FerretDB/FerretDB/internal/bson" "github.com/FerretDB/FerretDB/internal/types" "github.com/FerretDB/FerretDB/internal/util/debugbuild" "github.com/FerretDB/FerretDB/internal/util/lazyerrors" @@ -30,8 +30,8 @@ type OpQuery struct { // The wire order is: flags, collection name, number to skip, number to return, query, fields selector. FullCollectionName string - query bson2.RawDocument - returnFieldsSelector bson2.RawDocument + query bson.RawDocument + returnFieldsSelector bson.RawDocument Flags OpQueryFlags NumberToSkip int32 NumberToReturn int32 @@ -66,12 +66,12 @@ func (query *OpQuery) UnmarshalBinaryNocopy(b []byte) error { var err error - query.FullCollectionName, err = bson2.DecodeCString(b[4:]) + query.FullCollectionName, err = bson.DecodeCString(b[4:]) if err != nil { return lazyerrors.Error(err) } - numberLow := 4 + bson2.SizeCString(query.FullCollectionName) + numberLow := 4 + bson.SizeCString(query.FullCollectionName) if len(b) < numberLow+8 { return lazyerrors.Errorf("len=%d, can't unmarshal numbers", len(b)) } @@ -79,7 +79,7 @@ func (query *OpQuery) UnmarshalBinaryNocopy(b []byte) error { query.NumberToSkip = int32(binary.LittleEndian.Uint32(b[numberLow : numberLow+4])) query.NumberToReturn = int32(binary.LittleEndian.Uint32(b[numberLow+4 : numberLow+8])) - l, err := bson2.FindRaw(b[numberLow+8:]) + l, err := bson.FindRaw(b[numberLow+8:]) if err != nil { return lazyerrors.Error(err) } @@ -87,7 +87,7 @@ func (query *OpQuery) UnmarshalBinaryNocopy(b []byte) error { selectorLow := numberLow + 8 + l if len(b) != selectorLow { - l, err = bson2.FindRaw(b[selectorLow:]) + l, err = bson.FindRaw(b[selectorLow:]) if err != nil { return lazyerrors.Error(err) } @@ -115,13 +115,13 @@ func (query *OpQuery) MarshalBinary() ([]byte, error) { } } - nameSize := bson2.SizeCString(query.FullCollectionName) + nameSize := bson.SizeCString(query.FullCollectionName) b := make([]byte, 12+nameSize+len(query.query)+len(query.returnFieldsSelector)) binary.LittleEndian.PutUint32(b[0:4], uint32(query.Flags)) nameHigh := 4 + nameSize - bson2.EncodeCString(b[4:nameHigh], query.FullCollectionName) + bson.EncodeCString(b[4:nameHigh], query.FullCollectionName) binary.LittleEndian.PutUint32(b[nameHigh:nameHigh+4], uint32(query.NumberToSkip)) binary.LittleEndian.PutUint32(b[nameHigh+4:nameHigh+8], uint32(query.NumberToReturn)) @@ -157,7 +157,7 @@ func (query *OpQuery) logMessage(block bool) string { return "" } - m := must.NotFail(bson2.NewDocument( + m := must.NotFail(bson.NewDocument( "Flags", query.Flags.String(), "FullCollectionName", query.FullCollectionName, "NumberToSkip", query.NumberToSkip, @@ -181,10 +181,10 @@ func (query *OpQuery) logMessage(block bool) string { } if block { - return bson2.LogMessageBlock(m) + return bson.LogMessageBlock(m) } - return bson2.LogMessage(m) + return bson.LogMessage(m) } // String returns a string representation for logging. diff --git a/internal/wire/op_reply.go b/internal/wire/op_reply.go index 7f641d66ad26..8b2426089531 100644 --- a/internal/wire/op_reply.go +++ b/internal/wire/op_reply.go @@ -17,7 +17,7 @@ package wire import ( "encoding/binary" - "github.com/FerretDB/FerretDB/internal/bson2" + "github.com/FerretDB/FerretDB/internal/bson" "github.com/FerretDB/FerretDB/internal/types" "github.com/FerretDB/FerretDB/internal/util/debugbuild" "github.com/FerretDB/FerretDB/internal/util/lazyerrors" @@ -31,7 +31,7 @@ type OpReply struct { // The order of fields is weird to make the struct smaller due to alignment. // The wire order is: flags, cursor ID, starting from, documents. - document bson2.RawDocument + document bson.RawDocument CursorID int64 Flags OpReplyFlags StartingFrom int32 @@ -118,7 +118,7 @@ func (reply *OpReply) Document() (*types.Document, error) { // SetDocument sets reply document. func (reply *OpReply) SetDocument(doc *types.Document) { - d := must.NotFail(bson2.ConvertDocument(doc)) + d := must.NotFail(bson.ConvertDocument(doc)) reply.document = must.NotFail(d.Encode()) } @@ -128,7 +128,7 @@ func (reply *OpReply) logMessage(block bool) string { return "" } - m := must.NotFail(bson2.NewDocument( + m := must.NotFail(bson.NewDocument( "ResponseFlags", reply.Flags.String(), "CursorID", reply.CursorID, "StartingFrom", reply.StartingFrom, @@ -148,10 +148,10 @@ func (reply *OpReply) logMessage(block bool) string { } if block { - return bson2.LogMessageBlock(m) + return bson.LogMessageBlock(m) } - return bson2.LogMessage(m) + return bson.LogMessage(m) } // String returns a string representation for logging. diff --git a/internal/wire/wire_test.go b/internal/wire/wire_test.go index 6be708dcb13a..5cbc8150cda5 100644 --- a/internal/wire/wire_test.go +++ b/internal/wire/wire_test.go @@ -25,17 +25,17 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/FerretDB/FerretDB/internal/bson2" + "github.com/FerretDB/FerretDB/internal/bson" "github.com/FerretDB/FerretDB/internal/types" "github.com/FerretDB/FerretDB/internal/util/must" "github.com/FerretDB/FerretDB/internal/util/testutil" "github.com/FerretDB/FerretDB/internal/util/testutil/testtb" ) -// makeRawDocument converts [*types.Document] to [bson2.RawDocument]. -func makeRawDocument(pairs ...any) bson2.RawDocument { +// makeRawDocument converts [*types.Document] to [bson.RawDocument]. +func makeRawDocument(pairs ...any) bson.RawDocument { doc := must.NotFail(types.NewDocument(pairs...)) - d := must.NotFail(bson2.ConvertDocument(doc)) + d := must.NotFail(bson.ConvertDocument(doc)) return must.NotFail(d.Encode()) }