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

An RLIKE that previously worked on 10.0 now returns "Got error 'pcre_exec: recursion limit of 100 exceeded' from regexp"

    Details

      Description

      The PCRE recursion limit has apparently decreased in 10.1. There is no way to increase this limit through configuration.

      eg:

      MariaDB [10_1_sandbox]> SELECT CONCAT(REPEAT('100,',98),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$' TEST;
      +------+
      | TEST |
      +------+
      |    1 |
      +------+
      1 row in set (0.02 sec)
       
      MariaDB [10_1_sandbox]> SELECT CONCAT(REPEAT('100,',99),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$' TEST;
      +------+
      | TEST |
      +------+
      |    0 |
      +------+
      1 row in set, 1 warning (0.02 sec)
       
      MariaDB [sandbox]> show warnings;
      +---------+------+--------------------------------------------------------------------+
      | Level   | Code | Message                                                            |
      +---------+------+--------------------------------------------------------------------+
      | Warning | 1139 | Got error 'pcre_exec: recursion limit of 100 exceeded' from regexp |
      +---------+------+--------------------------------------------------------------------+
      1 row in set (0.15 sec)
      
      

      In 10.0:

      MariaDB [10_0_sandbox]> SELECT CONCAT(REPEAT('100,',99),'101') RLIKE '^(([1-9][0-9]*),)*[1-9][0-9]*$' TEST;
      +------+
      | TEST |
      +------+
      |    1 |
      +------+
      1 row in set (0.14 sec)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                serg Sergei Golubchik
                Reporter:
                Rich Rich Theobald
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: