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

innodb_gis.point_basic fails on replay

    XMLWordPrintable

Details

    • Unexpected results
    • Q3/2026 Server Maintenance

    Description

      innodb_gis.point_basic fails on replay

        EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)');
      -id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
      -1	SIMPLE	t1	const	PRIMARY,idx2	PRIMARY	27	const	1	
      +ReplayTest: Query error: 
      +SET STATEMENT sql_mode=REPLACE(REPLACE(@@sql_mode,'STRICT_ALL_TABLES',''),'STRICT_TRANS_TABLES','') FOR
      +REPLACE INTO test.t1(a, p) VALUES (2, '\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@'): Cannot get geometry object from data you send to the GEOMETRY field
       drop table t1;
       
      Result length mismatch
      

      MTR testcase to repro issue: (Say example.test)

      --source include/have_geometry.inc
      --source include/have_innodb.inc
       
      CREATE TABLE t1 (
        a INT NOT NULL,
        p POINT NOT NULL,
        l LINESTRING NOT NULL,
        g GEOMETRY NOT NULL,
        PRIMARY KEY(p),
        SPATIAL KEY `idx2` (p),
        SPATIAL KEY `idx3` (l),
        SPATIAL KEY `idx4` (g)
      ) ENGINE=InnoDB;
       
      INSERT INTO t1 VALUES(
      1, ST_GeomFromText('POINT(10 10)'),
      ST_GeomFromText('LINESTRING(1 1, 5 5, 10 10)'),
      ST_GeomFromText('POLYGON((30 30, 40 40, 50 50, 30 50, 30 40, 30 30))'));
       
      INSERT INTO t1 VALUES(
      2, ST_GeomFromText('POINT(20 20)'),
      ST_GeomFromText('LINESTRING(2 3, 7 8, 9 10, 15 16)'),
      ST_GeomFromText('POLYGON((10 30, 30 40, 40 50, 40 30, 30 20, 10 30))'));
       
      --replace_column 9 #
      EXPLAIN UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)');
      UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)');
       
      EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)');
      drop table t1;
      

      How to repro

      ./mtr example.test  --record
      ./mtr example.test  --replay-server
      

      Attachments

        Issue Links

          Activity

            People

              bsrikanth Srikanth Bondalapati
              mariadb-pavithrapandith Pavithra Pandith
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 2d 10m
                  2d 10m
                  Remaining:
                  Time Spent - 2d Remaining Estimate - 10m
                  10m
                  Logged:
                  Time Spent - 2d Remaining Estimate - 10m
                  2d

                  Git Integration

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