Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reworking of SET parser #4274

Merged
merged 16 commits into from
Jun 30, 2023
Merged

Reworking of SET parser #4274

merged 16 commits into from
Jun 30, 2023

Conversation

renecannao
Copy link
Contributor

No description provided.

renecannao and others added 15 commits June 26, 2023 14:11
setparser_test_common.h includes the tests for both
setparser_test2.cpp and setparser_test3.cpp
Disabling jemalloc from TAP tests it saves around 5MB per binary

Also renamed proxysql_find_charset_collate() in proxysqlTap_find_charset_collate()
Added set_query() to change the query.
parse1v2() is now able to only once:
- generate the pattern
- compile the regex
If parse1() or parse1v2() is not able to parse the whole query,
it doesn't return any result (thus causes an error)
Variable mysql-set_parser_algorithm defines which algorithm is used by SetParser
for the parsing of SET statements.
If value is 1: parse1() is used
If value is 2: parse1v2() is used

parse1v2() allows also the using a single SetParser per MySQL_Thread to
process all SET statements. Regex is compiled only once.

set_testing-240-t was also modified to test both algorithms
@mirostauder
Copy link
Collaborator

retest this please

@renecannao renecannao merged commit fb53926 into v2.x Jun 30, 2023
@renecannao renecannao deleted the v2.x-4268 branch August 29, 2024 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants