diff --git a/src/sql/lexer.l b/src/sql/lexer.l index 9f91d3b..c83bc2b 100644 --- a/src/sql/lexer.l +++ b/src/sql/lexer.l @@ -98,6 +98,8 @@ strptime { return STRPTIME; } return IDENT; } +\[[^\]]+\] { yylval->name = g_strndup(yytext+1, yyleng-2); return NAME; } + [a-z\xa0-\xff][a-z0-9_#@\xa0-\xff]* { yylval->name = g_strdup(yytext); return NAME; } '[^']*'' { diff --git a/src/util/mdb-queries.c b/src/util/mdb-queries.c index 248a844..9fe839c 100644 --- a/src/util/mdb-queries.c +++ b/src/util/mdb-queries.c @@ -182,12 +182,10 @@ int main (int argc, char **argv) { } break; case 5: // table name - if(strcmp(sql_tables,"") == 0) { - strcpy(sql_tables,name1); - } else { + if(strcmp(sql_tables,"") != 0) { strcat(sql_tables,","); - strcat(sql_tables,name1); } + sprintf(sql_tables+strlen(sql_tables),"[%s]",name1); break; case 6: // column name if(strcmp(sql_columns,"") == 0) {