MDEV-36107 MDEV-36108 Enhance mysqltest language with expression evaluation and variable substitutions

mysqltest had limited scripting capabilities, requiring complex
workarounds for mathematical calculations and string manipulations
in test cases. This commit solves these limitations by adding a new
`$(...)` syntax that enables direct evaluation of mathematical, logical,
and string expressions within test scripts.

Expression Evaluation (MDEV-36107):
- Recursive descent parser supporting arithmetic, logical, comparison,
  and bitwise operators with proper precedence
- Support for integers (decimal, hex, binary), booleans, strings, and
  NULL values
- Variable substitution within expressions
- Integration with existing mysqltest control flow

String Functions (MDEV-36108):
- Base conversion functions supporting bases 2-62
- String manipulation and processing functions
- Regular expression functions
- Conditional and numeric utility functions

The implementation enhances mysqltest's scripting capabilities while
maintaining full backward compatibility.
This commit is contained in:
KhaledR57 2025-06-13 17:39:40 +03:00 committed by Oleksandr "Sanja" Byelkin
commit 7ae02de3a5
5 changed files with 7488 additions and 107 deletions

File diff suppressed because it is too large Load diff