1
0
Fork 0
This commit is contained in:
Frank Celler 2012-03-15 18:25:54 +01:00
parent 997f009b72
commit 360b7f96fd
9 changed files with 182 additions and 85 deletions

View File

@ -0,0 +1,15 @@
{
"_id" : "1234567/2345678",
"_rev" : "3456789",
"firstName" : "Hugo",
"lastName" : "Schlonz",
"address" : {
"street" : "Strasse 1",
"city" : "Hier"
},
"hobbies" : [
"swimming",
"biking",
"programming"
]
}

View File

@ -206,6 +206,7 @@ ALIASES += CMDOPT{1}="<tt><b>\1</b></tt>"
ALIASES += CA{1}="<var>\1</var>"
ALIASES += CO{1}="<tt>\1</tt>"
ALIASES += REST{1}="<tt><b>\1</b></tt>"
ALIASES += GE{1}="<tt><b>\1</b></tt>"
ALIASES += EXAMPLES="<b>Examples</b><br>"
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C

View File

@ -294,6 +294,7 @@ WIKI = \
Doxygen/xml/CommandLineScheduler.md \
Doxygen/xml/Compiling.md \
Doxygen/xml/DefineAction.md \
Doxygen/xml/Glossary.md \
Doxygen/xml/Graphs.md \
Doxygen/xml/HttpInterface.md \
Doxygen/xml/IndexUsage.md \

View File

@ -823,6 +823,7 @@ WIKI = \
Doxygen/xml/CommandLineScheduler.md \
Doxygen/xml/Compiling.md \
Doxygen/xml/DefineAction.md \
Doxygen/xml/Glossary.md \
Doxygen/xml/Graphs.md \
Doxygen/xml/HttpInterface.md \
Doxygen/xml/IndexUsage.md \

71
RestServer/glossary.dox Normal file
View File

@ -0,0 +1,71 @@
////////////////////////////////////////////////////////////////////////////////
/// @brief over the wire protocol
///
/// @file
///
/// DISCLAIMER
///
/// Copyright 2012 triagens GmbH, Cologne, Germany
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
/// http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.
///
/// Copyright holder is triAGENS GmbH, Cologne, Germany
///
/// @author Dr. Frank Celler
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @page Glossary
///
/// @copydoc GlossaryCollectionIdentifier
/// @copydoc GlossaryDocumentHandle
/// @cooydoc GlossaryDocumentIdentifier
/// @copydoc GlossaryDocumentRevision
///
/// @page GlossaryCollectionIdentifier
///
/// @GE{Collection Identifier}: A collection identifier identifies a collection
/// in a database. It is an integer and is unique within the database.
///
/// @page GlossaryDocumentHandle
///
/// @GE{Document Handle}: A document handle uniquely identifies a document in
/// the database. It is a string and consists of a collection identifier and a
/// document identifier separated by @LIT{/}.
///
/// @page GlossaryDocumentIdentifier
///
/// @GE{Document Identifier}: A document identifier identifies a document in a
/// database. It is an integer and is unique within the collection of the
/// document.
///
/// @page GlossaryDocumentRevision
///
/// @GE{Document Revision}: As AvocaodDB supports MVCC, documents can exist in
/// more than one revision. The document revision is the MVCC token used to
/// identify a particular revision of a document. It is an integer and unique
/// within the list of document revision for a single document. Earlier revision
/// of a document have smaller numbers. In order to find a particular revision
/// of a document, you need the document handle and the document revision.
///
/// @page GlossaryDocumentEtag
///
/// @GE{Document Etag}: The document revision enclosed in double quotes.
////////////////////////////////////////////////////////////////////////////////
// Local Variables:
// mode: c++
// mode: outline-minor
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
// End:

View File

