Description:
Inserting on a I_S with the INSERT ... SELECT statement leads to a assertion (crash) when run on a embedded server. Under non-embedded, the insertion is denied very early because of permission checks. Since on a embedded server there is no permission checks, the insert proceeds, opens the table and later, in check_insert_fields, denies the insert since the table is not insertable. Interesting enough, a simple insert on a I_S table does not cause the assertion to fail.
The assertion is:
mysqltest_embedded: handler.cc:4490: int handler::ha_reset(): Assertion `(uchar*) table->def_read_set.bitmap + table->s->column_bitmap_size == (uchar*) table->def_write_set.bitmap' failed.
How to repeat:
INSERT INTO information_schema.engines (egnine) SELECT 'engine';