//////////////////////////////////////////////////////////////////////////////// /// @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 GlossaryCollection /// /// @copydoc GlossaryCollectionIdentifier /// /// @copydoc GlossaryCollectionName /// /// @copydoc GlossaryDocument /// /// @copydoc GlossaryDocumentEtag /// /// @copydoc GlossaryDocumentHandle /// /// @copydoc GlossaryDocumentIdentifier /// /// @copydoc GlossaryDocumentRevision /// /// @copydoc GlossaryEdge /// /// @copydoc GlossaryEdgeCollection /// /// @copydoc GlossaryIndexGeo /// /// @copydoc GlossaryIndexHash /// /// @copydoc GlossaryIndex /// /// @copydoc GlossaryIndexHandle /// /// @copydoc GlossaryIndexPrioQueue /// /// @copydoc GlossaryIndexSkiplist //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page GlossaryCollection //////////////////////////// /// /// @GE{Collection}: A collection consists of documents. It is uniquely identified /// by it's collection identifier. It also has a unique name. /// /// @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 GlossaryCollectionName //////////////////////////////// /// /// @GE{Collection Name}: A collection name identifies a collection in a /// database. It is an string and is unique within the database. Unlike the /// collection identifier it is supplied by the creator of the collection. The /// collection name can consist of letters, digits and the characters @LIT{_} and /// @LIT{-}. However, the first character must be a letter. /// /// @page GlossaryDocument ////////////////////////// /// /// @GE{Document}: Documents in ArangoDB are JSON objects. These objects can be /// nested (to any depth) and may contains lists. Each document is unique identified /// by its document handle. /// /// @page GlossaryDocumentEtag ////////////////////////////// /// /// @GE{Document Etag}: The document revision enclosed in double quotes. /// /// @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 /// given collection. 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 GlossaryEdge ////////////////////// /// /// @GE{Edge}: Edges in ArangoDB are special documents. In addition to the /// internal attributes @LIT{_id} and @LIT{_rev}, they have two attributes /// @LIT{_form} and @LIT{_to}, which contain document handles namely the /// start-point and the end-point of the edge. /// /// @page GlossaryEdgeCollection //////////////////////////////// /// /// @GE{Edge Collection}: Edge collections are special collection where /// edge documents live. Instead of using @LIT{db}, one must use @LIT{edges} /// to access the edge collection. /// /// @page GlossaryIndexGeo ////////////////////////// /// /// @GE{Geo Index}: A geo index is used to find places on the surface of the /// earth fast. /// /// @page GlossaryIndexHash /////////////////////////// /// /// @GE{Hash Index}: A hash index is used to find documents based on examples. /// /// @page GlossaryIndex /////////////////////// /// /// @GE{Index}: Indexes are used to allow fast access to documents. For each /// collection there is always the primary index which is a hash index for /// the document identifier. /// /// @page GlossaryIndexHandle ///////////////////////////// /// /// @GE{Index Handle}: An index handle uniquely identifies an index in the /// database. It is a string and consists of a collection identifier and a /// index identifier separated by @LIT{/}. /// /// @page GlossaryIndexPrioQueue //////////////////////////////// /// /// @GE{Priority Queue}: A priority queue based on an attribute of the /// documents. /// /// @page GlossaryIndexSkiplist /////////////////////////////// /// /// @GE{Skiplist Index}: A skiplist is used to find ranges of documents. //////////////////////////////////////////////////////////////////////////////// // Local Variables: // mode: c++ // mode: outline-minor // outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)" // End: