Add collation option to collection.Create() by feliixx · Pull Request #37 · globalsign/mgo (original) (raw)
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
- Allow specifying the default collation for the
collection when creating it. - Add some documentation to query.Collation() method.
fix #29
Allow specifying the default collation for the collection when creating it.
Add some documentation to query.Collation() method.
fix #29
Thanks @feliixx!
You've made a huge contribution adding all the 3.4.X features and this is another great PR - thank you so much for taking the time to contribute! It's truly appreciated :)
Dom
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
domodwyer added a commit that referenced this pull request
- development: readme: credit @bozaro (#47) Fix GetBSON() method usage (#40) readme: credit @feliixx (#46) fix golint, go vet and gofmt warnings (#44) readme: add missing features / credit bson.Unmarshal returns time in UTC (#42) Introduce constants for BSON element types (#41) Test against MongoDB 3.4.x (#35) Add collation option to collection.Create() (#37) Don't panic on indexed int64 fields (#23) readme: credit @feliixx in the README (#36) add method CreateView() (#33) Update README to add appName (#32) send metadata during handshake (#28) readme: credit @feliixx for #25 (#26) add DropAllIndexes() method (#25)
Conflicts:
README.md
cluster.go
session.go
session_test.go
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.
domodwyer added a commit that referenced this pull request
- commit '0454966c021aa1737c9680aceef7e2ba26952fe3': do not lock while writing to a socket (#52) (#54) readme: credit @bozaro and @idy (#53) Improve cursorData struct unmarshaling speed (#49) readme: credit @bozaro (#47) Fix GetBSON() method usage (#40) readme: credit @feliixx (#46) fix golint, go vet and gofmt warnings (#44) readme: add missing features / credit bson.Unmarshal returns time in UTC (#42) Introduce constants for BSON element types (#41) Test against MongoDB 3.4.x (#35) Add collation option to collection.Create() (#37) Don't panic on indexed int64 fields (#23) readme: credit @feliixx in the README (#36) add method CreateView() (#33) Update README to add appName (#32) send metadata during handshake (#28) readme: credit @feliixx for #25 (#26) add DropAllIndexes() method (#25)
Conflicts:
README.md
bson/decode.go
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
libi pushed a commit to libi/mgo that referenced this pull request
- add DropAllIndexes() method (globalsign#25)
Create a new method to drop all the indexes of a collection in a single call
readme: credit @feliixx for globalsign#25 (globalsign#26)
send metadata during handshake (globalsign#28)
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 (globalsign#32)
docs: elaborate on what appName does
readme: add appName to changes
add method CreateView() (globalsign#33)
Fix globalsign#30.
Thanks to @feliixx for the time and effort.
readme: credit @feliixx in the README (globalsign#36)
Don't panic on indexed int64 fields (globalsign#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() (globalsign#37)
- Allow specifying the default collation for the collection when creating it.
- Add some documentation to query.Collation() method.
fix globalsign#29
Test against MongoDB 3.4.x (globalsign#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 globalsign#31
libi pushed a commit to libi/mgo that referenced this pull request
- add DropAllIndexes() method (globalsign#25)
Create a new method to drop all the indexes of a collection in a single call
readme: credit @feliixx for globalsign#25 (globalsign#26)
send metadata during handshake (globalsign#28)
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 (globalsign#32)
docs: elaborate on what appName does
readme: add appName to changes
add method CreateView() (globalsign#33)
Fix globalsign#30.
Thanks to @feliixx for the time and effort.
readme: credit @feliixx in the README (globalsign#36)
Don't panic on indexed int64 fields (globalsign#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() (globalsign#37)
- Allow specifying the default collation for the collection when creating it.
- Add some documentation to query.Collation() method.
fix globalsign#29
Test against MongoDB 3.4.x (globalsign#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 globalsign#31
Introduce constants for BSON element types (globalsign#41)
bson.Unmarshal returns time in UTC (globalsign#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 (globalsign#44)
Fixes globalsign#43
readme: credit @feliixx (globalsign#46)
Fix GetBSON() method usage (globalsign#40)
Fix GetBSON() method usage
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.
Minor refactoring
readme: credit @bozaro (globalsign#47)
libi pushed a commit to libi/mgo that referenced this pull request
- add DropAllIndexes() method (globalsign#25)
Create a new method to drop all the indexes of a collection in a single call
readme: credit @feliixx for globalsign#25 (globalsign#26)
send metadata during handshake (globalsign#28)
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 (globalsign#32)
docs: elaborate on what appName does
readme: add appName to changes
add method CreateView() (globalsign#33)
Fix globalsign#30.
Thanks to @feliixx for the time and effort.
readme: credit @feliixx in the README (globalsign#36)
Don't panic on indexed int64 fields (globalsign#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() (globalsign#37)
- Allow specifying the default collation for the collection when creating it.
- Add some documentation to query.Collation() method.
fix globalsign#29
Test against MongoDB 3.4.x (globalsign#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 globalsign#31
Introduce constants for BSON element types (globalsign#41)
bson.Unmarshal returns time in UTC (globalsign#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 (globalsign#44)
Fixes globalsign#43
readme: credit @feliixx (globalsign#46)
Fix GetBSON() method usage (globalsign#40)
Fix GetBSON() method usage
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.
Minor refactoring
readme: credit @bozaro (globalsign#47)
Improve cursorData struct unmarshaling speed (globalsign#49)
This change remove full BSON decoding on:
- parsing to
bson.Rawandbson.DocElemfields; - skipping unused BSON fields.
readme: credit @bozaro and @idy (globalsign#53)
readme: add @idy to contributor list
do not lock while writing to a socket (globalsign#52) (globalsign#54)
fix globalsign#51
bozaro added a commit to bozaro/mgo that referenced this pull request
…utdown-error
Close socket immediately after server_shutdown error