Changeset: b6c69da89ab1 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6c69da89ab1
Modified Files:
MonetDB5/src/modules/atoms/str.mx
MonetDB5/src/modules/kernel/batstr.mx
Branch: Jun2010
Log Message:
Missing stringlength mulitplex
Make stringlenght operation in SQL faster.
diffs (50 lines):
diff -r 8ae898524281 -r b6c69da89ab1 MonetDB5/src/modules/atoms/str.mx
--- a/MonetDB5/src/modules/atoms/str.mx Tue Jul 27 20:06:39 2010 +0200
+++ b/MonetDB5/src/modules/atoms/str.mx Wed Jul 28 08:15:21 2010 +0200
@@ -295,6 +295,7 @@
str_export int strConcat(str *res, str s, ptr val, int t);
str_export int strLength(int *res, str s);
+str_export int strSQLLength(int *res, str s);
str_export int strBytes(int *res, str s);
str_export int strTail(str *res, str s, int *offset);
str_export int strSubString(str *res, str s, int *offset, int *length);
@@ -2183,6 +2184,16 @@
*Res = res;
return GDK_SUCCEED;
}
+int
+strSQLLength(int *res, str s)
+{
+ str r = NULL;
+ strRtrim(&r, s);
+ strLength(res, r);
+ GDKfree(r);
+ return GDK_SUCCEED;
+}
+
@
@- Wrappers
Here you find the wrappers around the version 4 library code
diff -r 8ae898524281 -r b6c69da89ab1 MonetDB5/src/modules/kernel/batstr.mx
--- a/MonetDB5/src/modules/kernel/batstr.mx Tue Jul 27 20:06:39 2010 +0200
+++ b/MonetDB5/src/modules/kernel/batstr.mx Wed Jul 28 08:15:21 2010 +0200
@@ -37,6 +37,10 @@
address STRbatLength
comment "Return the length of a string.";
+command batstr.stringlength( s:bat[:oid,:str] ) :bat[:oid,:int]
+address STRbatstringLength
+comment "Return the length of a right trimed string.";
+
command batstr.nbytes( s:bat[:oid,:str] ) :bat[:oid,:int]
address STRbatBytes
comment "Return the string length in bytes.";
@@ -264,6 +268,7 @@
@c
@:BATint(Length,strLength,str)@
+@:BATint(stringLength,strSQLLength,str)@
@:BATint(Bytes,strBytes,str)@
@= BATstr
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list