Commit graph

19 commits

Author SHA1 Message Date
Oleksandr Byelkin
0fe39d368a Merge branch '10.6' into 10.11 2024-07-22 15:14:50 +02:00
Rucha Deodhar
1f28350b59 MDEV-32456: incorrect result of gis function in view protocol
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.
2024-07-17 22:37:32 +05:30
Alexander Barkov
0bed4d72c0 MDEV-28918 Implicit cast from INET6 UNSIGNED works differently on UPDATE vs ALTER
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.
2022-06-27 12:49:40 +04:00
Oleksandr Byelkin
7aa09a5ed2 MDEV-10141: Add support for INTERSECT (and common parts for EXCEPT)
MDEV-10140: Add support for EXCEPT
2017-03-13 12:07:47 +01:00
Alexey Botchkov
80a02037df MDEV-6073 Merge gis test cases form 5.6.
Tests were merged.
        As the implementation is different, the 'internal debugging' part
        was not merged, only a stub for it created.
2014-07-01 00:30:24 +05:00
unknown
c884a32c78 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
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
2007-03-29 12:00:32 +02:00
unknown
4e907a7fdc gis_generic test cases:
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
2007-03-29 11:20:08 +02:00
unknown
7cdd99c129 Merge siva.hindu.god:/home/tsmith/m/bk/maint/50
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
2007-03-28 19:50:41 -06:00
unknown
b9fd97f550 Update test for bug #24563 (MBROverlaps does not seem to function propertly.); ARCHIVE doesn't support AUTO_INCREMENT, so specify PK values explicitly
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
2007-03-28 19:39:43 -06:00
unknown
382ae31305 Merge siva.hindu.god:/home/tsmith/m/bk/maint/50
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
2007-03-28 17:41:52 -06:00
unknown
942bb0dfd9 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
- 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
2007-03-28 17:40:42 -06:00
unknown
f48f4f1efb Merge siva.hindu.god:/home/tsmith/m/bk/maint/bmisc/50
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
2007-03-23 17:48:03 -06:00
unknown
eee28a267d Bug #24563: MBROverlaps does not seem to function propertly.
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)).
2007-03-23 16:28:07 -06:00
unknown
57c08a6a33 Merge mysql.com:/home/ram/work/b26038/b26038.5.0
into  mysql.com:/home/ram/work/b26038/b26038.5.1


mysql-test/t/gis.test:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_geofunc.h:
  Auto merged
sql/spatial.cc:
  Auto merged
sql/spatial.h:
  Auto merged
mysql-test/include/gis_generic.inc:
  manual merge
mysql-test/r/archive_gis.result:
  manual merge
mysql-test/r/gis.result:
  manual merge
mysql-test/r/innodb_gis.result:
  manual merge
mysql-test/r/ndb_gis.result:
  manual merge
2007-03-05 17:12:37 +04:00
unknown
d4272a16de after merge fix (bug #26038)
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.
2007-03-02 15:09:44 +04:00
unknown
88841e3c85 Bug#17728 tests that fails are: ndb_gis rpl_ndb_multi_update2
- 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.
2006-03-03 11:52:52 +01:00
unknown
fd0ed478d3 Add DROP TABLE before trying to create view (in mysqldump)
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')
2005-10-27 22:45:18 +03:00
unknown
a39cb4fa2a Change in gis test to allow NDB to be able to call generic tests. Fix for Archive so that ALTER TABLE doesn't issue a warning. Also added test case for alter table.
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.
2005-10-26 13:55:08 -07:00
unknown
84ece2e052 This patch add support for storing Geometry types to Archive, Innodb, NDB, and BDB.
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''
2005-10-24 23:20:39 -07:00