1
0
Fork 0

Merge branch 'devel' of https://github.com/arangodb/arangodb into devel

This commit is contained in:
Jan Steemann 2016-01-12 20:47:21 +01:00
commit 6a799c99aa
7 changed files with 91 additions and 300 deletions

View File

@ -194,7 +194,7 @@ check-docublocks:
grep -v '.*#.*:.*' \
>> /tmp/rawindoc.txt
cat /tmp/rawindoc.txt | sed -e "s;.*ck ;;" -e "s;.*ne ;;" |sort -u > /tmp/indoc.txt
grep -R '^/// @startDocuBlock' ../../lib ../../arangod ../../arangosh ../../js --include "*.h" --include "*.cpp" --include "*.js" --include "*.mdpp" |grep -v aardvark > /tmp/rawinprog.txt
grep -R '^/// @startDocuBlock' ../DocuBlocks --include "*.md" --include "*.mdpp" |grep -v aardvark > /tmp/rawinprog.txt
# searching the Inline docublocks needs some more blacklisting:
grep -R '@startDocuBlockInline' --include "*.h" --include "*.cpp" --include "*.js" --include "*.mdpp" . |\
grep -v ppbook |\

View File

@ -87,7 +87,7 @@ However, if you use
```json
{ a.c : 1 }
```,
```
then you will find all documents, which contain a sub-document in *a*
that has an attribute *c* of value *1*. Both the following documents
@ -104,14 +104,14 @@ and
will match.
`collection.byExample(path1, value1, ...)`
```
collection.byExample(path1, value1, ...)
```
As alternative you can supply an array of paths and values.
**Examples**
Use *toArray* to get all documents at once:
@startDocuBlockInline 003_collectionByExample
@ -128,6 +128,7 @@ Use *toArray* to get all documents at once:
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock 003_collectionByExample
Use *next* to loop over all documents:
@startDocuBlockInline 004_collectionByExampleNext
@ -142,8 +143,6 @@ Use *next* to loop over all documents:
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock 004_collectionByExampleNext
!SUBSECTION First Example
<!-- js/server/modules/@arangodb/arango-collection.js-->
@ -152,7 +151,7 @@ constructs a query-by-example for a collection
`collection.firstExample(example)`
Returns the first document of a collection that matches the specified
example. If no such document exists, *null* will be returned.
example. If no such document exists, *null* will be returned.
The example has to be specified as paths and values.
See *byExample* for details.

View File

@ -43,10 +43,7 @@ The resulting set of edges can be filtered by defining one or more *examples*.
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**
@ -92,10 +89,7 @@ The resulting set of edges can be filtered by defining one or more *examples*.
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**
@ -321,10 +315,7 @@ Hence the default call would have a complexity of **O(n\*m)**;
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**
@ -381,9 +372,7 @@ The resulting set of edges can be filtered by defining one or more *examples*.
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**
@ -442,9 +431,7 @@ The resulting set of edges can be filtered by defining one or more *examples*.
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**
@ -503,9 +490,7 @@ The resulting set of vertices can be filtered by defining one or more *examples*
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**
@ -564,9 +549,7 @@ The resulting set of vertices can be filtered by defining one or more *examples*
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**
@ -625,9 +608,7 @@ The resulting set of vertices can be filtered by defining one or more *examples*
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**
@ -685,12 +666,8 @@ The resulting set of vertices can be filtered by defining one or more *examples*
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* examples (optional) See [Definition of examples](#definition-of-examples)
* options (optional) An object defining further options. Can have the following values:
* *direction*: The direction of the edges. Possible values are *outbound*, *inbound* and *any* (default).
* *edgeExamples*: Filter the edges to be followed, see [Definition of examples](#definition-of-examples)
* *edgeCollectionRestriction* : One or a list of edge-collection names that should be
@ -760,10 +737,8 @@ It does not effect earlier or later statements.
**Parameters**
@PARAM{restrictions, array, optional}
Define either one or a list of collections in the graph.
Only elements from these collections are taken into account for the result.
* restrictions (optional) Define either one or a list of collections in the graph.
Only elements from these collections are taken into account for the result.
**Examples**
@ -820,9 +795,7 @@ The result set is reduced to the set of elements that matches the given *example
**Parameters**
@PARAM{examples, object, optional}
See [Definition of examples](#definition-of-examples)
* examples (optional) See [Definition of examples](#definition-of-examples)
**Examples**

View File

@ -27,10 +27,7 @@ Returns the vertex defined with the attribute *_from* of the edge with *edgeId*
**Parameters**
@PARAM{edgeId, string, required}
*_id* attribute of the edge
* edgeId (required) *_id* attribute of the edge
**Examples**
@ -61,8 +58,7 @@ Returns the vertex defined with the attribute *_to* of the edge with *edgeId* as
**Parameters**
@PARAM{edgeId, string, required}
*_id* attribute of the edge
* edgeId (required) *_id* attribute of the edge
**Examples**
@ -96,11 +92,8 @@ Hence the default call would have a complexity of **O(n\*m)**;
**Parameters**
@PARAM{vertexExample, object, optional}
See [Definition of examples](#definition-of-examples)
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* vertexExample (optional) See [Definition of examples](#definition-of-examples)
* options (optional) An object defining further options. Can have the following values:
* *direction*: The direction of the edges. Possible values are *outbound*, *inbound* and *any* (default).
* *edgeExamples*: Filter the edges, see [Definition of examples](#definition-of-examples)
* *neighborExamples*: Filter the neighbor vertices, see [Definition of examples](#definition-of-examples)
@ -249,14 +242,10 @@ defined by the parameters vertexExamples.
**Parameters**
@PARAM{vertex1Examples, object, optional}
Filter the set of source vertices, see [Definition of examples](#definition-of-examples)
* vertex1Examples (optional) Filter the set of source vertices, see [Definition of examples](#definition-of-examples)
@PARAM{vertex2Examples, object, optional}
Filter the set of vertices compared to, see [Definition of examples](#definition-of-examples)
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* vertex2Examples (optional) Filter the set of vertices compared to, see [Definition of examples](#definition-of-examples)
* options (optional) An object defining further options. Can have the following values:
* *vertex1CollectionRestriction* : One or a list of vertex-collection names that should be
searched for source vertices.
* *vertex2CollectionRestriction* : One or a list of vertex-collection names that should be
@ -348,8 +337,7 @@ the graph and *m* the average amount of connected edges;
**Parameters**
@PARAM{options, object, optional}
An object containing options, see below:
* options (optional) An object containing options, see below:
* *direction* : The direction of the edges. Possible values are *any*,
*inbound* and *outbound* (default).
* *followCycles* (optional) : If set to *true* the query follows cycles in the graph,
@ -416,16 +404,9 @@ The complexity of the function is described
**Parameters**
@PARAM{startVertexExample, object, optional}
An example for the desired start Vertices
(see [Definition of examples](#definition-of-examples)).
@PARAM{endVertexExample, object, optional}
An example for the desired
end Vertices (see [Definition of examples](#definition-of-examples)).
@PARAM{options, object, optional}
An object containing options, see below:
* startVertexExample (optional) An example for the desired start Vertices (see [Definition of examples](#definition-of-examples)).
* endVertexExample (optional) An example for the desired end Vertices (see [Definition of examples](#definition-of-examples)).
* options (optional) An object containing options, see below:
* *direction* : The direction of the edges as a string.
Possible values are *outbound*, *inbound* and *any* (default).
* *edgeCollectionRestriction* : One or multiple edge
@ -541,12 +522,8 @@ The complexity of the function is described
**Parameters**
@PARAM{vertexExample, object, optional}
Filter the vertices, see [Definition of examples](#definition-of-examples)
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* vertexExample (optional) Filter the vertices, see [Definition of examples](#definition-of-examples)
* options (optional) An object defining further options. Can have the following values:
* *direction*: The direction of the edges. Possible values are *outbound*, *inbound* and *any* (default).
* *edgeCollectionRestriction* : One or a list of edge-collection names that should be
considered to be on the path.
@ -671,12 +648,8 @@ The complexity of the function is described
**Parameters**
@PARAM{vertexExample, object, optional}
Filter the vertices, see [Definition of examples](#definition-of-examples)
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* vertexExample (optional) Filter the vertices, see [Definition of examples](#definition-of-examples)
* options (optional) An object defining further options. Can have the following values:
* *direction*: The direction of the edges. Possible values are *outbound*, *inbound* and *any* (default).
* *edgeCollectionRestriction* : One or a list of edge-collection names that should be
considered to be on the path.
@ -809,12 +782,8 @@ The complexity of the function is described
**Parameters**
@PARAM{vertexExample, object, optional}
Filter the vertices, see [Definition of examples](#definition-of-examples)
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* vertexExample (optional) Filter the vertices, see [Definition of examples](#definition-of-examples)
* options (optional) An object defining further options. Can have the following values:
* *direction*: The direction of the edges. Possible values are *outbound*, *inbound* and *any* (default).
* *weight*: The name of the attribute of the edges containing the weight.
* *defaultWeight*: Only used with the option *weight*.
@ -933,9 +902,7 @@ The complexity of the function is described
**Parameters**
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* options (optional) An object defining further options. Can have the following values:
* *direction*: The direction of the edges. Possible values are *outbound*, *inbound* and *any* (default).
* *algorithm*: The algorithm to calculate the shortest paths, possible values are
[Floyd-Warshall](http://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm) and
@ -1004,9 +971,7 @@ The complexity of the function is described
**Parameters**
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* options (optional) An object defining further options. Can have the following values:
* *direction*: The direction of the edges. Possible values are *outbound*, *inbound* and *any* (default).
* *algorithm*: The algorithm to calculate the shortest paths, possible values are
[Floyd-Warshall](http://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm) and

View File

@ -21,10 +21,7 @@ This function is the entry point for the management and will return the correct
**Parameters**
@PARAM{relationX, object, optional}
An object representing a definition of one relation in the graph
* relationX (optional) An object representing a definition of one relation in the graph
**Examples**
@ -54,13 +51,8 @@ this function can be used to add more definitions to the initial list.
**Parameters**
@PARAM{edgeDefinitions, array, required}
A list of relation definition objects.
@PARAM{relationX, object, required}
An object representing a definition of one relation in the graph
* edgeDefinitions (required) A list of relation definition objects.
* relationX (required) An object representing a definition of one relation in the graph
**Examples**
@ -94,17 +86,11 @@ to any collection in *toVertexCollections*.
**Parameters**
@PARAM{relationName, string, required}
The name of the edge collection where the edges should be stored.
* relationName (required) The name of the edge collection where the edges should be stored.
Will be created if it does not yet exist.
@PARAM{fromVertexCollections, array, required}
One or a list of collection names. Source vertices for the edges
* fromVertexCollections (required) One or a list of collection names. Source vertices for the edges
have to be stored in these collections. Collections will be created if they do not exist.
@PARAM{toVertexCollections, array, required}
One or a list of collection names. Target vertices for the edges
* toVertexCollections (required) One or a list of collection names. Target vertices for the edges
have to be stored in these collections. Collections will be created if they do not exist.
@ -149,13 +135,9 @@ edges in any direction between any pair of vertices within the
**Parameters**
@PARAM{relationName, string, required}
The name of the edge collection where the edges should be stored.
* relationName (required) The name of the edge collection where the edges should be stored.
Will be created if it does not yet exist.
@PARAM{vertexCollections, array, required}
One or a list of collection names for which connections are allowed.
* vertexCollections (required) One or a list of collection names for which connections are allowed.
Will be created if they do not exist.
@ -203,20 +185,13 @@ to any collection in *toVertexCollections*.
**Parameters**
@PARAM{relationName, string, required}
The name of the edge collection where the edges should be stored.
* relationName (required) The name of the edge collection where the edges should be stored.
Will be created if it does not yet exist.
@PARAM{fromVertexCollections, array, required}
One or a list of collection names. Source vertices for the edges
* fromVertexCollections (required) One or a list of collection names. Source vertices for the edges
have to be stored in these collections. Collections will be created if they do not exist.
@PARAM{toVertexCollections, array, required}
One or a list of collection names. Target vertices for the edges
* toVertexCollections (required) One or a list of collection names. Target vertices for the edges
have to be stored in these collections. Collections will be created if they do not exist.
**Examples**
@ -248,15 +223,9 @@ All collections used within the creation process are created if they do not exis
**Parameters**
@PARAM{graphName, string, required}
Unique identifier of the graph
@PARAM{edgeDefinitions, array, optional}
List of relation definition objects
@PARAM{orphanCollections, array, optional}
List of additional vertex collection names
* graphName (required) Unique identifier of the graph
* edgeDefinitions (optional) List of relation definition objects
* orphanCollections (optional) List of additional vertex collection names
**Examples**
@ -383,9 +352,7 @@ A graph can be retrieved by its name.
**Parameters**
@PARAM{graphName, string, required}
Unique identifier of the graph
* graphName (required) Unique identifier of the graph
**Examples**
@ -421,13 +388,8 @@ To drop the collections, the optional parameter *drop-collections* can be set to
**Parameters**
@PARAM{graphName, string, required}
Unique identifier of the graph
@PARAM{dropCollections, boolean, optional}
Define if collections should be dropped (default: false)
* graphName (required) Unique identifier of the graph
* dropCollections (optional) Define if collections should be dropped (default: false)
**Examples**
@ -485,9 +447,7 @@ graph with different *from* and/or *to* collections an error is thrown.
**Parameters**
@PARAM{edgeDefinition, object, required}
The relation definition to extend the graph
* edgeDefinition (required) The relation definition to extend the graph
**Examples**
@ -525,10 +485,8 @@ definition will be modified, too.
**Parameters**
@PARAM{edgeDefinition, object, required}
The edge definition to replace the existing edge
definition with the same attribute *collection*.
* edgeDefinition (required) The edge definition to replace the existing edge
definition with the same attribute *collection*.
**Examples**
@ -563,12 +521,8 @@ in another edge definition of the graph, they will be moved to the orphanage.
**Parameters**
@PARAM{edgeCollectionName, string, required}
Name of edge collection in the relation definition.
@PARAM{dropCollection, boolean, optional}
Define if the edge collection should be dropped. Default false.
* edgeCollectionName (required) Name of edge collection in the relation definition.
* dropCollection (optional) Define if the edge collection should be dropped. Default false.
**Examples**
@ -629,13 +583,8 @@ definition of the graph, an error will be thrown.
**Parameters**
@PARAM{vertexCollectionName, string, required}
Name of vertex collection.
@PARAM{createCollection, boolean, optional}
If true the collection will be created if it does not exist. Default: true.
* vertexCollectionName (required) Name of vertex collection.
* createCollection (optional) If true the collection will be created if it does not exist. Default: true.
**Examples**
@ -697,14 +646,9 @@ Optionally the collection can be deleted, if it is not used in any other graph.
**Parameters**
@PARAM{vertexCollectionName, string, required}
Name of vertex collection.
@PARAM{dropCollection, boolean, optional}
If true the collection will be dropped if it is
not used in any other graph. Default: false.
* vertexCollectionName (required) Name of vertex collection.
* dropCollection (optional) If true the collection will be dropped if it is
not used in any other graph. Default: false.
**Examples**
@ -741,9 +685,7 @@ Create a new vertex in vertexCollectionName
**Parameters**
@PARAM{data, object, required}
JSON data of vertex.
* data (required) JSON data of vertex.
**Examples**
@ -771,15 +713,9 @@ Replaces the data of a vertex in collection vertexCollectionName
**Parameters**
@PARAM{vertexId, string, required}
*_id* attribute of the vertex
@PARAM{data, object, required}
JSON data of vertex.
@PARAM{options, object, optional}
See [collection documentation](../Documents/DocumentMethods.md)
* vertexId (required) *_id* attribute of the vertex
* data (required) JSON data of vertex.
* options (optional) See [collection documentation](../Documents/DocumentMethods.md)
**Examples**
@ -808,16 +744,9 @@ Updates the data of a vertex in collection vertexCollectionName
**Parameters**
@PARAM{vertexId, string, required}
*_id* attribute of the vertex
@PARAM{data, object, required}
JSON data of vertex.
@PARAM{options, object, optional}
See [collection documentation](../Documents/DocumentMethods.md)
* vertexId (required) *_id* attribute of the vertex
* data (required) JSON data of vertex.
* options (optional) See [collection documentation](../Documents/DocumentMethods.md)
**Examples**
@ -848,12 +777,8 @@ Additionally removes all ingoing and outgoing edges of the vertex recursively
**Parameters**
@PARAM{vertexId, string, required}
*_id* attribute of the vertex
@PARAM{options, object, optional}
See [collection documentation](../Documents/DocumentMethods.md)
* vertexId (required) *_id* attribute of the vertex
* options (optional) See [collection documentation](../Documents/DocumentMethods.md)
**Examples**
@ -886,18 +811,10 @@ Creates an edge from vertex *from* to vertex *to* in collection edgeCollectionNa
**Parameters**
@PARAM{from, string, required}
*_id* attribute of the source vertex
@PARAM{to, string, required}
*_id* attribute of the target vertex
@PARAM{data, object, required}
JSON data of the edge
@PARAM{options, object, optional}
See [collection documentation](../Edges/README.md)
* from (required) *_id* attribute of the source vertex
* to (required) *_id* attribute of the target vertex
* data (required) JSON data of the edge
* options (optional) See [collection documentation](../Edges/README.md)
**Examples**
@ -939,15 +856,9 @@ Replaces the data of an edge in collection edgeCollectionName
**Parameters**
@PARAM{edgeId, string, required}
*_id* attribute of the edge
@PARAM{data, object, required}
JSON data of the edge
@PARAM{options, object, optional}
See [collection documentation](../Documents/DocumentMethods.md)
* edgeId (required) *_id* attribute of the edge
* data (required) JSON data of the edge
* options (optional) See [collection documentation](../Documents/DocumentMethods.md)
**Examples**
@ -976,15 +887,9 @@ Updates the data of an edge in collection edgeCollectionName
**Parameters**
@PARAM{edgeId, string, required}
*_id* attribute of the edge
@PARAM{data, object, required}
JSON data of the edge
@PARAM{options, object, optional}
See [collection documentation](../Documents/DocumentMethods.md)
* edgeId (required) *_id* attribute of the edge
* data (required) JSON data of the edge
* options (optional) See [collection documentation](../Documents/DocumentMethods.md)
**Examples**
@ -1015,12 +920,8 @@ If this edge is used as a vertex by another edge, the other edge will be removed
**Parameters**
@PARAM{edgeId, string, required}
*_id* attribute of the edge
@PARAM{options, object, optional}
See [collection documentation](../Documents/DocumentMethods.md)
* edgeId (required) *_id* attribute of the edge
* options (optional) See [collection documentation](../Documents/DocumentMethods.md)
**Examples**
@ -1054,13 +955,9 @@ example as parameter for vertexExample.
**Parameters**
@PARAM{vertexExample1, object, optional}
See [Definition of examples](Functions.md#definition-of-examples)
@PARAM{vertexExample2, object, optional}
See [Definition of examples](Functions.md#definition-of-examples)
@PARAM{options, object, optional}
An object defining further options. Can have the following values:
* vertexExample1 (optional) See [Definition of examples](Functions.md#definition-of-examples)
* vertexExample2 (optional) See [Definition of examples](Functions.md#definition-of-examples)
* options (optional) An object defining further options. Can have the following values:
* *edgeExamples*: Filter the edges, see [Definition of examples](Functions.md#definition-of-examples)
* *edgeCollectionRestriction* : One or a list of edge-collection names that should be
considered to be on the path.

View File

@ -1,44 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
/// @startDocuBlock collectionByExampleHash
/// @brief constructs a query-by-example using a hash index
/// `collection.byExampleHash(index, example)`
///
/// Selects all documents from the specified hash index that match the
/// specified example and returns a cursor.
///
/// You can use *toArray*, *next*, or *hasNext* to access the
/// result. The result can be limited using the *skip* and *limit*
/// operator.
///
/// An attribute name of the form *a.b* is interpreted as attribute path,
/// not as attribute. If you use
///
/// *{ a : { c : 1 } }*
///
/// as example, then you will find all documents, such that the attribute
/// *a* contains a document of the form *{c : 1 }*. For example the document
///
/// *{ a : { c : 1 }, b : 1 }*
///
/// will match, but the document
///
/// *{ a : { c : 1, b : 1 } }*
///
/// will not.
///
/// However, if you use
///
/// *{ a.c : 1 }*,
///
/// then you will find all documents, which contain a sub-document in *a*
/// that has an attribute @LIT{c} of value *1*. Both the following documents
///
/// *{ a : { c : 1 }, b : 1 }* and
///
/// *{ a : { c : 1, b : 1 } }*
///
/// will match.
///
/// `collection.byExampleHash(index-id, path1, value1, ...)`
/// @endDocuBlock
////////////////////////////////////////////////////////////////////////////////

View File

@ -1,4 +1,5 @@
/*jshint strict: false, sub: true */
'use strict';
////////////////////////////////////////////////////////////////////////////////
/// @brief General unittest framework