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

MySQL WL#5576 Prohibit CREATE TABLE ... SELECT to modify other tables

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      Test case for MySQL "WL#5576 Prohibit CREATE TABLE ... SELECT to modify other tables" fails in 10.0.

      Test diff attached. Please try to apply test case as is unless it is applicable.

      Relevant 5.6 revision:

      revno: 2876.368.90
      committer: Libing Song <anders.song@greatopensource.com>
      branch nick: mysql-trunk
      timestamp: Mon 2011-02-21 10:57:30 +0800
      message:
        WL#5576 Prohibit CREATE TABLE ... SELECT to modify other tables
        BUG#11749792 and BUG#11763193 are fixed by this worklog.
       
        In 'CREATE TABLE ... SELECT' statement, SELECT clause could call store functions
        to modify other tables. It made CTS's behavior towards complex and not
        understandable. It also caused some binlogging problem. So the behavior modifying
        other tables is prohibited in this worklog.
       
        In this patch, code is added to check if there is any other table owning WRITE
        lock just after all tables have been locked. CREATE TABLE ... SELECT will fail
        and print an error immediately if any other table has WRITE lock.
        As SELECT ... FOR UPDATE uses WRITE lock too. FOR UPDATE clause is also
        prohibited in CREATE TABLE ... SELECT statement.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              svoj Sergey Vojtovich
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated: