mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
BUG#32050 - table logging gone wrong.
INSERT/UPDATE against CSV table created by MySQL earlier than 5.1.23 with NULL-able column results in server crash in debug builds. Starting with 5.1.23 CSV doesn't permit creation of NULL-able columns, but it is still possible to get such table from older MySQL versions. Fixed by removing excessive DBUG_ASSERT(). scripts/mysql_system_tables_fix.sql: Starting with 5.1.23 CSV doesn't permit creation of NULL-able columns. Alter system CSV tables structure so that all columns are NOT NULL. storage/csv/ha_tina.cc: Starting with 5.1.23 CSV doesn't permit creation of NULL-able columns, but it is still possible to get such table from older MySQL versions. Removed excessive DBUG_ASSERT().
This commit is contained in:
parent
c20245d2e7
commit
f3bb583c3e
2 changed files with 16 additions and 8 deletions
|
@ -513,6 +513,22 @@ ALTER TABLE tables_priv MODIFY Table_priv set('Select','Insert','Update','Delete
|
|||
|
||||
UPDATE user SET Trigger_priv=Super_priv WHERE @hadTriggerPriv = 0;
|
||||
|
||||
#
|
||||
# Log Table
|
||||
#
|
||||
|
||||
ALTER TABLE general_log
|
||||
MODIFY COLUMN user_host MEDIUMTEXT NOT NULL,
|
||||
MODIFY COLUMN thread_id INTEGER NOT NULL,
|
||||
MODIFY COLUMN server_id INTEGER NOT NULL,
|
||||
MODIFY COLUMN command_type VARCHAR(64) NOT NULL,
|
||||
MODIFY COLUMN argument MEDIUMTEXT NOT NULL;
|
||||
ALTER TABLE slow_log
|
||||
MODIFY COLUMN db VARCHAR(512) NOT NULL,
|
||||
MODIFY COLUMN last_insert_id INTEGER NOT NULL,
|
||||
MODIFY COLUMN insert_id INTEGER NOT NULL,
|
||||
MODIFY COLUMN server_id INTEGER NOT NULL;
|
||||
|
||||
# Activate the new, possible modified privilege tables
|
||||
# This should not be needed, but gives us some extra testing that the above
|
||||
# changes was correct
|
||||
|
|
|
@ -472,14 +472,6 @@ int ha_tina::encode_quote(uchar *buf)
|
|||
const char *ptr;
|
||||
const char *end_ptr;
|
||||
const bool was_null= (*field)->is_null();
|
||||
|
||||
/*
|
||||
CSV does not support nulls. ::create() prevents creation of a table
|
||||
with nullable columns so if we encounter them here, there is a bug.
|
||||
This may only occur if the frm was created by an older version of
|
||||
mysqld which permitted table creation with nullable columns.
|
||||
*/
|
||||
DBUG_ASSERT(!(*field)->maybe_null());
|
||||
|
||||
/*
|
||||
assistance for backwards compatibility in production builds.
|
||||
|
|
Loading…
Reference in a new issue