1
0
Fork 0

Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel

This commit is contained in:
Max Neunhoeffer 2016-07-29 14:21:17 +02:00
commit 4feb8ff40f
2 changed files with 31 additions and 1 deletions

View File

@ -25,7 +25,7 @@ COLLECTIONS()
In contrast to collection and variable names, function names are case-insensitive,
i.e. *LENGTH(foo)* and *length(foo)* are equivalent.
!SUBSUBSECTION Extending AQL
!SUBSECTION Extending AQL
It is possible to extend AQL with user-defined functions. These functions need to
be written in JavaScript, and be registered before usage in a query. Please refer
@ -44,3 +44,22 @@ MYFUNCTIONS::MATH::RANDOM()
```
As all AQL function names, user function names are also case-insensitive.
!SUBSUBSECTION Technical Details
ArangoDB stores user defined functions in the `_functions` system collection.
When an AQL statement refers to such a function, its loaded from that collection.
Since the optimizer doesn't know anything about this function, it won't be able
to use indices for these functions.
When used in clusters, the UDF is executed on the coordinator. Depending on your
query layout, this may result in many documents having to be passed up from the
DB-Servers to the Coordinator. To avoid this, you should make sure that the query
contains effective `FILTER` statements that can be used to DB-Server to reduce
the query result before passing it up to the Coordinator and your UDF.
Since the Coordinator doesn't have own local collections, the `_functions` collection
is sharded across the cluster. Therefore (as usual) it has to be accessed through the coordinator -
you mustn't talk to the DB-Servers directly. Once its in there, it will be available
on all coordinators.

View File

@ -758,6 +758,17 @@ Then click on `arangodb`.
On the following screen click on the first port next to the IP Address of your cluster.
Deploying a locally changed version
-----------------------------------
Create local docker images using the following repositories:
https://github.com/arangodb/arangodb-docker
https://github.com/arangodb/arangodb-mesos-docker
https://github.com/arangodb/arangodb-mesos-framework
Then adjust the docker images in the config and redeploy.
--------------------------------------------------------------------------------
Front-End (WebUI)
=========