Changeset: 892f00f42d67 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=892f00f42d67
Modified Files:
Branch: Aug2011
Log Message:
Merge with Apr2011 branch.
diffs (109 lines):
diff --git a/sql/server/sql_semantic.c b/sql/server/sql_semantic.c
--- a/sql/server/sql_semantic.c
+++ b/sql/server/sql_semantic.c
@@ -751,6 +751,9 @@
return NULL;
if (b) {
char *o = b;
+ b = strconcat(b,".");
+ _DELETE(o);
+ o = b;
b = strconcat(b,s);
_DELETE(o);
_DELETE(s);
@@ -775,9 +778,11 @@
len = snprintf( buf+len, BUFSIZ-len, "%s(", op);
for (; ops; ops = ops->next) {
- char *tmp;
+ char *tmp = symbol2string(sql, ops->data.sym, err);
+ if (tmp == NULL)
+ return NULL;
len = snprintf( buf+len, BUFSIZ-len, "%s%s",
- tmp = symbol2string(sql, ops->data.sym, err),
+ tmp,
(ops->next)?",":"");
_DELETE(tmp);
}
@@ -786,8 +791,16 @@
case SQL_BINOP: {
dnode *lst = se->data.lval->h;
char *op = qname_fname(lst->data.lval);
- char *l = symbol2string(sql, lst->next->data.sym, err);
- char *r = symbol2string(sql, lst->next->next->data.sym, err);
+ char *l;
+ char *r;
+ l = symbol2string(sql, lst->next->data.sym, err);
+ if (l == NULL)
+ return NULL;
+ r = symbol2string(sql, lst->next->next->data.sym, err);
+ if (r == NULL) {
+ _DELETE(l);
+ return NULL;
+ }
len = snprintf( buf+len, BUFSIZ-len, "%s(%s,%s)", op, l, r);
_DELETE(l);
_DELETE(r);
@@ -801,6 +814,8 @@
dnode *lst = se->data.lval->h;
char *op = qname_fname(lst->data.lval);
char *l = symbol2string(sql, lst->next->data.sym, err);
+ if (l == NULL)
+ return NULL;
len = snprintf( buf+len, BUFSIZ-len, "%s(%s)", op, l);
_DELETE(l);
break;
@@ -834,15 +849,25 @@
atom *a = sql_bind_arg(sql, l->h->data.i_val);
return atom2sql(a);
} else {
- *err = dlist2string(sql, l, err);
+ char *e = dlist2string(sql, l, err);
+ if (e)
+ *err = e;
}
return NULL;
}
case SQL_CAST: {
dlist *dl = se->data.lval;
- char *val = symbol2string(sql, dl->h->data.sym, err);
- char *tpe = subtype2string(&dl->h->next->data.typeval);
-
+ char *val;
+ char *tpe;
+
+ val = symbol2string(sql, dl->h->data.sym, err);
+ if (val == NULL)
+ return NULL;
+ tpe = subtype2string(&dl->h->next->data.typeval);
+ if (tpe == NULL) {
+ _DELETE(val);
+ return NULL;
+ }
len = snprintf( buf+len, BUFSIZ-len, "cast ( %s as %s )",
val, tpe);
_DELETE(val);
diff --git a/sql/test/BugTracker-2011/Tests/All
b/sql/test/BugTracker-2011/Tests/All
--- a/sql/test/BugTracker-2011/Tests/All
+++ b/sql/test/BugTracker-2011/Tests/All
@@ -24,3 +24,5 @@
subquery_in_where.Bug-2823
func_iter_vs_bulk.Bug-2826
UDF_in_schema.Bug-2817
+with-scope.Bug-2058
+blob-update-crash.Bug-2832
diff --git
a/sql/test/BugTracker-2011/Tests/alter_incorrect_syntax_crash.Bug-2795.stable.err
b/sql/test/BugTracker-2011/Tests/alter_incorrect_syntax_crash.Bug-2795.stable.err
---
a/sql/test/BugTracker-2011/Tests/alter_incorrect_syntax_crash.Bug-2795.stable.err
+++
b/sql/test/BugTracker-2011/Tests/alter_incorrect_syntax_crash.Bug-2795.stable.err
@@ -32,9 +32,9 @@
# 12:32:37 > mclient -lsql -ftest -i -e --host=alf --port=38195
# 12:32:37 >
-MAPI = monetdb@alf:38195
+MAPI = monetdb@ottar:34692
QUERY = alter table t2795 add r float default sqrt(power(t2795.x, 2) +
power(t2795.y, 2));
-ERROR = !syntax error, unexpected sqlNULL in: "select sqrt(sql_add(power((null"
+ERROR = !incorrect default value 't2795.x'
# 12:32:37 >
# 12:32:37 > Done.
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list