///////////////////////////////////////////////////////////////////////////// // // Provider SQL Level 1 Syntax (LL1) // // 21-Jun-96 Created // 01-Jul-96 Instrinsic functions on constants // // Simple SQL subset for unary queries to be implemented within individual // providers. // ///////////////////////////////////////////////////////////////////////////// ::= SELECT FROM ; ::= WHERE ; ::= <>; ::= ; ::= COMMA ; ::= <>; ::= IDENTIFIER; ::= ASTERISK; ::= IDENTIFIER; // Subexpression nesting. This particular sequence gives // a series of AND clauses precedence over OR clauses. ::= ; ::= OR ; ::= <>; ::= ; ::= AND ; ::= <>; // Simple expression types. // ======================== ::= NOT ; ::= OPEN_PAREN CLOSE_PAREN; ::= IDENTIFIER ; ::= VARIANT ; ::= IDENTIFIER ; ::= OPEN_PAREN IDENTIFIER CLOSE_PAREN; ::= <>; ::= OPEN_PAREN ; ::= ; ::= ; ::= NULL; ::= IDENTIFIER CLOSE_PAREN ; ::= CLOSE_PAREN ; ::= NULL; ::= ; ::= ; ::= ; ::= IDENTIFIER OPEN_PAREN CLOSE_PAREN; ::= VARIANT; // VT_R8, VT_I4, VT_BSTR ::= <>; // This is just a semantic production in the parser to allow // all the important code to be located in one place. ::= ; ::= ; ::= EQUIVALENT_OPERATOR; // =, != ::= COMPARE_OPERATOR; // <=, >=, <, >, like ::= ISNOT_OPERATOR; // IS, IS NOT