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

Inconsistent ST_IsValid() result between VIEW、CTE and TEMPORARY TABLE over RIGHT JOIN with ST_Dimension() predicate

    XMLWordPrintable

Details

    • Bug
    • Status: Confirmed (View Workflow)
    • Major
    • Resolution: Unresolved
    • 12.3, 12.2.2
    • 12.3
    • GIS, Optimizer
    • 12.2.2-MariaDB-ubu2404

    Description

      Description:

      An equivalent VIEW, CTE, and TEMPORARY TABLE query produce inconsistent results when ST_IsValid() is evaluated over a RIGHT JOIN query body filtered by ST_Dimension(), and the result is filtered by an outer predicate.

      Environment:

      MariaDB version: 12.2.2-MariaDB-ubu2404
      OS: Ubuntu 24.04

      How to repeat:

      – Table setup
      CREATE TABLE t0 (c0 INT,c1 POINT);
      INSERT INTO t0 VALUES (-4, Point(0,0));
      INSERT INTO t0 VALUES (6, NULL);
      INSERT INTO t0 VALUES (9, Point(1,1));

      – VIEW construct
      CREATE VIEW v0 AS
      SELECT ST_IsValid(a.c1) AS vc_0 FROM t0 AS a RIGHT JOIN t0 AS b ON a.c0 <=> b.c0 WHERE ST_Dimension(b.c1) >= 0;

      SELECT vc_0 FROM v0 WHERE vc_0 > 0;

      – CTE construct
      WITH CTE AS (
      SELECT ST_IsValid(a.c1) AS vc_0 FROM t0 AS a RIGHT JOIN t0 AS b ON a.c0 <=> b.c0 WHERE ST_Dimension(b.c1) >= 0)
      SELECT vc_0 FROM CTE WHERE vc_0 > 0;

      – TEMPORARY TABLE construct
      CREATE TEMPORARY TABLE temp_t AS
      SELECT ST_IsValid(a.c1) AS vc_0 FROM t0 AS a RIGHT JOIN t0 AS b ON a.c0 <=> b.c0 WHERE ST_Dimension(b.c1) >= 0;

      SELECT vc_0 FROM temp_t WHERE vc_0 > 0 ;

      Actual results:
      VIEW query returns:
      1

      CTE query returns:
      NULL

      TEMPORARY TABLE query returns:
      1
      1

      Expected results:

      The three queries are constructed from the same query body and evaluated under the same database state with the same outer filtering condition. Therefore, they should return consistent results.

      Attachments

        Issue Links

          Activity

            People

              Gosselin Dave Gosselin
              XiaoxuNiu Xiaoyuan Xie
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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