The errors have been arranged into various categories and color-coded according to the key at the bottom of this page.
An asterisk (*) in a quoted error message stands for some value filled in according to the actual query use.
Number Code | Error message | Explanation and Examples | ||||
---|---|---|---|---|---|---|
700 | Syntax error | The query doesn't satisfy the syntax as defined by the parsing grammar. Other syntax errors that slip through the net of first-pass parsing will be reported using more specific error codes. | ||||
701 | Syntax error : invalid character | The query contains a character that isn't defined anywhere in the parsing grammar. | ||||
702 | Syntax error : Bad time/data literal | The string following the ` isn't a valid date, see date syntax for details.. | ||||
703 | Syntax error: unrecognized Method name '*' | caused by a query like
|
||||
990 | scalar variable * undefined | caused by a query like
|
||||
991 | table variable * undefined | caused by a query like
|
||||
992 | iterator variable * undeclared | caused by a query like
|
||||
993 | no unnamed iterator declaration | caused by a query like
select p from p in class person where exists p->born
or select all class person where exists ->born
|
||||
961 | Malformed FROM in SelectFromWhere | caused by a query like
|
||||
988 | only one declaration allowed for default iterator | caused by a query like
|
||||
989 | multiple declaration of variable * in same scope | caused by a query like
|
||||
958 | invalid declaration | caused by a query like
This query makes no sense because $x is a scalar variable (i.e. can only have one value) and @t:2 is a column of a table (i.e. a list of values). |
||||
959 | invalid outside declaration | caused by a query like
|
||||
930 | Invalid column-selection on *:* | caused by a query like
--or--
|
||||
931 | Invalid column-selection on *:* | This error is a slight variation on error 930, but for invalid column selection by name. (Error 930 deals with selection by column-number). | ||||
932 | variable * is row based and must specify the column that is to be extracted from the iterating rows | caused by a query like
The query select a:1 from a in @tb is OK, and it will pull out the first (i.e. leftmost)
column from the table.
|
||||
However, the parser could allow the original query above, in the case that @tb has only one column anyway. This is currently not implemented. | ||||||
933 | Cannot dereference a row-based variable directly | caused by a query like
select a:1->tagname from a in @tb would be correct in the case that the
object values in column 1 in table @tb should be followed up to tag tagname.
|
||||
920 | table <union/diff/intersect> operator - column number mismatch | caused by a query like
|
||||
921 | table-argument for tableFunc expression must generate ONLY 1 column | caused by a query like
|
||||
922 | field number * out of range | caused by a query like
This error may be reported for table-fields with the order keyword, fields in row-variables and when a table-function specifies a field-number as in
|
||||
923 | field name * not in table | caused by a query like
The sort field 'b' isn't recognised in the result table, because the select-clause only defines the result to have a table with one column called 'a'. This error may be reported for table-field names used with the order keyword, field-names in row-variables and when a table-function specifies a non-existing field-name as in
|
||||
883 | The like operator can only be used on Text types | The operator ~ or the keyword like
can only be used to compare Text values. One of the expressions either side
of the operator does not evaluate to a Text value-type.
NOTE: when Object-values are compared to Text, so ~ can be used. |
||||
884 | illegal value types for comparison operator | The comparison operator used is not supported (or makes no sense) for the value types involved in the expression | ||||
885 |
Comparison involving boolean values only allows = and != operators | |||||
886 |
Comparison of two Object values only allows = and != operators | |||||
887 | Only min() or max() function can operate over DateType values! | caused by a query like
The table-function avg is not defined for values of type DateType, only min and max can be used on DateType tables. |
||||
888 | Only min() or max() function can operate over Text values! | caused by a query like
The table-function avg is not defined for values of type Text, only min and max can be used on Text tables. |
||||
889 | Table selection returns wrong type of value. | caused by a query like
Functions min, max only work over columns of Int, Float or DateType values. The functions sum, avg work over numeric values (Int or Float) only. |
||||
890 | operand of <dateDiffFunc>() is not a DateType | caused by a query like
The field a->Name will probably return a string value, and therefore the yeardiff function will fail. |
||||
895 | Arithmetic exception - division by zero | caused by a division of integer or float value zero. (Any other value-type in a division by zero will cause error No 896 first.) | ||||
896 | invalid expression types (*).(*) for arithmetic operator | caused by a query like
The arithmetic operators +, -, *, / are only defined for numeric data-types (Int, Float). |
||||
897 | invalid expression types (*).(*) for modulo operator (integer only) | The modulo operator only works on integer values. If either of the expressions evaluate to ny other type, you will get this error. | ||||
898 | incorrect expression type (*) for unary MINUS operator | caused by a query like
|
||||
899 | incorrect expression type (*) for abs() ExprFunc | caused by a query like
|
||||
860 | invalid valuetype of operand for method 'name' | The method 'name' can only be used on object or tag-values.
It converts the internal key of the object or tag into
a Text-string. The use of this method on a variable of any other valuetype will raise this error. Note: In table-results that are rendered into text-format usually show object and text-values in the same way - as quoted strings. |
||||
861 | invalid valuetype of operand for method 'class' | The method 'class' can only be used on object-values.
It will return the Text-string for the class-name
of an object value. The use of this method on a variable of any other valuetype will raise this error. |
||||
862 | invalid valuetype of operand for method 'length' | The 'length' method return an integer containing the length
of an array or Text-string. The operand to this method
must be either a Text-value or an object value.
Error 863 will be raised if an
object value does not belong to an A-class, which stores arrays
(as opposed to B-classes which store objects in B-tree format).
The use of this method on an iterator of any other valuetype will cause this error. |
||||
863 | invalid valuetype of operand for method 'length' | This error is raised if the operand to the 'length' method
is an object not belonging to an A-class.
See Error 862. |
||||
864 |
|
These timestamps methods can only be used on object-values. They return either a DateType-value or an object-value of a UserSession object relating to the session when that object was created or updated. The use of this method on a variable of any other valuetype will raise this error. |
||||
865 |
|
These timestamps methods operate on a piece of data inside an object.
That means the variable that this method can be called on, must
refer to a tag or a data-value positioned relative to a tag in an object.
Therefor this method only works if called upon such values.
The methods return either a DateType-value or an object-value of a UserSession object relating to the session when that tag or data-node was added to the object. The use of this method on a variable of any other valuetype will raise this error. |
||||
850 | Multiple declaration of table variable * in environment scope | A table variable has been declared twice in the environment context of the query. This is possibly an error in the application program that uses AQL. | ||||
810 | Incinsistent value types in table column * | caused by a query like
|
||||
941 | Unrecognized class * | caused by a query like
|
||||
942 | Unrecognized class * in construct object("<class>", ...) | caused by a query like
|
||||
952 | invalid value-type of left expression in object constructor | caused by a query like
|
||||
943 | Can't find *:* - object "*" not found in class "*" | caused by a query like
|
||||
953 | invalid value-type of right expression in object constructor | caused by a query like
|
||||
944 | Unrecognized tag * | caused by queries like
|
||||
900 | Follow position : Trying to dereference (->) something not an object | |||||
901 | Follow tag : Trying to dereference (->) something not an object | caused by a query like
|
||||
902 | Positioning within an object has to follow a tag | caused by a queries like
The notation [tagname] only makes sense if used as obj->tag[positioning], where positioning is the number of steps to the right or a name to jump to directly. Note: It is always possible to write
|
||||
903 | Illegal argument to boolean clause `exists_tag' (tags-by-name only) | caused by a query like
That is very ambiguous and only allowed by dereferencing an object using the follow-tag notation. |
||||
960 | table combining operator - error in column *, value-type mismatch between the columns the two tables | caused by a query like (find all American authors that haven't yet published)
The table operator can only combine row-compatible tables, i.e. the value types have to match in each column of both tables. |
||||
962 | table combining operator - value-type mismatch between the columns the two tables | As error 962 - Sometimes the value-types of table columns aren't known until
both tables are fully computed. This might be the case, if a select-field
is calculated as an expression whose final value isn't known until the
database specific expression evaluation.
Therefor a possible type mismatch (Error 960) remains unnoticed until after complete construction of both tables. This error will pick out any mismatches that occur during table evaluation. |
||||
The causes of these errors will be fixed in the future | ||||||
798 | Sorry : Unimplemented date-function weekdiff() | The weekdiff() date-function hasn't been written yet (as of 991004) |
Syntax Error | see AQL Syntax Document |
Semantic Error | Although the query passes the syntax check, the query isn't allowed by the language specifications |
Logical Error | Basically a semantic error as well, but probably just the wrong query. |
Evaluation Error | The query fails, because the specific database that is being used |
Unimplemented feature | Query is not wrong, but uses a certain language feature, that is not yet implemented |