Changeset: 11dcfc14625c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=11dcfc14625c
Modified Files:
sql/backends/monet5/sql_statement.c
Branch: default
Log Message:
Fix after changeset 008005f1b242.
s->op3 is used to point to a sql_table* instead of a stmt* in the case
of a declared table (see stmt_vars()). If that happens, s->op2 is
NULL. So in order to not crash, we only push s->op3 if s->op2 is not
NULL.
diffs (22 lines):
diff --git a/sql/backends/monet5/sql_statement.c
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -1756,12 +1756,13 @@ stack_push_children(sql_stack *stk, stmt
default:
if ((s->type == st_uselect2 || s->type == st_unique || s->type
== st_group) && s->op4.stval)
stack_push_stmt(stk, s->op4.stval, 1);
- if (s->op3)
- stack_push_stmt(stk, s->op3, 1);
- if (s->op3)
- stack_push_stmt(stk, s->op3, 1);
- if (s->op2)
+ if (s->op2) {
+ if (s->op3)
+ stack_push_stmt(stk, s->op3, 1);
+ if (s->op3)
+ stack_push_stmt(stk, s->op3, 1);
stack_push_stmt(stk, s->op2, 1);
+ }
if (s->op1)
stack_push_stmt(stk, s->op1, 1);
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list