Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-21678

innodb_gis.gis_split_nan fails with ER_CANT_CREATE_GEOMETRY_OBJECT

    XMLWordPrintable

Details

    Description

      10.2 a241d411

      $ perl ./mtr innodb_gis.gis_split_nan --mysqld=--innodb-page-size=4k
       
      innodb_gis.gis_split_nan 'innodb'        [ fail ]
              Test ended at 2020-02-06 21:26:16
       
      CURRENT_TEST: innodb_gis.gis_split_nan
      mysqltest: At line 285: query 'INSERT INTO geom_index SELECT * FROM gis_geometrycollection' failed: 1416: Cannot get geometry object from data you send to the GEOMETRY field
       
      The result from queries just before the failure was:
      < snip >
                                                                            'LINESTRING(0 0,10 10),'
                                                                            'GEOMETRYCOLLECTION('
                                                                                  'GEOMETRYCOLLECTION())),'
                                                                      'GEOMETRYCOLLECTION(),'
                                                                      'GEOMETRYCOLLECTION('
                                                                             'GEOMETRYCOLLECTION()),'
                                                                      'POLYGON((0 0,0 10,10 10,10 0,0 0)),'
                                                                      'MULTIPOINT(0 0,2 2,4 4,6 6,8 8,10 10),'
                                                                      'MULTILINESTRING((0 0,10 10),(0 10,10 0)),'
                                                                      'MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))'))));
      # Creating a table with spatial index column
      CREATE TABLE geom_index (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY NOT NULL, SPATIAL INDEX(g));
      # Inserting geometry values
      INSERT INTO geom_index SELECT * FROM gis_point;
      INSERT INTO geom_index SELECT * FROM gis_linestring;
      INSERT INTO geom_index SELECT * FROM gis_polygon;
      INSERT INTO geom_index SELECT * FROM gis_multi_point;
      INSERT INTO geom_index SELECT * FROM gis_multi_linestring;
      INSERT INTO geom_index SELECT * FROM gis_multi_polygon;
      INSERT INTO geom_index SELECT * FROM gis_geometrycollection;
       
      More results from queries before failure can be found in /data/bld/10.2-debug-nightly/mysql-test/var/log/gis_split_nan.log
      

      The test never runs anywhere, because it has an include file which requires innodb-page-size=4K, but the test doesn't have the option file, and the include file doesn't set it, it only checks the value. So the test always gets skipped.

      The failure was revealed when I tried to do MDEV-21664, which makes these include files enforce the setting rather than just check it. So, it should be enough to fix the test itself without adding the opt file for it, after MDEV-21664 is pushed, the opt file won't be necessary.

      Reproducible on 10.2-10.5.

      The test was added to 10.2 long time ago, by this commit:

      commit 42e3e574260dc6ccfe161f8c0d8e8af41e599353
      Author: Jan Lindström
      Date:   Thu Oct 12 16:21:21 2017 +0300
       
          MDEV-13626: Merge InnoDB test cases from MySQL 5.7
          
          Add missing innodb_gis tests.
      

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.