Changeset: b46bc16caffd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b46bc16caffd
Modified Files:
sql/backends/monet5/vaults/parquet/pqc_reader.c
Branch: default
Log Message:
using unsigneds directly (no cast to signed)
and only use int128 if its really there
diffs (55 lines):
diff --git a/sql/backends/monet5/vaults/parquet/pqc_reader.c
b/sql/backends/monet5/vaults/parquet/pqc_reader.c
--- a/sql/backends/monet5/vaults/parquet/pqc_reader.c
+++ b/sql/backends/monet5/vaults/parquet/pqc_reader.c
@@ -2100,42 +2100,44 @@ pqc_read_page_chunk( pqc_reader_t *r, pq
}
}
/* convert data */
+#ifdef HAVE_HGE
if (r->pse->precision == 64 && !r->pse->isSigned) {
uint64_t *l = output;
l += nrows-1;
int128_t *r = output;
r += nrows-1;
for(uint64_t i=0; i< nrows; i++)
- r[-i] = l[-i];
- } else if (r->pse->precision == 32 && !r->pse->isSigned) {
+ *(r-i) = *(l-i);
+ } else
+#endif
+ if (r->pse->precision == 32 && !r->pse->isSigned) {
uint32_t *l = output;
l += nrows-1;
int64_t *r = output;
r += nrows-1;
for(uint64_t i=0; i< nrows; i++)
- r[-i] = l[-i];
+ *(r-i) = *(l-i);
} else if (r->pse->precision == 16 && !r->pse->isSigned) {
uint16_t *l = output;
l += nrows-1;
int32_t *r = output;
r += nrows-1;
for(uint64_t i=0; i< nrows; i++)
- r[-i] = l[-i];
+ *(r-i) = *(l-i);
} else if (r->pse->precision == 8 && !r->pse->isSigned) {
uint8_t *l = output;
l += nrows-1;
int16_t *r = output;
r += nrows-1;
for(uint64_t i=0; i< nrows; i++)
- r[-i] = l[-i];
+ *(r-i) = *(l-i);
} else if (r->pse->type == datetype) {
/* days since epoch ie 1-1-1970 */
uint32_t epoch_date = mkdate(1970, 1, 1);
if (r->pse->precision == 32) {
uint32_t *l = output;
- for(uint64_t i=0; i< nrows; i++) {
+ for(uint64_t i=0; i< nrows; i++)
l[i] = date_add_day(epoch_date, l[i]);
- }
}
} else { // todo timetype
if ((r->pse->type == timestamptype && r->pse->precision == 6) ||
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]