Changeset: f62db380f0a6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f62db380f0a6
Modified Files:
        clients/mapilib/mapi.c
        sql/backends/monet5/sql_result.c
Branch: protocol
Log Message:

Also use PFOR/Binpacking for Date columns.


diffs (42 lines):

diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -5778,7 +5778,7 @@ mapi_fetch_row(MapiHdl hdl)
                                        buf += col_len + sizeof(lng);
                                } else {
 #ifdef HAVE_BINPACK
-                                       if (hdl->mid->colcomp == 
COLUMN_COMPRESSION_BINPACK && strcasecmp(result->fields[i].columntype, "int") 
== 0) {
+                                       if (hdl->mid->colcomp == 
COLUMN_COMPRESSION_BINPACK && (strcasecmp(result->fields[i].columntype, "int") 
== 0 || strcasecmp(result->fields[i].columntype, "date") == 0)) {
                                                lng b = *((lng*) buf);
                                                buf += sizeof(lng);
                                                lng length = *((lng*)(buf));
@@ -5794,7 +5794,7 @@ mapi_fetch_row(MapiHdl hdl)
                                        } else {
 #endif
 #ifdef HAVE_PFOR
-                                       if (hdl->mid->colcomp == 
COLUMN_COMPRESSION_PFOR && strcasecmp(result->fields[i].columntype, "int") == 
0) {
+                                       if (hdl->mid->colcomp == 
COLUMN_COMPRESSION_PFOR && (strcasecmp(result->fields[i].columntype, "int") == 
0 || strcasecmp(result->fields[i].columntype, "date") == 0)) {
                                                size_t n = nrows;
                                                // FIXME resbuffer is not freed
                                                char *resbuffer = malloc(nrows 
* sizeof(int));
diff --git a/sql/backends/monet5/sql_result.c b/sql/backends/monet5/sql_result.c
--- a/sql/backends/monet5/sql_result.c
+++ b/sql/backends/monet5/sql_result.c
@@ -2245,7 +2245,7 @@ static int mvc_export_resultset_prot10(r
                                }
 
 #ifdef HAVE_BINPACK
-                               if (colcomp == COLUMN_COMPRESSION_BINPACK && 
strcasecmp(c->type.type->sqlname, "int") == 0) {
+                               if (colcomp == COLUMN_COMPRESSION_BINPACK && 
(strcasecmp(c->type.type->sqlname, "int") == 0 || 
strcasecmp(c->type.type->sqlname, "date") == 0)) {
                                        // simd binary packing for integer 
columns
                                        size_t N = row - srow;
                                        char *datain = Tloc(iterators[i].b, 
srow);
@@ -2274,7 +2274,7 @@ static int mvc_export_resultset_prot10(r
                                } else {
 #endif
 #ifdef HAVE_PFOR
-                               if (colcomp == COLUMN_COMPRESSION_PFOR && 
strcasecmp(c->type.type->sqlname, "int") == 0) {
+                               if (colcomp == COLUMN_COMPRESSION_PFOR && 
(strcasecmp(c->type.type->sqlname, "int") == 0 || 
strcasecmp(c->type.type->sqlname, "date") == 0)) {
                                        // turbo pfor for integer columns
                                        size_t n = row - srow;
                                        char *datain = Tloc(iterators[i].b, 
srow);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to