query planner stuff

some gcc -Wall fixes
added suport for _ in identifier names in SQL
gmdb2 manual additions
This commit is contained in:
brianb
2003-01-20 16:04:24 +00:00
parent bafa51bd88
commit 092e2b79af
34 changed files with 1143 additions and 382 deletions

View File

@@ -26,9 +26,8 @@ static MdbSQL *g_sql;
if (sql) {
g_sql = sql;
} else {
return g_sql;
}
return g_sql;
}
%}
@@ -42,7 +41,7 @@ static MdbSQL *g_sql;
%token <name> IDENT NAME PATH STRING NUMBER
%token SELECT FROM WHERE CONNECT DISCONNECT TO LIST TABLES WHERE AND
%token SELECT FROM WHERE CONNECT DISCONNECT TO LIST TABLES WHERE AND OR NOT
%token DESCRIBE TABLE
%token LTEQ GTEQ LIKE
@@ -52,6 +51,11 @@ static MdbSQL *g_sql;
%%
stmt:
query
| error { yyclearin; mdb_sql_reset(_mdb_sql(NULL)); }
;
query:
SELECT column_list FROM table where_clause {
mdb_sql_select(_mdb_sql(NULL));
@@ -76,8 +80,11 @@ where_clause:
;
sarg_list:
sarg
| sarg AND sarg_list
sarg
| '(' sarg_list ')'
| NOT sarg_list { mdb_sql_add_not(_mdb_sql(NULL)); }
| sarg_list OR sarg_list { mdb_sql_add_or(_mdb_sql(NULL)); }
| sarg_list AND sarg_list { mdb_sql_add_and(_mdb_sql(NULL)); }
;
sarg:
@@ -109,6 +116,7 @@ constant:
database:
PATH
| NAME
;
table:
NAME { mdb_sql_add_table(_mdb_sql(NULL), $1); free($1); }