Update of /cvsroot/monetdb/sql/src/backends/monet5
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17285/src/backends/monet5
Modified Files:
sql_result.mx
Log Message:
adding string length checking with copy into
U sql_result.mx
Index: sql_result.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_result.mx,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- sql_result.mx 28 Dec 2008 09:58:46 -0000 1.101
+++ sql_result.mx 28 Dec 2008 14:00:24 -0000 1.102
@@ -357,8 +357,12 @@
{
int len;
(void)quote;
- if (type == TYPE_str)
+ if (type == TYPE_str) {
+ sql_column *col = (sql_column*)c->extra;
+ if (col->type.digits > 0 && e-s > col->type.digits)
+ return NULL;
return TABLETstrFrStr(c, s, e);
+ }
len = (*BATatoms[type].atomFromStr)(s, &c->len, (ptr) &c->data);
if ( len != e-s)
@@ -449,7 +453,7 @@
fmt[i].adt = ATOMindex(fmt[i].type);
fmt[i].tostr = &_ASCIIadt_toStr;
fmt[i].frstr = &_ASCIIadt_frStr;
- fmt[i].extra = NULL;
+ fmt[i].extra = col;
fmt[i].len = fmt[i].nillen =
ATOMlen(fmt[i].adt, ATOMnilptr(fmt[i].adt));
fmt[i].data = GDKmalloc(fmt[i].len);
@@ -462,7 +466,6 @@
if (col->type.type->eclass == EC_DEC) {
fmt[i].tostr = &dec_tostr;
fmt[i].frstr = &dec_frstr;
- fmt[i].extra = col;
}
fmt[i].raw = NULL;
fmt[i].rawfile = NULL;
------------------------------------------------------------------------------
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins