Changeset: bf32aab6ebf8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bf32aab6ebf8
Modified Files:
        sql/backends/monet5/sql.mx
Branch: default
Log Message:

fixed problems on Darwin, FreeBSD and solaris (Bugs 3038) and Bug 3031 on 
windows.


diffs (46 lines):

diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx
--- a/sql/backends/monet5/sql.mx
+++ b/sql/backends/monet5/sql.mx
@@ -1865,10 +1865,11 @@ create_table_or_view( mvc *sql, char *sn
                sql_column *c = n->data;
 
                if (c->def) {
-                       char buf[BUFSIZ];
+                       char *buf;
                        sql_rel *r = NULL;
 
                        sql->sa = sa_create();
+                       buf = sa_alloc(sql->sa, strlen(c->def) + 8);
                        snprintf(buf, BUFSIZ, "select %s;", c->def);
                        r = rel_parse(sql, buf, m_deps); 
                        if (!r || !is_project(r->op) || !r->exps || 
list_length(r->exps) != 1 || rel_check_type(sql, &c->type, r->exps->h->data, 
type_equal) == NULL) 
@@ -2332,12 +2333,12 @@ create_func( mvc *sql, char *sname, sql_
                s = cur_schema(sql);
        nf = mvc_create_func(sql, NULL, s, f->base.name, f->ops, &f->res, 
f->type, f->mod, f->imp, f->query);
        if (nf && nf->query) {
-               char buf[BUFSIZ];
+               char *buf;
                sql_rel *r = NULL;
                sql_allocator *sa = sql->sa;
 
                sql->sa = sa_create();
-               snprintf(buf, BUFSIZ, "%s", nf->query);
+               buf = sa_strdup(sql->sa, nf->query);
                r = rel_parse(sql, buf, m_deps); 
                if (r) {
                        stmt *sb = rel_bin(sql, r);
@@ -2382,12 +2383,12 @@ create_trigger( mvc *sql, char *sname, c
 
        tri = mvc_create_trigger(sql, t, triggername, time, orientation, event, 
old_name, new_name, condition, query);
        if (tri) {
-               char buf[BUFSIZ];
+               char *buf;
                sql_rel *r = NULL;
                sql_allocator *sa = sql->sa;
 
                sql->sa = sa_create();
-               snprintf(buf, BUFSIZ, "%s", query);
+               buf = sa_strdup(sql->sa, query);
                r = rel_parse(sql, buf, m_deps); 
                if (r) {
                        stmt *sqs = rel_bin(sql, r);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to