Changeset: f2b586f1fb51 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f2b586f1fb51
Modified Files:
sql/backends/monet5/sql_scenario.c
Branch: Dec2011
Log Message:
Fixed second interval upgrade code.
This fixes bug 2874.
diffs (49 lines):
diff --git a/sql/backends/monet5/sql_scenario.c
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -372,7 +372,7 @@ sql_update_dec2011( Client c, mvc *m )
node *nsch, *ntab, *ncol;
sql_trans *tr;
char *buf = GDKmalloc(1024), *err = NULL;
- int bufsize = 1024, pos = 0;
+ size_t bufsize = 1024, pos = 0;
buf[0] = 0;
tr = m->session->tr;
@@ -380,28 +380,28 @@ sql_update_dec2011( Client c, mvc *m )
sql_schema *s = nsch->data;
if ( isalpha((int)s->base.name[0]) ) {
- if (!s->tables.set)
+ if (!s->tables.set)
continue;
for( ntab = (s)->tables.set->h ;ntab; ntab =
ntab->next){
sql_table *t = ntab->data;
- if (!isTable(t) || !t->columns.set)
+ if (!isTable(t) || !t->columns.set)
continue;
for ( ncol = (t)->columns.set->h; ncol; ncol=
ncol->next){
sql_column *c = (sql_column *)
ncol->data;
-
- if (c->type.type->eclass == EC_INTERVAL
&&
- strcmp(c->type.type->base.name,
"sec_interval") == 0) {
- if (bufsize < pos + 100)
+
+ if (c->type.type->eclass == EC_INTERVAL
&&
+ strcmp(c->type.type->sqlname,
"sec_interval") == 0) {
+ while (bufsize < pos + 100 +
strlen(s->base.name) + strlen(t->base.name) + 2*strlen(c->base.name))
buf = GDKrealloc(buf,
bufsize += 1024);
- pos += snprintf(buf+pos,
bufsize-pos, "update \"%s\".\"%s\" set \"%s\"=1000*\"%s\"\n",
+ pos += snprintf(buf+pos,
bufsize-pos, "update \"%s\".\"%s\" set \"%s\"=1000*\"%s\";\n",
s->base.name,
t->base.name, c->base.name, c->base.name);
}
}
}
}
}
- if (bufsize < pos + 256)
+ if (bufsize < pos + 256)
buf = GDKrealloc(buf, bufsize += 1024);
pos += snprintf(buf+pos, bufsize-pos, "create filter function
sys.\"like\"(val string, pat string, esc string) external name
pcre.like_filter;\n");
pos += snprintf(buf+pos, bufsize-pos, "create filter function
sys.\"ilike\"(val string, pat string, esc string) external name
pcre.ilike_filter;\n");
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list