1

The database version we are using is MonetDB 5 server v11.37.7 (Jun2020) on Debian 4.9.210-1+deb9u1.

I have a regular table with about 22M entries. I added a Boolean column with:

alter table conversations add column "virtual" Boolean Null ;

Now when I try to query the table I get this error:

sql>select *   from conversations where  created > '2020-08-25 10:00';
GDK reported error: project_sht: does not match always

Deleted the added column, restarted Monet, but still the same error. The file merovingian.log Shows:

2020-08-25 16:07:22 ERR reports[23151]: #DFLOWworker3: project_sht: !ERROR: does not match always
2020-08-25 16:07:22 ERR reports[23151]: #DFLOWworker2: project_bte: !ERROR: does not match always
2020-08-25 16:07:22 ERR reports[23151]: #DFLOWworker3: createExceptionInternal: !ERROR: MALException:algebra.projection:GDK reported error: project_sht: does not match always
2020-08-25 16:07:22 ERR reports[23151]: #DFLOWworker2: createExceptionInternal: !ERROR: MALException:algebra.projection:GDK reported error: project_bte: does not match always 

Any ideas how to fix this problem or how to debug it further?

Thanks!

1 Answers1

1

This sounds like a bug but I could not reproduce it:

sql>create table foo(i int);
operation successful
sql>insert into foo select * from generate_series(0,22000000);
22000000 affected rows
sql>alter table foo add column b boolean null;
operation successful
sql>select * from foo where i % 2200000 = 42;
+----------+-------+
| i        | b     |
+==========+=======+
|       42 | null  |
|  2200042 | null  |
|  4400042 | null  |
|  6600042 | null  |
|  8800042 | null  |
| 11000042 | null  |
| 13200042 | null  |
| 15400042 | null  |
| 17600042 | null  |
| 19800042 | null  |
+----------+-------+
10 tuples

This looks about right, but maybe I misunderstood your scenario. If possible, please try to create a standalone script that reproduces the issue along the lines of the above example, and submit it as a bug at the MonetDB Bug Tracker

Best regards,

Joeri