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

No error when inserting DEFAULT(non_virtual_column) into a virtual column

    XMLWordPrintable

Details

    Description

      I create a table with a virtual column:

      SET sql_mode=STRICT_ALL_TABLES;
      CREATE OR REPLACE TABLE t1 (
       a INT NOT NULL DEFAULT 10,
       b INT AS (a+1) VIRTUAL
      ) ENGINE=MyISAM;
      

      Now I insert an explicit value to the virtual column, and it returns an error as expected:

      INSERT INTO t1 (b) VALUES (10);
      

      ERROR 1906 (HY000): The value specified for generated column 'b' in table 't1' has been ignored
      

      Now I insert a value into the virtual column, but using DEFAULT(a) instead of an explicit value:

      INSERT INTO t1 (b) VALUES (DEFAULT(a));
      

      Query OK, 1 row affected (0.001 sec)
      

      It inserted the record without the error. Looks wrong. Expect to get the same error.

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              bar Alexander Barkov
              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.