Changeset: 39d031bea8ac for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=39d031bea8ac Modified Files: sql/backends/monet5/generator/generator.c sql/backends/monet5/generator/generator.mal Branch: generator Log Message:
Use the right MAL return type for timestamp diffs (35 lines): diff --git a/sql/backends/monet5/generator/generator.c b/sql/backends/monet5/generator/generator.c --- a/sql/backends/monet5/generator/generator.c +++ b/sql/backends/monet5/generator/generator.c @@ -628,13 +628,14 @@ str VLTgenerator_thetasubselect(Client c throw(MAL,"generator.thetasubselect","Unknown operator"); if( (f.days < l.days || (f.days = l.days && f.msecs <l.msecs)) && s > 0){ - for(; f.days<l.days || (f.days == l.days && f.msecs <l.msecs); o++) - if( ((timestamp_isnil(low) || (f.days > low.days || (f.days == l.days && f.msecs >= l.msecs)) ) && ((f.days<hgh.days|| (f.days== hgh.days && f.msecs < hgh.msecs)) || timestamp_isnil(hgh))) || anti){ - *v++ = o; + for(; f.days<l.days || (f.days == l.days && f.msecs <l.msecs); o++){ + if( ((timestamp_isnil(low) || (f.days > low.days || (f.days == l.days && f.msecs >= l.msecs)) ) && ((f.days<hgh.days|| (f.days== hgh.days && f.msecs < hgh.msecs)) || timestamp_isnil(hgh))) || anti){ + *v++ = o; + c++; + } if( (msg = MTIMEtimestamp_add(&f, &f, &s)) != MAL_SUCCEED) return msg; - c++; - } + } } else if( (f.days > l.days || (f.days = l.days && f.msecs >= l.msecs)) && s < 0){ for(; f.days>l.days || (f.days == l.days && f.msecs > l.msecs);o++ ) diff --git a/sql/backends/monet5/generator/generator.mal b/sql/backends/monet5/generator/generator.mal --- a/sql/backends/monet5/generator/generator.mal +++ b/sql/backends/monet5/generator/generator.mal @@ -99,7 +99,7 @@ address VLTgenerator_thetasubselect; pattern thetasubselect(b:bat[:oid,:dbl], low:dbl, oper:str) :bat[:oid,:oid] address VLTgenerator_thetasubselect; -pattern thetasubselect(b:bat[:oid,:timestamp], low:timestamp, oper:str) :bat[:oid,:timestamp] +pattern thetasubselect(b:bat[:oid,:timestamp], low:timestamp, oper:str) :bat[:oid,:oid] address VLTgenerator_thetasubselect comment "Overloaded selection routine"; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list