mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
This commit is contained in:
commit
03cf0d69fb
43
CHANGELOG
43
CHANGELOG
|
@ -1,6 +1,16 @@
|
||||||
v2.3.0 (XXXX-XX-XX)
|
v2.3.0 (XXXX-XX-XX)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
* changed return value of Foxx.applicationContext#collectionName:
|
||||||
|
|
||||||
|
Previously, the function could return invalid collection names because
|
||||||
|
invalid characters were not replaced in the application name prefix, only
|
||||||
|
in the collection name passed.
|
||||||
|
|
||||||
|
Now, the function replaces invalid characters also in the application name
|
||||||
|
prefix, which might to slightly different results for application names that
|
||||||
|
contained any characters outside the ranges [a-z], [A-Z] and [0-9].
|
||||||
|
|
||||||
* prevent XSS in AQL editor and logs view
|
* prevent XSS in AQL editor and logs view
|
||||||
|
|
||||||
* integrated tutorial into ArangoShell and web interface
|
* integrated tutorial into ArangoShell and web interface
|
||||||
|
@ -77,9 +87,40 @@ v2.3.0 (XXXX-XX-XX)
|
||||||
storing JavaScript date objects in the database in a sensible manner.
|
storing JavaScript date objects in the database in a sensible manner.
|
||||||
|
|
||||||
|
|
||||||
v2.2.3 (2014-XX-XX)
|
v2.2.4 (2014-XX-XX)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
* fixed issue #1016: AQL editor bug
|
||||||
|
|
||||||
|
* fixed issue #1014: WITHIN function returns wrong distance
|
||||||
|
|
||||||
|
* fixed AQL shortest path calculation in function `GRAPH_SHORTEST_PATH` to return
|
||||||
|
complete vertex objects instead of just vertex ids
|
||||||
|
|
||||||
|
* allow changing of attributes of documents stored in server-side JavaScript variables
|
||||||
|
|
||||||
|
Previously, the following did not work:
|
||||||
|
|
||||||
|
var doc = db.collection.document(key);
|
||||||
|
doc._key = "abc"; // overwriting internal attributes not supported
|
||||||
|
doc.value = 123; // overwriting existing attributes not supported
|
||||||
|
|
||||||
|
Now, modifying documents stored in server-side variables (e.g. `doc` in the above case)
|
||||||
|
is supported. Modifying the variables will not update the documents in the database,
|
||||||
|
but will modify the JavaScript object (which can be written back to the database using
|
||||||
|
`db.collection.update` or `db.collection.replace`)
|
||||||
|
|
||||||
|
* fixed issue #997: arangoimp apparently doesn't support files >2gig on Windows
|
||||||
|
|
||||||
|
large file support (requires using `_stat64` instead of `stat`) is now supported on
|
||||||
|
Windows
|
||||||
|
|
||||||
|
|
||||||
|
v2.2.3 (2014-09-02)
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
* added `around` for Foxx controller
|
||||||
|
|
||||||
* added `type` option for HTTP API `GET /_api/document?collection=...`
|
* added `type` option for HTTP API `GET /_api/document?collection=...`
|
||||||
|
|
||||||
This allows controlling the type of results to be returned. By default, paths to
|
This allows controlling the type of results to be returned. By default, paths to
|
||||||
|
|
|
@ -207,7 +207,6 @@
|
||||||
var inputEditor = ace.edit("aqlEditor");
|
var inputEditor = ace.edit("aqlEditor");
|
||||||
inputEditor.getSession().setMode("ace/mode/aql");
|
inputEditor.getSession().setMode("ace/mode/aql");
|
||||||
inputEditor.setFontSize("16px");
|
inputEditor.setFontSize("16px");
|
||||||
inputEditor.setOptions({fontFamily: "Courier New"});
|
|
||||||
inputEditor.commands.addCommand({
|
inputEditor.commands.addCommand({
|
||||||
name: "togglecomment",
|
name: "togglecomment",
|
||||||
bindKey: {win: "Ctrl-Shift-C", linux: "Ctrl-Shift-C", mac: "Command-Shift-C"},
|
bindKey: {win: "Ctrl-Shift-C", linux: "Ctrl-Shift-C", mac: "Command-Shift-C"},
|
||||||
|
|
|
@ -420,7 +420,7 @@ function DatabaseSuite () {
|
||||||
internal.db._useDatabase("UnitTestsDatabase0");
|
internal.db._useDatabase("UnitTestsDatabase0");
|
||||||
assertEqual("UnitTestsDatabase0", internal.db._name());
|
assertEqual("UnitTestsDatabase0", internal.db._name());
|
||||||
var c1 = internal.db._create("test1");
|
var c1 = internal.db._create("test1");
|
||||||
assertEqual([ "test1" ], getCollections());
|
assertNotEqual(-1, getCollections().indexOf("test1"));
|
||||||
c1.save({ "_key": "foo" });
|
c1.save({ "_key": "foo" });
|
||||||
assertEqual(1, internal.db._collection("test1").count());
|
assertEqual(1, internal.db._collection("test1").count());
|
||||||
assertEqual(1, c1.count());
|
assertEqual(1, c1.count());
|
||||||
|
@ -429,7 +429,7 @@ function DatabaseSuite () {
|
||||||
internal.db._useDatabase("UNITTESTSDATABASE0");
|
internal.db._useDatabase("UNITTESTSDATABASE0");
|
||||||
assertEqual("UNITTESTSDATABASE0", internal.db._name());
|
assertEqual("UNITTESTSDATABASE0", internal.db._name());
|
||||||
var c2 = internal.db._create("test1");
|
var c2 = internal.db._create("test1");
|
||||||
assertEqual([ "test1" ], getCollections());
|
assertNotEqual(-1, getCollections().indexOf("test1"));
|
||||||
c2.save({ "_key": "foo" });
|
c2.save({ "_key": "foo" });
|
||||||
c2.save({ "_key": "bar" });
|
c2.save({ "_key": "bar" });
|
||||||
c2.save({ "_key": "baz" });
|
c2.save({ "_key": "baz" });
|
||||||
|
|
|
@ -198,7 +198,7 @@ function extendContext (context, app, root) {
|
||||||
}
|
}
|
||||||
|
|
||||||
context.collectionName = function (name) {
|
context.collectionName = function (name) {
|
||||||
var replaced = (cp + name.replace(/[^a-zA-Z0-9]/g, '_').replace(/(^_+|_+$)/g, '')).substr(0, 64);
|
var replaced = ((cp + name).replace(/[^a-zA-Z0-9]/g, '_').replace(/(^_+|_+$)/g, '')).substr(0, 64);
|
||||||
|
|
||||||
if (replaced.length === 0) {
|
if (replaced.length === 0) {
|
||||||
throw new Error("Cannot derive collection name from '" + name + "'");
|
throw new Error("Cannot derive collection name from '" + name + "'");
|
||||||
|
|
Loading…
Reference in New Issue