-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: 2.5.4
-
Component/s: Index Maintenance
-
None
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
With float and booleans, the value is used as-is and also incorporated into the name. I would expect to see validation that the ordering be either negative or positive one (either an integer or float). I also found that invalid index orderings (e.g. the ORLY object below, and strings like "not2d") are simply ignored (reported separately in SERVER-12540).
> db.foo.ensureIndex({a:4.5})
> db.foo.ensureIndex({a:-4.5})
> db.foo.ensureIndex({a:true})
> db.foo.ensureIndex({a:false})
> db.foo.ensureIndex({a:{ORLY:"YARLY"}})
> db.foo.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "test.foo"
},
{
"v" : 1,
"key" : {
"a" : 4.5
},
"name" : "a_4.5",
"ns" : "test.foo"
},
{
"v" : 1,
"key" : {
"a" : -4.5
},
"name" : "a_-4.5",
"ns" : "test.foo"
},
{
"v" : 1,
"key" : {
"a" : true
},
"name" : "a_true",
"ns" : "test.foo"
},
{
"v" : 1,
"key" : {
"a" : false
},
"name" : "a_false",
"ns" : "test.foo"
}
]
And build info:
> db.runCommand('buildInfo')
{
"version" : "2.5.5-pre-",
"gitVersion" : "92cf0713b74ce2f8b011e6768a66c4e99d75a8ea",
"OpenSSLVersion" : "",
"sysInfo" : "Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49",
"loaderFlags" : "-fPIC -pthread -Wl,-z,now -rdynamic",
"compilerFlags" : "-Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe -O3 -Wno-unused-function -Wno-deprecated-declarations -fno-builtin-memcmp",
"allocator" : "tcmalloc",
"versionArray" : [
2,
5,
5,
-100
],
"javascriptEngine" : "V8",
"bits" : 64,
"debug" : false,
"maxBsonObjectSize" : 16777216,
"ok" : 1
}
The above was the latest nightly found on http://www.mongodb.org/downloads. All commits to master since that commit are: https://github.com/mongodb/mongo/compare/92cf0713b74ce2f8b011e6768a66c4e99d75a8ea...master
In particular, https://github.com/mongodb/mongo/commit/4ae262e2715092700e8fab73eb0b2bea1a119a3b (createIndexes command for SERVER-1627) did not exist in the build I tested with; however, hari.khalsa@10gen.com seemed to think that this sort of validation should have been in place for some time now.
- duplicates
-
SERVER-11064 Stricter validation of index key patterns during index creation and startup
-
- Closed
-
- is related to
-
SERVER-13383 IndexCatalog should forbid creation of index with multiple special types
-
- Closed
-
- related to
-
SERVER-12540 GLE doesn't set error for failed index builds
-
- Closed
-