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

[PlSql] Fix alphabetic match portability #4029

Merged
merged 1 commit into from May 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion sql/plsql/PlSqlLexer.g4
Expand Up @@ -2512,7 +2512,7 @@ SPACES: [ \t\r\n]+ -> channel(HIDDEN);

fragment NEWLINE_EOF : NEWLINE | EOF;
fragment QUESTION_MARK : '?';
fragment SIMPLE_LETTER : [\p{Alphabetic}\p{General_Category=Other_Letter}];
fragment SIMPLE_LETTER : [\p{Letter}];
fragment FLOAT_FRAGMENT : UNSIGNED_INTEGER* '.'? UNSIGNED_INTEGER+;
fragment NEWLINE : '\r'? '\n';
fragment SPACE : [ \t];
6 changes: 5 additions & 1 deletion sql/plsql/examples/lexer02.sql
@@ -1,3 +1,7 @@
select 'A' | | 'B' from dual;

select a ä, b Ḅ from dual;
select a ä, b Ḅ from dual;

CREATE OR REPLACE PACKAGE ACCESS_SECURITY AS
-- omitted
END;
1 change: 1 addition & 0 deletions sql/plsql/examples/lexer02.sql.tree
@@ -0,0 +1 @@
(sql_script (unit_statement (data_manipulation_language_statements (select_statement (select_only_statement (subquery (subquery_basic_elements (query_block select (selected_list (select_list_elements (expression (logical_expression (unary_logical_expression (multiset_expression (relational_expression (compound_expression (concatenation (concatenation (model_expression (unary_expression (atom (constant (quoted_string 'A')))))) | | (concatenation (model_expression (unary_expression (atom (constant (quoted_string 'B'))))))))))))))) (from_clause from (table_ref_list (table_ref (table_ref_aux (table_ref_aux_internal (dml_table_expression_clause (tableview_name (identifier (id_expression (regular_id dual))))))))))))))))) ; (unit_statement (data_manipulation_language_statements (select_statement (select_only_statement (subquery (subquery_basic_elements (query_block select (selected_list (select_list_elements (expression (logical_expression (unary_logical_expression (multiset_expression (relational_expression (compound_expression (concatenation (model_expression (unary_expression (atom (general_element (general_element_part (id_expression (regular_id a)))))))))))))) (column_alias (identifier (id_expression (regular_id ä))))) , (select_list_elements (expression (logical_expression (unary_logical_expression (multiset_expression (relational_expression (compound_expression (concatenation (model_expression (unary_expression (atom (general_element (general_element_part (id_expression (regular_id b)))))))))))))) (column_alias (identifier (id_expression (regular_id Ḅ)))))) (from_clause from (table_ref_list (table_ref (table_ref_aux (table_ref_aux_internal (dml_table_expression_clause (tableview_name (identifier (id_expression (regular_id dual))))))))))))))))) ; (unit_statement (create_package CREATE OR REPLACE PACKAGE (package_name (identifier (id_expression (regular_id ACCESS_SECURITY)))) AS END)) ; <EOF>)