Changeset: ccf00538db5f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ccf00538db5f
Modified Files:
        sql/backends/monet5/sql_gencode.c
Branch: Aug2011
Log Message:

sql_gencode: use sa_allocator to allocate as much as is necessary to hold 
schema.table name


diffs (46 lines):

diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -138,9 +138,10 @@ dump_header(mvc *sql, MalBlkPtr mb, stmt
                char *cn = column_name(sql->sa, c);
                char *ntn = sql_escape_ident(tn);
                char *nsn = sql_escape_ident(sn);
-               char fqtn[512];
+               size_t fqtnl = strlen(ntn) + 1 + strlen(nsn) + 1;
+               char *fqtn = NEW_ARRAY(char, fqtnl);
 
-               snprintf(fqtn,512,"%s.%s", nsn,ntn);
+               snprintf(fqtn, fqtnl, "%s.%s", nsn, ntn);
 
                q = newStmt1(mb, sqlRef, "rsColumn");
                q = pushArgument(mb, q, s->nr);
@@ -152,6 +153,7 @@ dump_header(mvc *sql, MalBlkPtr mb, stmt
                (void) pushArgument(mb, q, c->nr);
                _DELETE(ntn);
                _DELETE(nsn);
+               _DELETE(fqtn);
        }
 }
 
@@ -1778,9 +1780,11 @@ _dumpstmt(backend *sql, MalBlkPtr mb, st
                                        char *cn = column_name(sql->mvc->sa, c);
                                        char *ntn = sql_escape_ident(tn);
                                        char *nsn = sql_escape_ident(sn);
-                                       char fqtn[512];
+                                       size_t fqtnl = strlen(ntn) + 1 + 
strlen(nsn) + 1;
+                                       char *fqtn = NEW_ARRAY(char, fqtnl);
 
-                                       snprintf(fqtn, 512, "%s.%s", nsn, ntn);
+                                       snprintf(fqtn, fqtnl, "%s.%s", nsn, 
ntn);
+
                                        q = newStmt2(mb, sqlRef, 
exportValueRef);
                                        s->nr = getDestVar(q);
                                        q = pushInt(mb, q, sql->mvc->type);
@@ -1794,6 +1798,7 @@ _dumpstmt(backend *sql, MalBlkPtr mb, st
                                        (void) pushStr(mb, q, "");   /* warning 
*/
                                        _DELETE(ntn);
                                        _DELETE(nsn);
+                                       _DELETE(fqtn);
                                        break;
                                }
                                if (n) {
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to