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

Syntax error upon query with subquery from Spider table

Details

    Description

      # This may not work, e.g. for in-source builds, fix the path
      --source plugin/spider/spider/include/init_spider.inc
       
      SET spider_same_server_link= on;
      --eval create server s foreign data wrapper mysql options (host "127.0.0.1", database "test", user "root", port $MASTER_MYPORT);
       
      CREATE TABLE t (a INT);
      INSERT INTO t VALUES (1),(2);
      CREATE TABLE t_spider (a INT) ENGINE=SPIDER COMMENT = "wrapper 'mysql', srv 's', table 't'";
       
      SELECT a FROM t_spider WHERE a IN ( SELECT a FROM t_spider );
       
      # Cleanup
       
      DROP TABLE t_spider, t;
      DROP SERVER s;
       
      This may not work, e.g. for in-source builds, fix the path
      --source plugin/spider/spider/include/deinit_spider.inc
      

      10.4 f97f6955

      mysqltest: At line 12: query 'SELECT a FROM t_spider WHERE a IN ( SELECT a FROM t_spider )' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`test`.`t` t1 where 1' at line 1
      

      The complaint is of course about the query that Spider generates to access remote, which is

      select t0.`a` `a` from `test`.`t` t0`test`.`t` t1 where 1
      

      Attachments

        Issue Links

          Activity

            ycp Yuchen Pei added a comment -

            mtr case

            --disable_query_log
            --disable_result_log
            --source ../../t/test_init.inc
            --enable_result_log
            --enable_query_log
            evalp CREATE SERVER srv FOREIGN DATA WRAPPER MYSQL OPTIONS (SOCKET "$MASTER_1_MYSOCK", DATABASE 'test',user 'root');
             
            CREATE TABLE t1 (a INT);
            INSERT INTO t1 VALUES (1),(2);
            CREATE TABLE t2 (a INT) ENGINE=SPIDER COMMENT = "wrapper 'mysql', srv 'srv', table 't1'";
             
            SELECT a FROM t2 WHERE a IN ( SELECT a FROM t2 );
             
            # Cleanup
             
            DROP TABLE t1, t2;
            DROP SERVER srv;
            --disable_query_log
            --disable_result_log
            --source ../../t/test_deinit.inc
            --enable_result_log
            --enable_query_log

            ycp Yuchen Pei added a comment - mtr case --disable_query_log --disable_result_log --source ../../t/test_init.inc --enable_result_log --enable_query_log evalp CREATE SERVER srv FOREIGN DATA WRAPPER MYSQL OPTIONS (SOCKET "$MASTER_1_MYSOCK" , DATABASE 'test' , user 'root' );   CREATE TABLE t1 (a INT ); INSERT INTO t1 VALUES (1),(2); CREATE TABLE t2 (a INT ) ENGINE=SPIDER COMMENT = "wrapper 'mysql', srv 'srv', table 't1'" ;   SELECT a FROM t2 WHERE a IN ( SELECT a FROM t2 );   # Cleanup   DROP TABLE t1, t2; DROP SERVER srv; --disable_query_log --disable_result_log --source ../../t/test_deinit.inc --enable_result_log --enable_query_log
            ycp Yuchen Pei added a comment -

            fixed by MDEV-26247

            ycp Yuchen Pei added a comment - fixed by MDEV-26247

            People

              ycp Yuchen Pei
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.