Changeset: f3970c6ab1b0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f3970c6ab1b0
Modified Files:
.editorconfig
sql/server/sql_parser.y
Branch: less_explain_info
Log Message:
Format grammar properly
diffs (truncated from 12236 to 300 lines):
diff --git a/.editorconfig b/.editorconfig
--- a/.editorconfig
+++ b/.editorconfig
@@ -5,7 +5,7 @@ root = true
end_of_line = lf
insert_final_newline = true
-[*.{c,h}{,.in}]
+[*.{c,h,y}{,.in}]
indent_style = tab
tab_width = 4
indent_size = tab
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -286,8 +286,8 @@ int yydebug=1;
partition_range_from
partition_range_to
path_specification
- poslng_or_param
- poslng_or_param_rows
+ poslng_or_param
+ poslng_or_param_rows
procedure_statement
return_statement
return_value
@@ -699,7 +699,7 @@ SQLCODE SQLERROR UNDER WHENEVER
%token X_BODY
%token MAX_MEMORY MAX_WORKERS OPTIMIZER
/* odbc tokens */
-%token DAYNAME MONTHNAME TIMESTAMPADD TIMESTAMPDIFF ODBC_TIMESTAMPADD
ODBC_TIMESTAMPDIFF
+%token DAYNAME MONTHNAME TIMESTAMPADD TIMESTAMPDIFF ODBC_TIMESTAMPADD
ODBC_TIMESTAMPDIFF
/* odbc data type tokens */
%token <sval>
SQL_BIGINT
@@ -798,8 +798,7 @@ SQLCODE SQLERROR UNDER WHENEVER
%nonassoc ESCAPE
%nonassoc UNBOUNDED
-%nonassoc IDENT PARTITION RANGE ROWS GROUPS PRECEDING FOLLOWING CUBE ROLLUP
- SET OBJECT VALUE WITH WITHOUT PATH
+%nonassoc IDENT PARTITION RANGE ROWS GROUPS PRECEDING FOLLOWING CUBE ROLLUP
SET OBJECT VALUE WITH WITHOUT PATH
%left '+' '-' '&' '|' '^' LEFT_SHIFT RIGHT_SHIFT LEFT_SHIFT_ASSIGN
RIGHT_SHIFT_ASSIGN CONCATSTRING
%left '*' '/' '%'
%left AT
@@ -819,721 +818,817 @@ SQLCODE SQLERROR UNDER WHENEVER
%%
sqlstmt:
- sql SCOLON
- {
- (void)yynerrs;
- if (m->sym) {
-
append_symbol(m->sym->data.lval, $1);
- $$ = m->sym;
- } else {
- m->sym = $$ = $1;
- }
- YYACCEPT;
- }
- | sql ':' named_arg_list_ref SCOLON
- {
- (void) yynerrs;
- if (!m->emode) /* don't replace
m_deps/instantiate */
- m->emode = m_prepare;
- if (m->sym) {
-
append_symbol(m->sym->data.lval, $1);
- $$ = m->sym;
- } else {
- dlist* stmts = L();
- append_symbol(stmts, $$ = $1);
- m->sym =
_symbol_create_list(SQL_MULSTMT, stmts);
- }
- /* call( query, nop(-1, false,
parameters) ) */
- if (m->sym->data.lval) {
- m->emod |= mod_exec;
- dlist* l = L();
- append_symbol(l, m->sym);
- append_symbol(l, $3);
- m->sym =
_symbol_create_list(SQL_CALL, l);
- }
- YYACCEPT;
- }
- | prepare
- {
- if (!m->emode) /* don't replace
m_deps/instantiate */
- m->emode = m_prepare;
- m->scanner.as = m->scanner.yycur;
- }
- sql SCOLON {
- if (m->sym) {
-
append_symbol(m->sym->data.lval, $3);
- $$ = m->sym;
- } else {
- m->sym = $$ = $3;
- }
- YYACCEPT;
- }
- | explain sql SCOLON
- {
- if (m->sym) {
-
append_symbol(m->sym->data.lval, $2);
- $$ = m->sym;
- } else {
- m->sym = $$ = $2;
- }
- YYACCEPT;
- }
- | SQL_TRACE sql SCOLON {
- m->emod = mod_trace;
- m->scanner.as = m->scanner.yycur;
- if (m->sym) {
-
append_symbol(m->sym->data.lval, $2);
- $$ = m->sym;
- } else {
- m->sym = $$ = $2;
- }
- YYACCEPT;
- }
- | exec SCOLON { m->sym = $$ = $1; YYACCEPT; }
- | dealloc SCOLON { m->sym = $$ = $1; YYACCEPT; }
- | /* empty */ { m->sym = $$ = NULL; YYACCEPT;
}
- | SCOLON { m->sym = $$ = NULL; YYACCEPT;
}
- | error SCOLON { m->sym = $$ = NULL; YYACCEPT;
}
- | LEX_ERROR { m->sym = $$ = NULL;
YYABORT; }
- ;
+ sql SCOLON
+ {
+ (void)yynerrs;
+ if (m->sym) {
+ append_symbol(m->sym->data.lval, $1);
+ $$ = m->sym;
+ } else {
+ m->sym = $$ = $1;
+ }
+ YYACCEPT;
+ }
+ | sql ':' named_arg_list_ref SCOLON
+ {
+ (void) yynerrs;
+ if (!m->emode) /* don't replace m_deps/instantiate */
+ m->emode = m_prepare;
+ if (m->sym) {
+ append_symbol(m->sym->data.lval, $1);
+ $$ = m->sym;
+ } else {
+ dlist* stmts = L();
+ append_symbol(stmts, $$ = $1);
+ m->sym = _symbol_create_list(SQL_MULSTMT,
stmts);
+ }
+ /* call( query, nop(-1, false, parameters) ) */
+ if (m->sym->data.lval) {
+ m->emod |= mod_exec;
+ dlist* l = L();
+ append_symbol(l, m->sym);
+ append_symbol(l, $3);
+ m->sym = _symbol_create_list(SQL_CALL, l);
+ }
+ YYACCEPT;
+ }
+ | prepare sql SCOLON
+ {
+ if (!m->emode) /* don't replace m_deps/instantiate */
+ m->emode = m_prepare;
+ m->scanner.as = m->scanner.yycur;
+ if (m->sym) {
+ append_symbol(m->sym->data.lval, $2);
+ $$ = m->sym;
+ } else {
+ m->sym = $$ = $2;
+ }
+ YYACCEPT;
+ }
+ | explain sql SCOLON
+ {
+ if (m->sym) {
+ append_symbol(m->sym->data.lval, $2);
+ $$ = m->sym;
+ } else {
+ m->sym = $$ = $2;
+ }
+ YYACCEPT;
+ }
+ | SQL_TRACE sql SCOLON
+ {
+ m->emod = mod_trace;
+ m->scanner.as = m->scanner.yycur;
+ if (m->sym) {
+ append_symbol(m->sym->data.lval, $2);
+ $$ = m->sym;
+ } else {
+ m->sym = $$ = $2;
+ }
+ YYACCEPT;
+ }
+ | exec SCOLON { m->sym = $$ = $1; YYACCEPT; }
+ | dealloc SCOLON { m->sym = $$ = $1; YYACCEPT; }
+ | /* empty */ { m->sym = $$ = NULL; YYACCEPT; }
+ | SCOLON { m->sym = $$ = NULL; YYACCEPT; }
+ | error SCOLON { m->sym = $$ = NULL; YYACCEPT; }
+ | LEX_ERROR { m->sym = $$ = NULL; YYABORT; }
+ ;
explain:
- SQL_EXPLAIN temporal relational_step
opt_show_properties
- {
- m->emode = m_plan;
- m->scanner.as = m->scanner.yycur;
- }
- | SQL_EXPLAIN temporal physical_step
opt_show_properties
- {
- m->emod = mod_explain;
- m->scanner.as = m->scanner.yycur;
- }
- | SQL_EXPLAIN physical_step opt_show_properties
- {
- m->emod = mod_explain;
- m->scanner.as = m->scanner.yycur;
- }
- | SQL_EXPLAIN opt_show_properties
- {
- m->emode = m_plan;
- m->step = S_REWRITE;
- m->temporal = T_AFTER;
- m->scanner.as = m->scanner.yycur;
- }
- ;
+ SQL_EXPLAIN temporal relational_step opt_show_properties
+ {
+ m->emode = m_plan;
+ m->scanner.as = m->scanner.yycur;
+ }
+ | SQL_EXPLAIN temporal physical_step opt_show_properties
+ {
+ m->emod = mod_explain;
+ m->scanner.as = m->scanner.yycur;
+ }
+ | SQL_EXPLAIN physical_step opt_show_properties
+ {
+ m->emod = mod_explain;
+ m->scanner.as = m->scanner.yycur;
+ }
+ | SQL_EXPLAIN opt_show_properties
+ {
+ m->emode = m_plan;
+ m->step = S_REWRITE;
+ m->temporal = T_AFTER;
+ m->scanner.as = m->scanner.yycur;
+ }
+ ;
relational_step:
- UNNEST { m->step = S_UNNEST; }
- | REWRITE { m->step = S_REWRITE; }
- ;
+ UNNEST { m->step = S_UNNEST; }
+ | REWRITE { m->step = S_REWRITE; }
+ ;
physical_step:
- PHYSICAL { m->step = S_PHYSICAL; }
+ PHYSICAL { m->step = S_PHYSICAL; }
;
temporal:
- BEFORE { m->temporal = T_BEFORE; }
- | AFTER { m->temporal = T_AFTER; }
- ;
+ BEFORE { m->temporal = T_BEFORE; }
+ | AFTER { m->temporal = T_AFTER; }
+ ;
opt_show_properties:
- SHOW DETAILS { m->show_props = true; }
- | /* empty */
- ;
+ SHOW DETAILS { m->show_props = true; }
+ | /* empty */
+ ;
prepare:
- PREPARE
- | PREP
- ;
+ PREPARE
+ | PREP
+ ;
execute:
- EXECUTE
- | EXEC
- ;
+ EXECUTE
+ | EXEC
+ ;
opt_prepare:
- /* empty */
- | prepare
- ;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]