There are 3 diff in result:
1) NULL value from SELECT
Due to incorrect truncating of the hex value, incorrect value is
written instead of original value to the view frm. This results in reading
incorrect value from frm, so eventual result is NULL.
2) 'Name_exp1' in column name (in gis.test)
This was because the identifier in SELECT is longer than 64 characters,
so 'Name_exp1' alias is also written to the view frm.
3)diff in explain extended
This was because the query plan for view protocol doesn't
contain database name. As a fix, disable view protocol for that particular
query.
Now INSERT, UPDATE, ALTER statements involving incompatible data type pairs, e.g.:
UPDATE TABLE t1 SET col_inet6=col_int;
INSERT INTO t1 (col_inet6) SELECT col_in FROM t2;
ALTER TABLE t1 MODIFY col_inet6 INT;
consistently return an error at the statement preparation time:
ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET'
and abort the statement before starting interating rows.
This error is the same with what is raised for queries like:
SELECT col_inet6 FROM t1 UNION SELECT col_int FROM t2;
SELECT COALESCE(col_inet6, col_int) FROM t1;
Before this change the error was caught only during the execution time,
when a Field_xxx::store_xxx() was called for the very firts row.
The behavior was not consistent between various statements and could do different things:
- abort the statement
- set a column to the data type default value (e.g. '::' for INET6)
- set a column to NULL
A typical old error was:
ERROR 22007: Incorrect inet6 value: '1' for column `test`.`t1`.`a` at row 1
EXCEPTION:
Note, there is an exception: a multi-row INSERT..VALUES, e.g.:
INSERT INTO t1 (col_a,col_b) VALUES (a1,b1),(a2,b2);
checks assignment compability at the preparation time for the very first row only:
(col_a,col_b) vs (a1,b1)
Other rows are still checked at the execution time and return the old warnings
or errors in case of a failure. This is done because catching all rows at the
preparation time would change behavior significantly. So it still works
according to the STRICT_XXX_TABLES sql_mode flags and the table transaction ability.
This is too late to change this behavior in 10.7.
There is no a firm decision yet if a multi-row INSERT..VALUES
behavior will change in later versions.
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
BitKeeper/deleted/.del-bdb_gis.result:
Auto merge
mysql-test/include/gis_generic.inc:
Auto merge
mysql-test/r/archive_gis.result:
?
Auto merge
mysql-test/r/innodb_gis.result:
Auto merge
mysql-test/r/ndb_gis.result:
Manual merge
mysql-test/r/strict.result:
Auto merge
mysql-test/r/type_date.result:
Auto merge
mysql-test/t/strict.test:
Auto merge
sql/field.cc:
Auto merge
sql/field.h:
Auto merge
Revert test case to NOT define any keys; the NDB warning can be handled, and ARCHIVE does not allow indexes
mysql-test/include/gis_generic.inc:
Revert test case to NOT define any keys; the NDB warning can be handled, and ARCHIVE does not allow indexes
mysql-test/r/archive_gis.result:
Revert test case to NOT define any keys; the NDB warning can be handled, and ARCHIVE does not allow indexes
mysql-test/r/bdb_gis.result:
Revert test case to NOT define any keys; the NDB warning can be handled, and ARCHIVE does not allow indexes
mysql-test/r/innodb_gis.result:
Revert test case to NOT define any keys; the NDB warning can be handled, and ARCHIVE does not allow indexes
mysql-test/r/ndb_gis.result:
Revert test case to NOT define any keys; the NDB warning can be handled, and ARCHIVE does not allow indexes
into siva.hindu.god:/home/tsmith/m/bk/maint/51
mysql-test/include/gis_generic.inc:
Auto merged
mysql-test/r/archive_gis.result:
Auto merged
mysql-test/r/innodb_gis.result:
Auto merged
mysql-test/r/ndb_gis.result:
Auto merged
BitKeeper/deleted/.del-bdb_gis.result:
Auto merged
sql/log.cc:
Auto merged
mysql-test/r/archive_gis.result:
update test result
mysql-test/r/bdb_gis.result:
update test result
mysql-test/r/innodb_gis.result:
update test result
mysql-test/r/ndb_gis.result:
update test result
into siva.hindu.god:/home/tsmith/m/bk/maint/51
mysql-test/include/gis_generic.inc:
Auto merged
mysql-test/r/archive_gis.result:
Auto merged
mysql-test/r/innodb_gis.result:
Auto merged
mysql-test/r/ndb_gis.result:
Auto merged
sql/log.cc:
Auto merged
BitKeeper/deleted/.del-bdb_gis.result:
Auto merged
- Add primary key to test table, so NDB with binlog doesn't complain
- Add extra results for bdb_gis.result
mysql-test/include/gis_generic.inc:
Update test for bug #24563 (MBROverlaps does not seem to function propertly.):
- Add primary key to test table, so NDB with binlog doesn't complain
mysql-test/r/archive_gis.result:
update test results
mysql-test/r/bdb_gis.result:
update test results
mysql-test/r/innodb_gis.result:
update test results
mysql-test/r/ndb_gis.result:
update test results
into siva.hindu.god:/home/tsmith/m/bk/maint/bmisc/51
mysql-test/include/gis_generic.inc:
Auto merged
mysql-test/r/archive_gis.result:
Auto merged
BitKeeper/deleted/.del-bdb_gis.result:
Auto merged
mysql-test/r/ndb_gis.result:
Auto merged
sql/spatial.h:
Auto merged
mysql-test/r/gis.result:
Manual merge
mysql-test/r/innodb_gis.result:
Manual merge
mysql-test/t/gis.test:
Manual merge
Fix is to rewrite the MBR::overlaps() function, to compute the dimension of both
arguments, and the dimension of the intersection; test that all three dimensions are the
same (e.g., all are Polygons).
Add tests for all MBR* functions for various combinations of shapes, lines and points.
mysql-test/include/gis_generic.inc:
Add tests & checks for bug #24563 and bug #24588 - some GIS functions missing in
5.1; many GIS functions not tested; Overlaps() function was incorrect when MBR shifted
only along one axis; Overlaps() needs to take dimension of shape into account.
mysql-test/r/archive_gis.result:
Update test results.
mysql-test/r/bdb_gis.result:
Update test results.
mysql-test/r/gis.result:
Update test results.
mysql-test/r/innodb_gis.result:
Update test results.
mysql-test/r/ndb_gis.result:
Update test results.
mysql-test/t/gis.test:
Add tests & checks for bug #24563 and bug #24588 - some GIS functions missing in
5.1; many GIS functions not tested; Overlaps() function was incorrect when MBR shifted
only along one axis; Overlaps() needs to take dimension of shape into account.
sql/spatial.h:
Add MBR::dimension() (map MBR to integral dimension: point -> 0, line -> 1,
polygon -> 2, invalid -> -1)
Fix MBR::overlaps() to handle MBRs which are shifted on one dimension only, and to
take MBR dimension into account. Also, test both within() and contains() predicates (so
that overlaps(a, b) == overlaps(b, a)).
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
mysql-test/include/gis_generic.inc:
after merge fix
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
mysql-test/r/archive_gis.result:
after merge fix
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
mysql-test/r/gis.result:
after merge fix
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
mysql-test/r/innodb_gis.result:
after merge fix
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
mysql-test/r/ndb_gis.result:
after merge fix
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
mysql-test/t/gis.test:
after merge fix
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
sql/item_geofunc.cc:
after merge fix
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
- Fix for ndb_gis to run with all types of logging
mysql-test/include/gis_generic.inc:
Make the test tables for gis have a primary key with auto increment
mysql-test/r/archive_gis.result:
Update test result
mysql-test/r/bdb_gis.result:
Update test result
mysql-test/r/innodb_gis.result:
Update test result
mysql-test/r/ndb_gis.result:
Update test result
mysql-test/t/ndb_gis.test:
Remove the requirement to only run thiswhen binlog format is row.
Cleaned up xxxx_gis.test's and made gis_generic.inc independent of ndb
(Note that archive_gis.test fails, but this is independent of this patch)
client/mysqldump.c:
Add DROP TABLE to be able to re-run mysqldump if it fails after 'table-named-as-view' is created
mysql-test/include/gis_generic.inc:
Remove dependency of ndb
mysql-test/include/have_archive.inc:
Fix syntax
mysql-test/include/have_geometry.inc:
Fix syntax
mysql-test/r/mysqldump.result:
New test results after adding 'drop table'
mysql-test/t/archive_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/bdb_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/innodb_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/ndb_gis.test:
gis_generic tests for have_geometry.inc
sql/item_func.cc:
Simplify code (as signal_divide_by_null sets 'null_value')
mysql-test/include/gis_generic.inc:
Change in test for NDB (needs order by)
mysql-test/r/archive.result:
Change for gis_generic
mysql-test/r/archive_gis.result:
Change in test gis_generic
mysql-test/r/bdb_gis.result:
Change in gis test means new results
mysql-test/r/innodb_gis.result:
Change in gis test means change in results.
mysql-test/r/ndb_gis.result:
Change in gis means result change
mysql-test/t/archive.test:
Added alter table test to fix bug in alter table
mysql-test/t/archive_gis.test:
Change in syntax
mysql-test/t/ndb_gis.test:
Change to test both with and not with pushdown conditions
sql/ha_archive.cc:
Removed ARN temp file from exts[] to solve warning messages in alter table.
sql/ha_archive.h:
Adding support for Geometry type to archive.
sql/ha_berkeley.cc:
Adding geometry support to berkely
sql/ha_innodb.cc:
Adding geometry support to Innodb.
sql/ha_ndbcluster.cc:
Adding Geometry support to NDB.
mysql-test/include/gis_generic.inc:
New BitKeeper file ``mysql-test/include/gis_generic.inc''
mysql-test/r/archive_gis.result:
New BitKeeper file ``mysql-test/r/archive_gis.result''
mysql-test/r/bdb_gis.result:
New BitKeeper file ``mysql-test/r/bdb_gis.result''
mysql-test/r/ndb_gis.result:
New BitKeeper file ``mysql-test/r/ndb_gis.result''
mysql-test/t/archive_gis.test:
New BitKeeper file ``mysql-test/t/archive_gis.test''
mysql-test/t/bdb_gis.test:
New BitKeeper file ``mysql-test/t/bdb_gis.test''
mysql-test/t/innodb_gis.test:
New BitKeeper file ``mysql-test/t/innodb_gis.test''
mysql-test/t/ndb_gis.test:
New BitKeeper file ``mysql-test/t/ndb_gis.test''