doc/book/en/annexes/rql/implementation.rst
changeset 7578 49be8619b745
parent 5393 875bdc0fe8ce
equal deleted inserted replaced
7577:9892937d9041 7578:49be8619b745
     9 The terminal elements are in capital letters, non-terminal in lowercase.
     9 The terminal elements are in capital letters, non-terminal in lowercase.
    10 The value of the terminal elements (between quotes) is a Python regular
    10 The value of the terminal elements (between quotes) is a Python regular
    11 expression.
    11 expression.
    12 ::
    12 ::
    13 
    13 
    14      statement:: = (select | delete | insert | update) ';'
    14      statement ::= (select | delete | insert | update) ';'
    15 
    15 
    16 
    16 
    17      # select specific rules
    17      # select specific rules
    18      select      ::= 'DISTINCT'? E_TYPE selected_terms restriction? group? sort?
    18      select      ::= 'DISTINCT'? E_TYPE selected_terms restriction? group? sort?
    19 
    19 
   128 
   128 
   129 - The current implementation does not support linking two relations of type 'is'
   129 - The current implementation does not support linking two relations of type 'is'
   130   with an OR. I do not think that the negation is supported on this type of
   130   with an OR. I do not think that the negation is supported on this type of
   131   relation (XXX to be confirmed).
   131   relation (XXX to be confirmed).
   132 
   132 
   133 - Relations defining the variables must be left to those using them.  For
   133 - missing COALESCE and certainly other things...
   134   example::
       
   135 
       
   136      Point P where P abs X, P ord Y, P value X+Y
       
   137 
       
   138   is valid, but::
       
   139 
       
   140      Point P where P abs X, P value X+Y, P ord Y
       
   141 
       
   142   is not.
       
   143 
       
   144 - missing proper explicit type conversion, COALESCE and certainly other things...
       
   145 
   134 
   146 - writing an rql query requires knowledge of the used schema (with real relation
   135 - writing an rql query requires knowledge of the used schema (with real relation
   147   names and entities, not those viewed in the user interface). On the other
   136   names and entities, not those viewed in the user interface). On the other
   148   hand, we cannot really bypass that, and it is the job of a user interface to
   137   hand, we cannot really bypass that, and it is the job of a user interface to
   149   hide the RQL.
   138   hide the RQL.