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

CHANGE MASTER parsing uses inadequate integral types

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 12.2, 10.11.14
    • None
    • Parser, Replication
    • Can result in unexpected behaviour

    Description

      The CHANGE MASTER section (master_def) in sql_yacc.yy uses ulong_num for all integral fields.
      This means all of them are affected.

      • As recognized in master_retry_count_basic.test, ulong is notorious for having different sizes (and thus different upper limits) between LLP64 (Windows Visual C++ or MinGW) and LP64 (Most Unixes and Unix-likes).
        • Only MASTER_RETRY_COUNT from MDEV-25674 is internally also a ulong.
          It is therefore inconsistent between those platforms.
        • MASTER_LOG_POS has 64 bits on Windows, but ulong_num caps at 32 bits on LLP64 (Windows).
          This can mean that much of MASTER_LOG_POS is not configurable on Windows.
        • MASTER_PORT, MASTER_CONNECT_RETRY, and Domain & Server IDs are supposed to be 32-bit.
          As I reported on MDEV-36939, unexpected wraparounds can occur on LP64 systems (*nix) when 64 bits are stuffed into only 32 bits.
      • And last but not the least, not using bool for MASTER_SSL & MASTER_SSL_VERIFY_SERVER_CERT means they do not accept the keywords TRUE & FALSE.

      Attachments

        Issue Links

          Activity

            People

              ParadoxV5 Jimmy Hú
              ParadoxV5 Jimmy Hú
              Jimmy Hú Jimmy Hú
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.