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

Implement a flag to show if an expression is non-deterministic

    Details

    • Type: Task
    • Status: In Progress (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: 10.5
    • Component/s: Optimizer
    • Labels:
      None

      Description

      Deterministic expression is an expression that doesn't use non-deterministic functions.
      Non-deterministic function is a function that for equal input sets returns the same result set.

      E.g.: LENGTH() function of VARCHAR fields.
      'a' = 'a '
      But
      LENGTH('a') = 1 != 2 = LENGTH('a ')

      So, for equal input variables LENGTH() function returns different results.
      Therefore, LENGTH() of VARCHARs is non-deterministic.

      This task is a subtask for MDEV-11588.
      Non-deterministic expressions of GROUP BY fields are not functionally dependent on GROUP BY fields. Therefore, can't be used in SELECT list, HAVING and ORDER BY clauses.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                igor Igor Babaev
                Reporter:
                shagalla Galina Shalygina
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: