diff options
author | unknown <holyfoot/hf@mysql.com/hfmain.(none)> | 2007-02-13 01:23:23 +0400 |
---|---|---|
committer | unknown <holyfoot/hf@mysql.com/hfmain.(none)> | 2007-02-13 01:23:23 +0400 |
commit | 4c2bc81ae762072973528e306c8fa80031b076b2 (patch) | |
tree | 53beef330c2bd9116abb225d6c822813242fc034 | |
parent | e7e255061056571e5343fdad85ad121fd63817fb (diff) | |
parent | 07f36668aecfd3d811c4ed5eb23b1bfdb8c86fdd (diff) | |
download | mariadb-git-4c2bc81ae762072973528e306c8fa80031b076b2.tar.gz |
Merge mysql.com:/home/hf/work/20691/my50-20691
into mysql.com:/home/hf/work/25492/my50-25492
sql/item.cc:
Auto merged
-rw-r--r-- | mysql-test/r/default.result | 12 | ||||
-rw-r--r-- | mysql-test/r/gis.result | 4 | ||||
-rw-r--r-- | mysql-test/t/default.test | 9 | ||||
-rw-r--r-- | mysql-test/t/gis.test | 9 | ||||
-rw-r--r-- | sql/item.cc | 8 |
5 files changed, 39 insertions, 3 deletions
diff --git a/mysql-test/r/default.result b/mysql-test/r/default.result index e2aa3b4a3cc..0b2b6769505 100644 --- a/mysql-test/r/default.result +++ b/mysql-test/r/default.result @@ -193,6 +193,16 @@ a b c d e f g h i x two large 00:00:05 0007-01-01 11 13 17 0019-01-01 00:00:00 23 1 small 00:00:00 0000-00-00 0 0000-00-00 00:00:00 0 2 two large 00:00:05 0007-01-01 11 13 17 0019-01-01 00:00:00 23 3 - small 00:00:00 0000-00-00 0 0000-00-00 00:00:00 0 4 + 00:00:00 0000-00-00 0 0000-00-00 00:00:00 0 4 drop table bug20691; +create table t1 (id int not null); +insert into t1 values(default); +Warnings: +Warning 1364 Field 'id' doesn't have a default value +create view v1 (c) as select id from t1; +insert into t1 values(default); +Warnings: +Warning 1364 Field 'id' doesn't have a default value +drop view v1; +drop table t1; End of 5.0 tests. diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result index 870e160e563..df39a4d8ca2 100644 --- a/mysql-test/r/gis.result +++ b/mysql-test/r/gis.result @@ -717,3 +717,7 @@ desc t1; Field Type Null Key Default Extra GeomFromText('point(1 1)') geometry NO drop table t1; +create table t1 (g geometry not null); +insert into t1 values(default); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +drop table t1; diff --git a/mysql-test/t/default.test b/mysql-test/t/default.test index 225ddbc3ee2..14aa4b02cfe 100644 --- a/mysql-test/t/default.test +++ b/mysql-test/t/default.test @@ -137,6 +137,13 @@ insert into bug20691 values (DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAUL select * from bug20691 order by x asc; drop table bug20691; -### +create table t1 (id int not null); +insert into t1 values(default); + +create view v1 (c) as select id from t1; +insert into t1 values(default); +drop view v1; +drop table t1; + --echo End of 5.0 tests. diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test index 95fdf642b94..ff9fcad1fcf 100644 --- a/mysql-test/t/gis.test +++ b/mysql-test/t/gis.test @@ -428,3 +428,12 @@ drop table t1; create table t1 select GeomFromText('point(1 1)'); desc t1; drop table t1; + +# +# Bug #20691 (DEFAULT over NOT NULL field) +# +create table t1 (g geometry not null); +--error ER_CANT_CREATE_GEOMETRY_OBJECT +insert into t1 values(default); +drop table t1; + diff --git a/sql/item.cc b/sql/item.cc index 95001809e9a..b4a7820eabf 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -5495,6 +5495,13 @@ int Item_default_value::save_in_field(Field *field_arg, bool no_conversions) { if (field_arg->flags & NO_DEFAULT_VALUE_FLAG) { + if (field_arg->reset()) + { + my_message(ER_CANT_CREATE_GEOMETRY_OBJECT, + ER(ER_CANT_CREATE_GEOMETRY_OBJECT), MYF(0)); + return -1; + } + if (context->error_processor == &view_error_processor) { TABLE_LIST *view= cached_table->top_table(); @@ -5513,7 +5520,6 @@ int Item_default_value::save_in_field(Field *field_arg, bool no_conversions) ER(ER_NO_DEFAULT_FOR_FIELD), field_arg->field_name); } - field_arg->set_default(); return 1; } field_arg->set_default(); |