Details

    • Type: Technical task
    • Status: Closed
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: 10.0.8
    • Component/s: None
    • Labels:
      None

      Description

      The following set of commands ends with the error "ERROR 1100 (HY000): Table 't1' was not locked with LOCK TABLES" which is untrue and hence confusing:

      MariaDB [test]> create table t1 (i int);
      Query OK, 0 rows affected (0.68 sec)
      
      MariaDB [test]> lock table t1 write;
      Query OK, 0 rows affected (0.00 sec)
      
      MariaDB [test]> create or replace table t1 as select * from t1;
      ERROR 1100 (HY000): Table 't1' was not locked with LOCK TABLES
      

      Test case:

      drop table if exists t1;
      create table t1 (i int);
      lock table t1 write;
      create or replace table t1 as select * from t1;
      
      revision-id: monty@askmonty.org-20140202093802-a6jtuy6ni29biigz
      revno: 3968
      branch-nick: mariadb-monty
      

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            monty Michael Widenius added a comment -

            I don't think I can do much about this
            This happens because we try to use t1 twice. If succeed first for the SELECT part, but when we try to lock it again for the create part, it will fail.

            This is the same error that you would get from:

            create table t1 (a int) engine = myisam;
            lock table t1 write;
            select * from t1 where a in (select * from t1);

            This gives the error "Table 't1' was not locked with LOCK TABLES"

            Show
            monty Michael Widenius added a comment - I don't think I can do much about this This happens because we try to use t1 twice. If succeed first for the SELECT part, but when we try to lock it again for the create part, it will fail. This is the same error that you would get from: create table t1 (a int) engine = myisam; lock table t1 write; select * from t1 where a in (select * from t1); This gives the error "Table 't1' was not locked with LOCK TABLES"
            Hide
            monty Michael Widenius added a comment -

            Same error as with other similar usage of locked tables.

            Show
            monty Michael Widenius added a comment - Same error as with other similar usage of locked tables.

              People

              • Assignee:
                monty Michael Widenius
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: