Changeset: 0339f8519458 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0339f8519458 Modified Files: sql/backends/monet5/generator/Tests/generator03.sql sql/backends/monet5/generator/generator.c Branch: generator Log Message:
Also walk backwards in time diffs (27 lines): diff --git a/sql/backends/monet5/generator/Tests/generator03.sql b/sql/backends/monet5/generator/Tests/generator03.sql --- a/sql/backends/monet5/generator/Tests/generator03.sql +++ b/sql/backends/monet5/generator/Tests/generator03.sql @@ -12,6 +12,11 @@ select * from generate_series( cast( '1' as interval day)); select * from generate_series( + timestamp '2008-03-04 12:00', + timestamp '2008-03-01 00:00', + cast( '-1' as interval day)); + +select * from generate_series( timestamp '2008-03-01 00:00', timestamp '2008-03-04 12:00', cast( '10' as interval hour)) 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 @@ -634,7 +634,7 @@ str VLTgenerator_thetasubselect(Client 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++ ) - 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){ + if( (f.days > hgh.days|| (f.days== hgh.days && f.msecs > hgh.msecs)) || timestamp_isnil(hgh) || anti){ *v++ = o; if( (msg = MTIMEtimestamp_add(&f, &f, &s)) != MAL_SUCCEED) return msg; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list