mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
6ec3de5d2d
- 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.
25 lines
928 B
Text
25 lines
928 B
Text
#
|
|
# MDEV-15497 Wrong empty value in a GEOMETRY column on LOAD DATA
|
|
#
|
|
SET sql_mode='';
|
|
CREATE TABLE t1 (id INT, a GEOMETRY NOT NULL);
|
|
LOAD DATA INFILE '../../std_data/loaddata/mdev-15497.txt' INTO TABLE t1;
|
|
ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
|
|
LOAD DATA INFILE '../../std_data/loaddata/mdev-15497.txt' INTO TABLE t1 FIELDS TERMINATED BY '';
|
|
ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (id INT, a GEOMETRY);
|
|
LOAD DATA INFILE '../../std_data/loaddata/mdev-15497.txt' INTO TABLE t1;
|
|
Warnings:
|
|
Warning 1261 Row 1 doesn't contain data for all columns
|
|
SELECT * FROM t1;
|
|
id a
|
|
1 NULL
|
|
TRUNCATE TABLE t1;
|
|
LOAD DATA INFILE '../../std_data/loaddata/mdev-15497.txt' INTO TABLE t1 FIELDS TERMINATED BY '';
|
|
Warnings:
|
|
Warning 1261 Row 1 doesn't contain data for all columns
|
|
SELECT * FROM t1;
|
|
id a
|
|
1 NULL
|
|
DROP TABLE t1;
|