Improve cursorData struct unmarshaling speed by bozaro · Pull Request #49 · globalsign/mgo (original) (raw)
domodwyer added a commit that referenced this pull request
- add DropAllIndexes() method (#25)
Create a new method to drop all the indexes of a collection in a single call
fix #484
Annotate connections with metadata provided by the connecting client.
informations send:
{ "aplication": { // optional "name": "myAppName" } "driver": { "name": "mgo", "version": "v2" }, "os": { "type": runtime.GOOS, "architecture": runtime.GOARCH } }
to set "application.name", add appname param in options
of string connection URI,
for example : "mongodb://localhost:27017?appname=myAppName"
Update README to add appName (#32)
docs: elaborate on what appName does
readme: add appName to changes
add method CreateView() (#33)
Fix #30.
Thanks to @feliixx for the time and effort.
Don't panic on indexed int64 fields (#23)
Stop all db instances after tests (go-mgo#462)
If all tests pass, the builds for mongo earlier than 2.6 are still failing. Running a clean up fixes the issue.
fixing int64 type failing when getting indexes and trying to type them
requested changes relating to case statement and panic
Update README.md to credit @mapete94.
tests: ensure indexed int64 fields do not cause a panic in Indexes()
See:
Add collation option to collection.Create() (#37)
- Allow specifying the default collation for the collection when creating it.
- Add some documentation to query.Collation() method.
fix #29
Test against MongoDB 3.4.x (#35)
test against MongoDB 3.4.x
tests: use listIndexes to assert index state for 3.4+
make test pass against v3.4.x
skip
TestViewWithCollationbecause of SERVER-31049, cf: https://jira.mongodb.org/browse/SERVER-31049add versionAtLeast() method in init.js script to better detect server version
fixes #31
Introduce constants for BSON element types (#41)
bson.Unmarshal returns time in UTC (#42)
readme: add missing features / credit
Adds missing collation feature description (by @feliixx).
Adds missing 3.4 tests description (by @feliixx).
Adds BSON constants description (by @bozaro).
Adds UTC time.Time unmarshalling (by @gazoon).
fix golint, go vet and gofmt warnings (#44)
Fixes #43
Original issue
You can't use type with custom GetBSON() method mixed with structure field type and structure field reference type.
For example, you can't create custom GetBSON() for Bar type:
struct Foo {
a Bar
b *Bar
}Type implementation (func (t Bar) GetBSON() ) would crash on Foo.b = nil value encoding.
Reference implementation (func (t *Bar) GetBSON() ) would not call on Foo.a value encoding.
After this change
For type implementation func (t Bar) GetBSON() would not call on Foo.b = nil value encoding.
In this case nil value would be seariazied as nil BSON value.
For reference implementation func (t *Bar) GetBSON() would call even on Foo.a value encoding.
This change remove full BSON decoding on:
- parsing to
bson.Rawandbson.DocElemfields; - skipping unused BSON fields.
readme: add @idy to contributor list
fix #51