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

Remove Lex::charset

    XMLWordPrintable

    Details

      Description

      We want to pass more structures through the Bison stack instead of using Lex members.

      In particular, we want to get rid of Lex->charset.

      Reasons:

      • The current implementation is hard to follow and change. It has caused a few bugs already. Passing data through the bison stack is much easier to follow!
      • We'll have contextually typed collations soon:

        -- Use the xxx_uca1400_as_ci collation of the column implicit character set:
        CREATE TABLE t1 (a CHAR(10) COLLATE uca1400_as_ci);
        

        The above will resolve to:

      • COLLATE utf8mb4_uca1400_as_ci (in case if the column character set is later resolved to utf8mb4)
      • COLLATE utf16_uca1400_as_ci (in case if the column character set is later resolved to utf16
      • and so on

      So the code logic must be simlified before this change.

      This change will also fix a few problems:

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              serg Sergei Golubchik
              Reporter:
              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.