mirror of
https://github.com/MariaDB/server.git
synced 2025-08-26 01:44:06 +03:00
- Adding a new virtual method Field::load_data_set_no_data(). - Overriding Field_timestamp::load_data_set_no_data() and moving the TIMESTAMP specific code there. - Overriding Field_geom::load_data_set_no_data() and implementing GEOMETRY specific behavior, to prevent writing empty strings when the loaded file ends unexpectedly. This fixes the bug. - Adding a new test gis-loaddaata.test. - The test in loaddata.test for CHAR was added simply to record behavior. The CHAR data type did not change its behaviour (only GEOMRYRY did). - Additionally, moving duplicate code into a new method Field::load_data_set_value() and reusing it in three places.
22 lines
685 B
Plaintext
22 lines
685 B
Plaintext
--echo #
|
|
--echo # MDEV-15497 Wrong empty value in a GEOMETRY column on LOAD DATA
|
|
--echo #
|
|
|
|
SET sql_mode='';
|
|
|
|
CREATE TABLE t1 (id INT, a GEOMETRY NOT NULL);
|
|
--error ER_WARN_NULL_TO_NOTNULL
|
|
LOAD DATA INFILE '../../std_data/loaddata/mdev-15497.txt' INTO TABLE t1;
|
|
--error ER_WARN_NULL_TO_NOTNULL
|
|
LOAD DATA INFILE '../../std_data/loaddata/mdev-15497.txt' INTO TABLE t1 FIELDS TERMINATED BY '';
|
|
DROP TABLE t1;
|
|
|
|
|
|
CREATE TABLE t1 (id INT, a GEOMETRY);
|
|
LOAD DATA INFILE '../../std_data/loaddata/mdev-15497.txt' INTO TABLE t1;
|
|
SELECT * FROM t1;
|
|
TRUNCATE TABLE t1;
|
|
LOAD DATA INFILE '../../std_data/loaddata/mdev-15497.txt' INTO TABLE t1 FIELDS TERMINATED BY '';
|
|
SELECT * FROM t1;
|
|
DROP TABLE t1;
|