@ -41,11 +41,27 @@
////////////////////////////////////////////////////////////////////////////////
/// @page RestDocument REST Interface for Documents
///
/// Documents in AvocadoDB are JSON objects. The objects can be nested to any
/// depth and can contains lists, for example:
///
/// @verbinclude document1
///
/// All documents contain two special fields, the document handle in @LIT{_id}
/// and the document revision in @LIT{_rev}.
///
/// @copydoc GlossaryDocumentHandle
///
/// @copydoc GlossaryDocumentIdentifier
///
/// @copydoc GlossaryDocumentRevision
///
/// @copydoc GlossaryDocumentEtag
///
/// The basic operations (create, read, update, delete) for documents are mapped
/// to the standard HTTP methods (POST, GET, PUT, DELETE). An identifier for the
/// revision is returned in the "ETag" field. If you modify a document, you can
/// use the "ETag" field to detect conflicts. The revision of a document can be
/// checking using the HTTP method HEAD.
/// document revision is returned in the "ETag" field. If you modify a document,
/// you can use the "ETag" field to detect conflicts. The revision of a document
/// can be checking using the HTTP method HEAD.
///
/// <hr>
/// @copydoc RestDocumentTOC

View File

@ -64,12 +64,8 @@ static int CompareShapeTypes (const TRI_shaped_json_t* left, const TRI_shaped_js
size_t listLength;
TRI_shaped_json_t leftElement;
TRI_shaped_json_t rightElement;
TRI_shape_t leftElementShape;
TRI_shape_t rightElementShape;
char* leftString;
char* rightString;
const TRI_array_shape_t* leftArrayShape;
const TRI_array_shape_t* rightArrayShape;
leftShape = leftShaper->lookupShapeId(leftShaper, left->_sid);
@ -344,8 +340,6 @@ static int CompareShapeTypes (const TRI_shaped_json_t* left, const TRI_shaped_js
static int CompareShapedJsonShapedJson (const TRI_shaped_json_t* left, const TRI_shaped_json_t* right, TRI_shaper_t* leftShaper, TRI_shaper_t* rightShaper) {
int result;
const TRI_shape_t* leftShape;
const TRI_shape_t* rightShape;
// ............................................................................
// the following order is currently defined for placing an order on documents
@ -605,7 +599,7 @@ static void* SkiplistIteration(TRI_skiplist_iterator_t* iterator, int64_t jumpSi
return NULL;
}
if (currentNode = interval->_leftEndPoint) {
if (currentNode == interval->_leftEndPoint) {
return NULL;
}
@ -1042,10 +1036,8 @@ int SkiplistIndex_add(SkiplistIndex* skiplistIndex, SkiplistIndexElement* elemen
TRI_skiplist_iterator_t* SkiplistIndex_find(SkiplistIndex* skiplistIndex, TRI_vector_t* shapeList, TRI_sl_operator_t* slOperator) {
SkiplistIndexElement values;
TRI_skiplist_iterator_t* results;
TRI_sl_logical_operator_t* logicalOperator;
TRI_sl_relation_operator_t* relationOperator;
TRI_skiplist_iterator_interval_t interval;
void* lookupPoint;
results = TRI_Allocate(sizeof(TRI_skiplist_iterator_t));
@ -1462,7 +1454,6 @@ int MultiSkiplistIndex_add(SkiplistIndex* skiplistIndex, SkiplistIndexElement* e
TRI_skiplist_iterator_t* MultiSkiplistIndex_find(SkiplistIndex* skiplistIndex, TRI_vector_t* shapeList, TRI_sl_operator_t* slOperator) {
SkiplistIndexElement values;
TRI_skiplist_iterator_t* results;
TRI_sl_logical_operator_t* logicalOperator;
TRI_sl_relation_operator_t* relationOperator;
TRI_skiplist_iterator_interval_t interval;

View File

@ -50,172 +50,172 @@ extern "C" {
/// numbers defined for other parts of the program (e.g. in VocBase/vocbase.h)
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_BASE (8000)
#define TRI_ERROR_QUERY_BASE (1500)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8000: Out of memory.
/// @brief 1500: Out of memory.
///
/// Will be raised during query execution when a memory allocation request can
/// not be satisfied.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_OOM (8000)
#define TRI_ERROR_QUERY_OOM (1500)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8001: Query was killed by administrator.
/// @brief 1501: Query was killed by administrator.
///
/// Will be raised when a running query is killed by an explicit admin command.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_KILLED (8001)
#define TRI_ERROR_QUERY_KILLED (1501)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8010: Parse error.
/// @brief 1510: Parse error.
///
/// Will be raised when query is parsed and is found to be syntactially invalid.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_PARSE (8010)
#define TRI_ERROR_QUERY_PARSE (1510)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8011: Query is emtpy / no command specified.
/// @brief 1511: Query is emtpy / no command specified.
///
/// Will be raised when an empty query is specified.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_EMPTY (8011)
#define TRI_ERROR_QUERY_EMPTY (1511)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8020: Specified numeric value is out of range.
/// @brief 1520: Specified numeric value is out of range.
///
/// Will be raised when a numeric value inside a query is out of the allowed
/// value range.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_NUMBER_OUT_OF_RANGE (8020)
#define TRI_ERROR_QUERY_NUMBER_OUT_OF_RANGE (1520)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8021: Specified limit value is out of range.
/// @brief 1521: Specified limit value is out of range.
///
/// Will be raised when a limit value in the query is outside the allowed range
/// (e. g. when passing a negative skip value)
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_LIMIT_VALUE_OUT_OF_RANGE (8021)
#define TRI_ERROR_QUERY_LIMIT_VALUE_OUT_OF_RANGE (1521)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8040: Too many joins.
/// @brief 1540: Too many joins.
///
/// Will be raised when the number of joins in a query is beyond the allowed
/// value.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_TOO_MANY_JOINS (8040)
#define TRI_ERROR_QUERY_TOO_MANY_JOINS (1540)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8050: Invalid name for collection.
/// @brief 1550: Invalid name for collection.
///
/// Will be raised when an invalid collection name is used in the from clause
/// of a query.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_COLLECTION_NAME_INVALID (8050)
#define TRI_ERROR_QUERY_COLLECTION_NAME_INVALID (1550)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8051: Invalid alias for collection.
/// @brief 1551: Invalid alias for collection.
///
/// Will be raised when an invalid alias name is used for a collection.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_COLLECTION_ALIAS_INVALID (8051)
#define TRI_ERROR_QUERY_COLLECTION_ALIAS_INVALID (1551)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8052: Redeclaration of alias within query.
/// @brief 1552: Redeclaration of alias within query.
///
/// Will be raised when the same alias name is declared multiple times in the
/// same query's from clause.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_COLLECTION_ALIAS_REDECLARED (8052)
#define TRI_ERROR_QUERY_COLLECTION_ALIAS_REDECLARED (1552)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8053: Usage of undeclared alias in query.
/// @brief 1553: Usage of undeclared alias in query.
///
/// Will be raised when an alias not declared in the from clause is used in the
/// query.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_COLLECTION_ALIAS_UNDECLARED (8053)
#define TRI_ERROR_QUERY_COLLECTION_ALIAS_UNDECLARED (1553)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8060: Collection not found.
/// @brief 1560: Collection not found.
///
/// Will be raised when one of the collections referenced in the query was not
/// found.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_COLLECTION_NOT_FOUND (8060)
#define TRI_ERROR_QUERY_COLLECTION_NOT_FOUND (1560)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8070: Invalid geo restriction specification.
/// @brief 1570: Invalid geo restriction specification.
///
/// Will be raised when a specified geo restriction is invalid.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_GEO_RESTRICTION_INVALID (8070)
#define TRI_ERROR_QUERY_GEO_RESTRICTION_INVALID (1570)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8071: No suitable geo index found to resolve query.
/// @brief 1571: No suitable geo index found to resolve query.
///
/// Will be raised when a geo restriction was specified but no suitable geo
/// index is found to resolve it.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_GEO_INDEX_MISSING (8071)
#define TRI_ERROR_QUERY_GEO_INDEX_MISSING (1571)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8100: No value specified for declared bind parameter.
/// @brief 1590: No value specified for declared bind parameter.
///
/// Will be raised when a bind parameter was declared in the query but the
/// query is being executed with no value for that parameter.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_BIND_PARAMETER_MISSING (8100)
#define TRI_ERROR_QUERY_BIND_PARAMETER_MISSING (1590)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8101: Redeclaration of same bind parameter value.
/// @brief 1591: Redeclaration of same bind parameter value.
///
/// Will be raised when a value gets specified multiple times for the same bind
/// parameter.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_BIND_PARAMETER_REDECLARED (8101)
#define TRI_ERROR_QUERY_BIND_PARAMETER_REDECLARED (1591)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8102: Value specified for undeclared bind parameter.
/// @brief 1592: Value specified for undeclared bind parameter.
///
/// Will be raised when a value gets specified for an undeclared bind parameter.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_BIND_PARAMETER_UNDECLARED (8102)
#define TRI_ERROR_QUERY_BIND_PARAMETER_UNDECLARED (1592)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8103: Invalid value for bind parameter.
/// @brief 1593: Invalid value for bind parameter.
///
/// Will be raised when an invalid value is specified for one of the bind
/// parameters.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_BIND_PARAMETER_VALUE_INVALID (8103)
#define TRI_ERROR_QUERY_BIND_PARAMETER_VALUE_INVALID (1593)
////////////////////////////////////////////////////////////////////////////////
/// @brief 8104: Bind parameter number is out of range.
/// @brief 1594: Bind parameter number is out of range.
///
/// Will be specified when the numeric index for a bind parameter of type
/// @LIT{\@n} is out of the allowed range.
////////////////////////////////////////////////////////////////////////////////
#define TRI_ERROR_QUERY_BIND_PARAMETER_NUMBER_OUT_OF_RANGE (8104)
#define TRI_ERROR_QUERY_BIND_PARAMETER_NUMBER_OUT_OF_RANGE (1594)
////////////////////////////////////////////////////////////////////////////////
/// @brief helper macro to define an error string

View File

@ -21,6 +21,7 @@
///
/// Copyright holder is triAGENS GmbH, Cologne, Germany
///
/// @author Dr. Frank Celler
/// @author Jan Steemann
/// @author Copyright 2012, triagens GmbH, Cologne, Germany
////////////////////////////////////////////////////////////////////////////////
@ -107,7 +108,7 @@ extern "C" {
/// VocBase/query-error.h)
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_BEGIN (1000)
#define TRI_VOC_ERROR_BEGIN (1000)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1000: Illegal state.
@ -115,7 +116,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_ILLEGAL_STATE (1000)
#define TRI_VOC_ERROR_ILLEGAL_STATE (1000)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1001: Shaper failed.
@ -123,7 +124,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_SHAPER_FAILED (1001)
#define TRI_VOC_ERROR_SHAPER_FAILED (1001)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1002: Corrupted datafile.
@ -131,7 +132,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_CORRUPTED_DATAFILE (1002)
#define TRI_VOC_ERROR_CORRUPTED_DATAFILE (1002)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1003: mmap failed.
@ -139,7 +140,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_MMAP_FAILED (1003)
#define TRI_VOC_ERROR_MMAP_FAILED (1003)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1004: msync failed.
@ -147,7 +148,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_MSYNC_FAILED (1004)
#define TRI_VOC_ERROR_MSYNC_FAILED (1004)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1005: No journal.
@ -155,7 +156,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_NO_JOURNAL (1005)
#define TRI_VOC_ERROR_NO_JOURNAL (1005)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1006: Datafile sealed.
@ -163,7 +164,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_DATAFILE_SEALED (1006)
#define TRI_VOC_ERROR_DATAFILE_SEALED (1006)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1007: Corrupted collection.
@ -171,7 +172,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_CORRUPTED_COLLECTION (1007)
#define TRI_VOC_ERROR_CORRUPTED_COLLECTION (1007)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1008: Unknown type.
@ -179,7 +180,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_UNKNOWN_TYPE (1008)
#define TRI_VOC_ERROR_UNKNOWN_TYPE (1008)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1009: Illegal parameter.
@ -187,7 +188,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_ILLEGAL_PARAMETER (1009)
#define TRI_VOC_ERROR_ILLEGAL_PARAMETER (1009)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1010: Index exists.
@ -195,7 +196,7 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_INDEX_EXISTS (1010)
#define TRI_VOC_ERROR_INDEX_EXISTS (1010)
////////////////////////////////////////////////////////////////////////////////
/// @brief 1011: Conflict.
@ -203,87 +204,87 @@ extern "C" {
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_CONFLICT (1011)
#define TRI_VOC_ERROR_CONFLICT (1011)
////////////////////////////////////////////////////////////////////////////////
/// @brief 2000: Wrong path.
/// @brief 1100: Wrong path.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_WRONG_PATH (2000)
#define TRI_VOC_ERROR_WRONG_PATH (1100)
////////////////////////////////////////////////////////////////////////////////
/// @brief 3001: Cannot rename.
/// @brief 1101: Cannot rename.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_CANNOT_RENAME (3001)
#define TRI_VOC_ERROR_CANNOT_RENAME (1101)
////////////////////////////////////////////////////////////////////////////////
/// @brief 4000: Write failed.
/// @brief 1102: Write failed.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_WRITE_FAILED (4000)
#define TRI_VOC_ERROR_WRITE_FAILED (1102)
////////////////////////////////////////////////////////////////////////////////
/// @brief 4001: Read only.
/// @brief 1103: Read only.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_READ_ONLY (4001)
#define TRI_VOC_ERROR_READ_ONLY (1103)
////////////////////////////////////////////////////////////////////////////////
/// @brief 4002: Datafile full.
/// @brief 1104: Datafile full.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_DATAFILE_FULL (4002)
#define TRI_VOC_ERROR_DATAFILE_FULL (1104)
////////////////////////////////////////////////////////////////////////////////
/// @brief 4004: Filesystem full.
/// @brief 1105: Filesystem full.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_FILESYSTEM_FULL (4004)
#define TRI_VOC_ERROR_FILESYSTEM_FULL (1105)
////////////////////////////////////////////////////////////////////////////////
/// @brief 5000: Read failed.
/// @brief 1106: Read failed.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_READ_FAILED (5000)
#define TRI_VOC_ERROR_READ_FAILED (1106)
////////////////////////////////////////////////////////////////////////////////
/// @brief 5001: File not found.
/// @brief 1107: File not found.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_FILE_NOT_FOUND (5001)
#define TRI_VOC_ERROR_FILE_NOT_FOUND (1107)
////////////////////////////////////////////////////////////////////////////////
/// @brief 5002: File not accessible.
/// @brief 1108: File not accessible.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_FILE_NOT_ACCESSIBLE (5002)
#define TRI_VOC_ERROR_FILE_NOT_ACCESSIBLE (1108)
////////////////////////////////////////////////////////////////////////////////
/// @brief 6000: Document not found.
/// @brief 1200: Document not found.
///
/// TODO
////////////////////////////////////////////////////////////////////////////////
#define TRI_VOC_ERROR_DOCUMENT_NOT_FOUND (6000)
#define TRI_VOC_ERROR_DOCUMENT_NOT_FOUND (1200)
////////////////////////////////////////////////////////////////////////////////
/// @}