@abaplint/core 2.119.43 → 2.119.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/abaplint.d.ts +506 -7
- package/build/src/abap/2_statements/combi.js +100 -39
- package/build/src/abap/2_statements/expand_macros.js +6 -4
- package/build/src/abap/2_statements/expressions/_dynamic_access.js +2 -2
- package/build/src/abap/2_statements/expressions/_select_core.js +14 -12
- package/build/src/abap/2_statements/expressions/assign_source.js +10 -4
- package/build/src/abap/2_statements/expressions/cast.js +1 -1
- package/build/src/abap/2_statements/expressions/compare.js +2 -2
- package/build/src/abap/2_statements/expressions/component_compare.js +1 -1
- package/build/src/abap/2_statements/expressions/component_compare_simple.js +1 -1
- package/build/src/abap/2_statements/expressions/cond.js +1 -1
- package/build/src/abap/2_statements/expressions/corresponding_body.js +1 -1
- package/build/src/abap/2_statements/expressions/data_definition.js +1 -1
- package/build/src/abap/2_statements/expressions/database_table.js +8 -0
- package/build/src/abap/2_statements/expressions/find_type.js +1 -1
- package/build/src/abap/2_statements/expressions/for.js +2 -2
- package/build/src/abap/2_statements/expressions/function_exporting_parameter.js +1 -1
- package/build/src/abap/2_statements/expressions/index.js +9 -0
- package/build/src/abap/2_statements/expressions/inlinedata.js +1 -1
- package/build/src/abap/2_statements/expressions/inlinefs.js +1 -1
- package/build/src/abap/2_statements/expressions/loop_source.js +1 -1
- package/build/src/abap/2_statements/expressions/message_source_source.js +1 -1
- package/build/src/abap/2_statements/expressions/new_object.js +1 -1
- package/build/src/abap/2_statements/expressions/reduce_next.js +1 -1
- package/build/src/abap/2_statements/expressions/select.js +2 -2
- package/build/src/abap/2_statements/expressions/select_cte.js +7 -6
- package/build/src/abap/2_statements/expressions/source.js +11 -11
- package/build/src/abap/2_statements/expressions/sql_aggregation.js +9 -9
- package/build/src/abap/2_statements/expressions/sql_association_entry.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_associations_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_case.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_client.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_compare.js +7 -6
- package/build/src/abap/2_statements/expressions/sql_cte_associations.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_cte_hierarchy.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_field.js +4 -4
- package/build/src/abap/2_statements/expressions/sql_field_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_field_list_loop.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_field_list_loop_greedy.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_from.js +9 -8
- package/build/src/abap/2_statements/expressions/sql_from_source.js +4 -3
- package/build/src/abap/2_statements/expressions/sql_function.js +363 -31
- package/build/src/abap/2_statements/expressions/sql_function_input.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_group_by.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_hierarchy_accessor.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_hierarchy_aggregate.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_hierarchy_source.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_in.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_into_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_join.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_like_regexpr.js +19 -0
- package/build/src/abap/2_statements/expressions/sql_locate_regexpr.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_occurrences_regexpr.js +15 -0
- package/build/src/abap/2_statements/expressions/sql_options.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_over.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_path_for_column.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_path_for_entity.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_path_segment.js +3 -3
- package/build/src/abap/2_statements/expressions/sql_privileged_access.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_regexpr_from.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_group.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_occurrence.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_pattern.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_replace_regexpr.js +22 -0
- package/build/src/abap/2_statements/expressions/sql_set_op.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_set_op_group.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_source.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_source_no_space.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_source_simple.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_substring_regexpr.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_target.js +2 -2
- package/build/src/abap/2_statements/expressions/string_template.js +1 -1
- package/build/src/abap/2_statements/expressions/string_template_formatting.js +2 -2
- package/build/src/abap/2_statements/expressions/table_expression.js +1 -1
- package/build/src/abap/2_statements/expressions/type.js +1 -1
- package/build/src/abap/2_statements/expressions/type_table.js +1 -1
- package/build/src/abap/2_statements/expressions/type_table_key.js +1 -1
- package/build/src/abap/2_statements/expressions/value_body.js +1 -1
- package/build/src/abap/2_statements/result.js +6 -0
- package/build/src/abap/2_statements/statement_parser.js +8 -5
- package/build/src/abap/2_statements/statements/add.js +2 -1
- package/build/src/abap/2_statements/statements/add_corresponding.js +1 -1
- package/build/src/abap/2_statements/statements/append.js +1 -1
- package/build/src/abap/2_statements/statements/assert.js +2 -1
- package/build/src/abap/2_statements/statements/assign.js +8 -3
- package/build/src/abap/2_statements/statements/assign_local_copy.js +1 -1
- package/build/src/abap/2_statements/statements/at.js +2 -1
- package/build/src/abap/2_statements/statements/at_line_selection.js +1 -1
- package/build/src/abap/2_statements/statements/at_pf.js +1 -1
- package/build/src/abap/2_statements/statements/at_selection_screen.js +1 -1
- package/build/src/abap/2_statements/statements/at_user_command.js +1 -1
- package/build/src/abap/2_statements/statements/authority_check.js +2 -1
- package/build/src/abap/2_statements/statements/back.js +1 -1
- package/build/src/abap/2_statements/statements/break.js +1 -1
- package/build/src/abap/2_statements/statements/break_id.js +1 -1
- package/build/src/abap/2_statements/statements/call.js +2 -1
- package/build/src/abap/2_statements/statements/call_badi.js +1 -1
- package/build/src/abap/2_statements/statements/call_database.js +1 -1
- package/build/src/abap/2_statements/statements/call_dialog.js +1 -1
- package/build/src/abap/2_statements/statements/call_function.js +5 -5
- package/build/src/abap/2_statements/statements/call_kernel.js +1 -1
- package/build/src/abap/2_statements/statements/call_ole.js +1 -1
- package/build/src/abap/2_statements/statements/call_screen.js +1 -1
- package/build/src/abap/2_statements/statements/call_selection_screen.js +1 -1
- package/build/src/abap/2_statements/statements/call_subscreen.js +1 -1
- package/build/src/abap/2_statements/statements/call_transaction.js +1 -1
- package/build/src/abap/2_statements/statements/call_transformation.js +2 -1
- package/build/src/abap/2_statements/statements/case_type.js +1 -1
- package/build/src/abap/2_statements/statements/catch_system_exceptions.js +1 -1
- package/build/src/abap/2_statements/statements/chain.js +1 -1
- package/build/src/abap/2_statements/statements/check_select_options.js +1 -1
- package/build/src/abap/2_statements/statements/class_deferred.js +2 -1
- package/build/src/abap/2_statements/statements/class_definition.js +1 -1
- package/build/src/abap/2_statements/statements/class_definition_load.js +2 -1
- package/build/src/abap/2_statements/statements/close_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/close_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/commit.js +2 -1
- package/build/src/abap/2_statements/statements/commit_entities.js +1 -1
- package/build/src/abap/2_statements/statements/communication.js +1 -1
- package/build/src/abap/2_statements/statements/compute.js +1 -1
- package/build/src/abap/2_statements/statements/contexts.js +1 -1
- package/build/src/abap/2_statements/statements/controls.js +1 -1
- package/build/src/abap/2_statements/statements/convert.js +2 -2
- package/build/src/abap/2_statements/statements/create_data.js +2 -2
- package/build/src/abap/2_statements/statements/create_object.js +2 -2
- package/build/src/abap/2_statements/statements/create_ole.js +1 -1
- package/build/src/abap/2_statements/statements/define.js +1 -1
- package/build/src/abap/2_statements/statements/delete_cluster.js +1 -1
- package/build/src/abap/2_statements/statements/delete_database.js +2 -1
- package/build/src/abap/2_statements/statements/delete_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/delete_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/delete_internal.js +3 -1
- package/build/src/abap/2_statements/statements/delete_memory.js +1 -1
- package/build/src/abap/2_statements/statements/delete_report.js +1 -1
- package/build/src/abap/2_statements/statements/delete_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/demand.js +1 -1
- package/build/src/abap/2_statements/statements/describe.js +1 -1
- package/build/src/abap/2_statements/statements/detail.js +1 -1
- package/build/src/abap/2_statements/statements/divide.js +2 -1
- package/build/src/abap/2_statements/statements/editor_call.js +1 -1
- package/build/src/abap/2_statements/statements/end_chain.js +1 -1
- package/build/src/abap/2_statements/statements/end_enhancement.js +1 -1
- package/build/src/abap/2_statements/statements/end_enhancement_section.js +1 -1
- package/build/src/abap/2_statements/statements/end_of_page.js +1 -1
- package/build/src/abap/2_statements/statements/end_of_selection.js +1 -1
- package/build/src/abap/2_statements/statements/end_test_seam.js +1 -1
- package/build/src/abap/2_statements/statements/endcatch.js +1 -1
- package/build/src/abap/2_statements/statements/enddefine.js +1 -1
- package/build/src/abap/2_statements/statements/endexec.js +1 -1
- package/build/src/abap/2_statements/statements/endform.js +2 -2
- package/build/src/abap/2_statements/statements/endfunction.js +2 -1
- package/build/src/abap/2_statements/statements/endmodule.js +1 -1
- package/build/src/abap/2_statements/statements/endon.js +1 -1
- package/build/src/abap/2_statements/statements/endprovide.js +1 -1
- package/build/src/abap/2_statements/statements/endwith.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement_point.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement_section.js +1 -1
- package/build/src/abap/2_statements/statements/exec_sql.js +1 -1
- package/build/src/abap/2_statements/statements/export.js +4 -3
- package/build/src/abap/2_statements/statements/export_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/extract.js +1 -1
- package/build/src/abap/2_statements/statements/fetch_next_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/field.js +1 -1
- package/build/src/abap/2_statements/statements/field_group.js +1 -1
- package/build/src/abap/2_statements/statements/fields.js +1 -1
- package/build/src/abap/2_statements/statements/form.js +2 -1
- package/build/src/abap/2_statements/statements/format.js +1 -1
- package/build/src/abap/2_statements/statements/free.js +2 -1
- package/build/src/abap/2_statements/statements/free_memory.js +1 -1
- package/build/src/abap/2_statements/statements/free_object.js +1 -1
- package/build/src/abap/2_statements/statements/function_module.js +2 -1
- package/build/src/abap/2_statements/statements/function_pool.js +2 -1
- package/build/src/abap/2_statements/statements/generate_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/generate_report.js +1 -1
- package/build/src/abap/2_statements/statements/generate_subroutine.js +1 -1
- package/build/src/abap/2_statements/statements/get.js +1 -1
- package/build/src/abap/2_statements/statements/get_badi.js +1 -1
- package/build/src/abap/2_statements/statements/get_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/get_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/get_locale.js +1 -1
- package/build/src/abap/2_statements/statements/get_parameter.js +1 -1
- package/build/src/abap/2_statements/statements/get_permissions.js +1 -1
- package/build/src/abap/2_statements/statements/get_pf_status.js +1 -1
- package/build/src/abap/2_statements/statements/get_property.js +1 -1
- package/build/src/abap/2_statements/statements/get_reference.js +2 -1
- package/build/src/abap/2_statements/statements/get_run_time.js +1 -1
- package/build/src/abap/2_statements/statements/get_time.js +2 -1
- package/build/src/abap/2_statements/statements/hide.js +1 -1
- package/build/src/abap/2_statements/statements/import.js +5 -4
- package/build/src/abap/2_statements/statements/import_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/import_nametab.js +1 -1
- package/build/src/abap/2_statements/statements/infotypes.js +1 -1
- package/build/src/abap/2_statements/statements/initialization.js +1 -1
- package/build/src/abap/2_statements/statements/input.js +1 -1
- package/build/src/abap/2_statements/statements/insert_database.js +2 -1
- package/build/src/abap/2_statements/statements/insert_field_group.js +1 -1
- package/build/src/abap/2_statements/statements/insert_internal.js +1 -1
- package/build/src/abap/2_statements/statements/insert_report.js +2 -2
- package/build/src/abap/2_statements/statements/insert_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/interface_def.js +1 -1
- package/build/src/abap/2_statements/statements/interface_deferred.js +2 -1
- package/build/src/abap/2_statements/statements/interface_load.js +2 -1
- package/build/src/abap/2_statements/statements/leave.js +1 -1
- package/build/src/abap/2_statements/statements/load_of_program.js +1 -1
- package/build/src/abap/2_statements/statements/load_report.js +1 -1
- package/build/src/abap/2_statements/statements/local.js +1 -1
- package/build/src/abap/2_statements/statements/log_point.js +1 -1
- package/build/src/abap/2_statements/statements/loop.js +4 -4
- package/build/src/abap/2_statements/statements/loop_at_screen.js +1 -1
- package/build/src/abap/2_statements/statements/loop_extract.js +2 -1
- package/build/src/abap/2_statements/statements/message.js +3 -2
- package/build/src/abap/2_statements/statements/method_def.js +9 -5
- package/build/src/abap/2_statements/statements/method_implementation.js +3 -1
- package/build/src/abap/2_statements/statements/modify_database.js +2 -1
- package/build/src/abap/2_statements/statements/modify_entities.js +1 -1
- package/build/src/abap/2_statements/statements/modify_line.js +1 -1
- package/build/src/abap/2_statements/statements/modify_screen.js +1 -1
- package/build/src/abap/2_statements/statements/module.js +1 -1
- package/build/src/abap/2_statements/statements/move.js +2 -2
- package/build/src/abap/2_statements/statements/move_corresponding.js +2 -2
- package/build/src/abap/2_statements/statements/multiply.js +2 -1
- package/build/src/abap/2_statements/statements/new_line.js +1 -1
- package/build/src/abap/2_statements/statements/new_page.js +1 -1
- package/build/src/abap/2_statements/statements/nodes.js +1 -1
- package/build/src/abap/2_statements/statements/on_change.js +1 -1
- package/build/src/abap/2_statements/statements/open_cursor.js +2 -2
- package/build/src/abap/2_statements/statements/open_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/pack.js +1 -1
- package/build/src/abap/2_statements/statements/parameter.js +1 -1
- package/build/src/abap/2_statements/statements/perform.js +3 -3
- package/build/src/abap/2_statements/statements/position.js +1 -1
- package/build/src/abap/2_statements/statements/print_control.js +1 -1
- package/build/src/abap/2_statements/statements/process_after_input.js +1 -1
- package/build/src/abap/2_statements/statements/process_before_output.js +1 -1
- package/build/src/abap/2_statements/statements/process_on_help_request.js +1 -1
- package/build/src/abap/2_statements/statements/process_on_value_request.js +1 -1
- package/build/src/abap/2_statements/statements/program.js +1 -1
- package/build/src/abap/2_statements/statements/provide.js +1 -1
- package/build/src/abap/2_statements/statements/put.js +1 -1
- package/build/src/abap/2_statements/statements/raise.js +4 -3
- package/build/src/abap/2_statements/statements/raise_entity_event.js +2 -1
- package/build/src/abap/2_statements/statements/raise_event.js +2 -1
- package/build/src/abap/2_statements/statements/ranges.js +1 -1
- package/build/src/abap/2_statements/statements/read_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/read_entities.js +1 -1
- package/build/src/abap/2_statements/statements/read_line.js +1 -1
- package/build/src/abap/2_statements/statements/read_report.js +1 -1
- package/build/src/abap/2_statements/statements/read_table.js +4 -3
- package/build/src/abap/2_statements/statements/read_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/receive.js +1 -1
- package/build/src/abap/2_statements/statements/refresh.js +1 -1
- package/build/src/abap/2_statements/statements/refresh_control.js +1 -1
- package/build/src/abap/2_statements/statements/reject.js +1 -1
- package/build/src/abap/2_statements/statements/report.js +1 -1
- package/build/src/abap/2_statements/statements/reserve.js +1 -1
- package/build/src/abap/2_statements/statements/retry.js +1 -1
- package/build/src/abap/2_statements/statements/return.js +1 -1
- package/build/src/abap/2_statements/statements/rollback.js +2 -1
- package/build/src/abap/2_statements/statements/rollback_entities.js +1 -1
- package/build/src/abap/2_statements/statements/scan.js +1 -1
- package/build/src/abap/2_statements/statements/scroll_list.js +1 -1
- package/build/src/abap/2_statements/statements/search.js +1 -1
- package/build/src/abap/2_statements/statements/selectionscreen.js +1 -1
- package/build/src/abap/2_statements/statements/selectoption.js +1 -1
- package/build/src/abap/2_statements/statements/set_blank.js +1 -1
- package/build/src/abap/2_statements/statements/set_country.js +1 -1
- package/build/src/abap/2_statements/statements/set_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/set_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/set_extended_check.js +1 -1
- package/build/src/abap/2_statements/statements/set_handler.js +2 -1
- package/build/src/abap/2_statements/statements/set_language.js +1 -1
- package/build/src/abap/2_statements/statements/set_left.js +1 -1
- package/build/src/abap/2_statements/statements/set_locale.js +1 -1
- package/build/src/abap/2_statements/statements/set_locks.js +1 -1
- package/build/src/abap/2_statements/statements/set_margin.js +1 -1
- package/build/src/abap/2_statements/statements/set_parameter.js +1 -1
- package/build/src/abap/2_statements/statements/set_pf_status.js +1 -1
- package/build/src/abap/2_statements/statements/set_property.js +1 -1
- package/build/src/abap/2_statements/statements/set_run_time.js +1 -1
- package/build/src/abap/2_statements/statements/set_screen.js +1 -1
- package/build/src/abap/2_statements/statements/set_titlebar.js +1 -1
- package/build/src/abap/2_statements/statements/set_update_task.js +1 -1
- package/build/src/abap/2_statements/statements/set_user_command.js +1 -1
- package/build/src/abap/2_statements/statements/skip.js +1 -1
- package/build/src/abap/2_statements/statements/sort_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/start_of_selection.js +1 -1
- package/build/src/abap/2_statements/statements/static.js +3 -2
- package/build/src/abap/2_statements/statements/stop.js +1 -1
- package/build/src/abap/2_statements/statements/submit.js +1 -1
- package/build/src/abap/2_statements/statements/subtract.js +2 -1
- package/build/src/abap/2_statements/statements/subtract_corresponding.js +1 -1
- package/build/src/abap/2_statements/statements/sum.js +1 -1
- package/build/src/abap/2_statements/statements/summary.js +1 -1
- package/build/src/abap/2_statements/statements/supply.js +1 -1
- package/build/src/abap/2_statements/statements/suppress_dialog.js +1 -1
- package/build/src/abap/2_statements/statements/syntax_check.js +1 -1
- package/build/src/abap/2_statements/statements/system_call.js +1 -1
- package/build/src/abap/2_statements/statements/tables.js +1 -1
- package/build/src/abap/2_statements/statements/test_injection.js +2 -1
- package/build/src/abap/2_statements/statements/test_seam.js +1 -1
- package/build/src/abap/2_statements/statements/top_of_page.js +1 -1
- package/build/src/abap/2_statements/statements/transfer.js +1 -1
- package/build/src/abap/2_statements/statements/truncate_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/type.js +1 -1
- package/build/src/abap/2_statements/statements/type_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum_end.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh_end.js +1 -1
- package/build/src/abap/2_statements/statements/type_pool.js +1 -1
- package/build/src/abap/2_statements/statements/type_pools.js +1 -1
- package/build/src/abap/2_statements/statements/uline.js +1 -1
- package/build/src/abap/2_statements/statements/unpack.js +1 -1
- package/build/src/abap/2_statements/statements/update_database.js +4 -3
- package/build/src/abap/2_statements/statements/verification_message.js +1 -1
- package/build/src/abap/2_statements/statements/wait.js +4 -3
- package/build/src/abap/2_statements/statements/when_type.js +1 -1
- package/build/src/abap/2_statements/statements/window.js +1 -1
- package/build/src/abap/2_statements/statements/with.js +1 -1
- package/build/src/abap/2_statements/statements/write.js +1 -1
- package/build/src/abap/5_syntax/_builtin.js +50 -50
- package/build/src/abap/5_syntax/_current_scope.js +9 -0
- package/build/src/abap/5_syntax/expressions/field_chain.js +3 -3
- package/build/src/abap/5_syntax/expressions/method_source.js +1 -1
- package/build/src/abap/5_syntax/expressions/select.js +13 -3
- package/build/src/abap/5_syntax/statements/call_function.js +1 -1
- package/build/src/abap/5_syntax/statements/loop.js +1 -1
- package/build/src/abap/5_syntax/statements/move_corresponding.js +3 -3
- package/build/src/abap/abap_parser.js +21 -5
- package/build/src/abap/nodes/expression_node.js +3 -0
- package/build/src/cds/cds_parser.js +8 -8
- package/build/src/cds/expressions/cds_define_projection.js +1 -1
- package/build/src/cds/expressions/cds_define_view.js +1 -1
- package/build/src/config.js +42 -12
- package/build/src/ddl/ddl_parser.js +2 -2
- package/build/src/index.js +6 -2
- package/build/src/objects/_abap_object.js +3 -2
- package/build/src/objects/_abstract_object.js +1 -1
- package/build/src/objects/proxy_object.js +1 -1
- package/build/src/objects/table.js +1 -1
- package/build/src/registry.js +3 -3
- package/build/src/rules/ambiguous_statement.js +1 -1
- package/build/src/rules/avoid_use.js +2 -2
- package/build/src/rules/call_transaction_authority_check.js +3 -3
- package/build/src/rules/cds_legacy_view.js +2 -2
- package/build/src/rules/cloud_types.js +1 -1
- package/build/src/rules/downport.js +11 -11
- package/build/src/rules/function_module_recommendations.js +23 -2
- package/build/src/rules/index.js +1 -0
- package/build/src/rules/inline_data_old_versions.js +3 -3
- package/build/src/rules/local_testclass_consistency.js +1 -1
- package/build/src/rules/main_file_contents.js +1 -1
- package/build/src/rules/no_inline_in_optional_branches.js +4 -4
- package/build/src/rules/obsolete_statement.js +6 -6
- package/build/src/rules/parser_702_chaining.js +2 -2
- package/build/src/rules/parser_error.js +2 -2
- package/build/src/rules/prefer_corresponding.js +1 -1
- package/build/src/rules/prefer_inline.js +2 -1
- package/build/src/rules/prefer_raise_exception_new.js +1 -1
- package/build/src/rules/prefer_xsdbool.js +2 -1
- package/build/src/rules/sql_escape_host_variables.js +3 -3
- package/build/src/rules/strict_sql.js +2 -2
- package/build/src/rules/superfluous_value.js +2 -2
- package/build/src/rules/sy_read_restriction.js +152 -0
- package/build/src/rules/use_bool_expression.js +6 -5
- package/build/src/rules/use_line_exists.js +4 -3
- package/build/src/rules/use_new.js +2 -1
- package/build/src/version.js +148 -3
- package/package.json +1 -1
- package/build/src/abap/2_statements/expressions/association_name.js +0 -11
- package/build/src/abap/2_statements/expressions/sql_path.js +0 -17
|
@@ -1,47 +1,379 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SQLFunction = void 0;
|
|
3
|
+
exports.SQLFunction = exports.sqlSpatialAggregateDefs = exports.sqlSpatialFunctionDefs = exports.sqlNamedFunctionDefs = exports.sqlFunctionDefs = void 0;
|
|
4
4
|
const version_1 = require("../../../version");
|
|
5
5
|
const tokens_1 = require("../../1_lexer/tokens");
|
|
6
6
|
const combi_1 = require("../combi");
|
|
7
7
|
const integer_1 = require("./integer");
|
|
8
8
|
const sql_function_input_1 = require("./sql_function_input");
|
|
9
9
|
const sql_case_1 = require("./sql_case");
|
|
10
|
+
const simple_source3_1 = require("./simple_source3");
|
|
11
|
+
const constant_1 = require("./constant");
|
|
12
|
+
const sql_replace_regexpr_1 = require("./sql_replace_regexpr");
|
|
13
|
+
const sql_occurrences_regexpr_1 = require("./sql_occurrences_regexpr");
|
|
14
|
+
const sql_substring_regexpr_1 = require("./sql_substring_regexpr");
|
|
15
|
+
const sql_locate_regexpr_1 = require("./sql_locate_regexpr");
|
|
16
|
+
const VARIADIC = -1;
|
|
17
|
+
exports.sqlFunctionDefs = [
|
|
18
|
+
["abs", 1, version_1.Release.v740sp05],
|
|
19
|
+
["ceil", 1, version_1.Release.v740sp05],
|
|
20
|
+
["floor", 1, version_1.Release.v740sp05],
|
|
21
|
+
["div", 2, version_1.Release.v740sp05],
|
|
22
|
+
["mod", 2, version_1.Release.v740sp05],
|
|
23
|
+
["coalesce", VARIADIC, version_1.Release.v740sp05],
|
|
24
|
+
["concat", 2, version_1.Release.v750],
|
|
25
|
+
["length", 1, version_1.Release.v750],
|
|
26
|
+
["ltrim", 2, version_1.Release.v750],
|
|
27
|
+
["rtrim", 2, version_1.Release.v750],
|
|
28
|
+
["right", 2, version_1.Release.v750],
|
|
29
|
+
["replace", 3, version_1.Release.v750],
|
|
30
|
+
["round", 2, version_1.Release.v750],
|
|
31
|
+
["substring", 3, version_1.Release.v750],
|
|
32
|
+
["lpad", 3, version_1.Release.v750],
|
|
33
|
+
["instr", 2, version_1.Release.v750],
|
|
34
|
+
["concat_with_space", 3, version_1.Release.v751],
|
|
35
|
+
["rpad", 3, version_1.Release.v751],
|
|
36
|
+
["left", 2, version_1.Release.v751],
|
|
37
|
+
["lower", 1, version_1.Release.v751],
|
|
38
|
+
["upper", 1, version_1.Release.v751],
|
|
39
|
+
["division", 3, version_1.Release.v751],
|
|
40
|
+
["bintohex", 1, version_1.Release.v752],
|
|
41
|
+
["hextobin", 1, version_1.Release.v752],
|
|
42
|
+
["dats_is_valid", 1, version_1.Release.v754],
|
|
43
|
+
["dats_days_between", 2, version_1.Release.v754],
|
|
44
|
+
["dats_add_days", 2, version_1.Release.v754],
|
|
45
|
+
["dats_add_months", 2, version_1.Release.v754],
|
|
46
|
+
["uuid", 0, version_1.Release.v754],
|
|
47
|
+
["utcl_current", 0, version_1.Release.v754],
|
|
48
|
+
["tstmp_current_utctimestamp", 0, version_1.Release.v757],
|
|
49
|
+
["tstmp_is_valid", 1, version_1.Release.v757],
|
|
50
|
+
["tims_is_valid", 1, version_1.Release.v757],
|
|
51
|
+
["utcl_add_seconds", 2, version_1.Release.v757],
|
|
52
|
+
["utcl_seconds_between", 2, version_1.Release.v757],
|
|
53
|
+
["datn_days_between", 2, version_1.Release.v757],
|
|
54
|
+
["datn_add_days", 2, version_1.Release.v757],
|
|
55
|
+
["datn_add_months", 2, version_1.Release.v757],
|
|
56
|
+
["as_geo_json", 1, version_1.Release.v757],
|
|
57
|
+
["allow_precision_loss", 1, version_1.Release.v757],
|
|
58
|
+
["to_clob", 1, version_1.Release.v757],
|
|
59
|
+
["to_blob", 1, version_1.Release.v757],
|
|
60
|
+
["grouping", 1, version_1.Release.v757],
|
|
61
|
+
["extract_year", 1, version_1.Release.v758],
|
|
62
|
+
["extract_month", 1, version_1.Release.v758],
|
|
63
|
+
["extract_day", 1, version_1.Release.v758],
|
|
64
|
+
["extract_hour", 1, version_1.Release.v758],
|
|
65
|
+
["extract_minute", 1, version_1.Release.v758],
|
|
66
|
+
["extract_second", 1, version_1.Release.v758],
|
|
67
|
+
["days_between", 2, version_1.Release.v758],
|
|
68
|
+
["add_days", 2, version_1.Release.v758],
|
|
69
|
+
["add_months", 2, version_1.Release.v758],
|
|
70
|
+
["monthname", 1, version_1.Release.v758],
|
|
71
|
+
["dayname", 1, version_1.Release.v758],
|
|
72
|
+
["initcap", 1, version_1.Release.v758],
|
|
73
|
+
["is_valid", 1, version_1.Release.v758],
|
|
74
|
+
["weekday", 1, version_1.Release.v758],
|
|
75
|
+
["locate", VARIADIC, version_1.Release.v758],
|
|
76
|
+
["greatest", VARIADIC, version_1.Release.v758],
|
|
77
|
+
["least", VARIADIC, version_1.Release.v758],
|
|
78
|
+
["hierarchy_composite_id", VARIADIC, version_1.Release.v758],
|
|
79
|
+
["sin", 1, version_1.Release.v758],
|
|
80
|
+
["cos", 1, version_1.Release.v758],
|
|
81
|
+
["tan", 1, version_1.Release.v758],
|
|
82
|
+
["asin", 1, version_1.Release.v758],
|
|
83
|
+
["acos", 1, version_1.Release.v758],
|
|
84
|
+
["atan", 1, version_1.Release.v758],
|
|
85
|
+
["sinh", 1, version_1.Release.v758],
|
|
86
|
+
["cosh", 1, version_1.Release.v758],
|
|
87
|
+
["tanh", 1, version_1.Release.v758],
|
|
88
|
+
["sqrt", 1, version_1.Release.v758],
|
|
89
|
+
["power", 2, version_1.Release.v758],
|
|
90
|
+
["exp", 1, version_1.Release.v758],
|
|
91
|
+
["ln", 1, version_1.Release.v758],
|
|
92
|
+
["log10", 1, version_1.Release.v758],
|
|
93
|
+
["log", 2, version_1.Release.v758],
|
|
94
|
+
["utctolocal", 2, version_1.Release.v758],
|
|
95
|
+
["localtoutc", 2, version_1.Release.v758],
|
|
96
|
+
["is_masked", 1, version_1.Release.v758],
|
|
97
|
+
];
|
|
98
|
+
exports.sqlNamedFunctionDefs = [
|
|
99
|
+
["abap_user_timezone", version_1.Release.v757, [
|
|
100
|
+
{ name: "user", value: "any", optional: true },
|
|
101
|
+
{ name: "client", value: "any", optional: true },
|
|
102
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
103
|
+
]],
|
|
104
|
+
["abap_system_timezone", version_1.Release.v757, [
|
|
105
|
+
{ name: "client", value: "any", optional: true },
|
|
106
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
107
|
+
]],
|
|
108
|
+
["dats_tims_to_tstmp", version_1.Release.v757, [
|
|
109
|
+
{ name: "date", value: "any" },
|
|
110
|
+
{ name: "time", value: "any" },
|
|
111
|
+
{ name: "tzone", value: "any" },
|
|
112
|
+
{ name: "client", value: "any", optional: true },
|
|
113
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
114
|
+
]],
|
|
115
|
+
["tstmp_add_seconds", version_1.Release.v757, [
|
|
116
|
+
{ name: "tstmp", value: "any" },
|
|
117
|
+
{ name: "seconds", value: "any" },
|
|
118
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
119
|
+
]],
|
|
120
|
+
["tstmp_seconds_between", version_1.Release.v757, [
|
|
121
|
+
{ name: "tstmp1", value: "any" },
|
|
122
|
+
{ name: "tstmp2", value: "any" },
|
|
123
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
124
|
+
]],
|
|
125
|
+
["tstmp_to_dats", version_1.Release.v757, [
|
|
126
|
+
{ name: "tstmp", value: "any" },
|
|
127
|
+
{ name: "tzone", value: "any", optional: true },
|
|
128
|
+
{ name: "client", value: "any", optional: true },
|
|
129
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
130
|
+
]],
|
|
131
|
+
["tstmp_to_tims", version_1.Release.v757, [
|
|
132
|
+
{ name: "tstmp", value: "any" },
|
|
133
|
+
{ name: "tzone", value: "any", optional: true },
|
|
134
|
+
{ name: "client", value: "any", optional: true },
|
|
135
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
136
|
+
]],
|
|
137
|
+
["tstmp_to_dst", version_1.Release.v757, [
|
|
138
|
+
{ name: "tstmp", value: "any" },
|
|
139
|
+
{ name: "tzone", value: "any", optional: true },
|
|
140
|
+
{ name: "client", value: "any", optional: true },
|
|
141
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
142
|
+
]],
|
|
143
|
+
["tstmpl_to_utcl", version_1.Release.v757, [
|
|
144
|
+
{ name: "tstmpl", value: "any" },
|
|
145
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
146
|
+
{ name: "on_initial", value: "abap_only", optional: true },
|
|
147
|
+
]],
|
|
148
|
+
["tstmpl_from_utcl", version_1.Release.v757, [
|
|
149
|
+
{ name: "utcl", value: "any" },
|
|
150
|
+
{ name: "on_null", value: "abap_only", optional: true },
|
|
151
|
+
]],
|
|
152
|
+
["dats_to_datn", version_1.Release.v757, [
|
|
153
|
+
{ name: "dats", value: "any" },
|
|
154
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
155
|
+
{ name: "on_initial", value: "abap_only", optional: true },
|
|
156
|
+
]],
|
|
157
|
+
["dats_from_datn", version_1.Release.v757, [
|
|
158
|
+
{ name: "datn", value: "any" },
|
|
159
|
+
{ name: "on_null", value: "abap_only", optional: true },
|
|
160
|
+
]],
|
|
161
|
+
["tims_to_timn", version_1.Release.v757, [
|
|
162
|
+
{ name: "tims", value: "any" },
|
|
163
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
164
|
+
]],
|
|
165
|
+
["tims_from_timn", version_1.Release.v757, [
|
|
166
|
+
{ name: "timn", value: "any" },
|
|
167
|
+
{ name: "on_null", value: "abap_only", optional: true },
|
|
168
|
+
]],
|
|
169
|
+
["currency_conversion", version_1.Release.v757, [
|
|
170
|
+
{ name: "amount", value: "any" },
|
|
171
|
+
{ name: "source_currency", value: "any" },
|
|
172
|
+
{ name: "target_currency", value: "any" },
|
|
173
|
+
{ name: "exchange_rate_date", value: "any" },
|
|
174
|
+
{ name: "exchange_rate_type", value: "any", optional: true },
|
|
175
|
+
{ name: "client", value: "any", optional: true },
|
|
176
|
+
{ name: "round", value: "abap_only", optional: true },
|
|
177
|
+
{ name: "decimal_shift", value: "abap_only", optional: true },
|
|
178
|
+
{ name: "decimal_shift_back", value: "abap_only", optional: true },
|
|
179
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
180
|
+
]],
|
|
181
|
+
["unit_conversion", version_1.Release.v758, [
|
|
182
|
+
{ name: "quantity", value: "any" },
|
|
183
|
+
{ name: "source_unit", value: "any" },
|
|
184
|
+
{ name: "target_unit", value: "any" },
|
|
185
|
+
{ name: "client", value: "any", optional: true },
|
|
186
|
+
{ name: "on_error", value: "abap_only", optional: true },
|
|
187
|
+
]],
|
|
188
|
+
["curr_to_decfloat_amount", version_1.Release.v758, [
|
|
189
|
+
{ name: "curr", value: "any" },
|
|
190
|
+
{ name: "cuky", value: "any" },
|
|
191
|
+
]],
|
|
192
|
+
["lang_to_char", version_1.Release.v758, [
|
|
193
|
+
{ name: "lang", value: "any" },
|
|
194
|
+
]],
|
|
195
|
+
["ipow", version_1.Release.v758, [
|
|
196
|
+
{ name: "base", value: "any" },
|
|
197
|
+
{ name: "exp", value: "any" },
|
|
198
|
+
]],
|
|
199
|
+
];
|
|
200
|
+
exports.sqlSpatialFunctionDefs = [
|
|
201
|
+
["st_new_point", VARIADIC, version_1.Release.v915],
|
|
202
|
+
["st_new_pointz", VARIADIC, version_1.Release.v915],
|
|
203
|
+
["st_new_pointm", VARIADIC, version_1.Release.v915],
|
|
204
|
+
["st_new_pointzm", VARIADIC, version_1.Release.v915],
|
|
205
|
+
["st_new_linestring", VARIADIC, version_1.Release.v915],
|
|
206
|
+
["st_new_multilinestring", VARIADIC, version_1.Release.v915],
|
|
207
|
+
["st_new_polygon", VARIADIC, version_1.Release.v915],
|
|
208
|
+
["st_new_multipolygon", VARIADIC, version_1.Release.v915],
|
|
209
|
+
["st_new_multipoint", VARIADIC, version_1.Release.v915],
|
|
210
|
+
["st_new_circularstring", VARIADIC, version_1.Release.v915],
|
|
211
|
+
["st_new_geometrycollection", VARIADIC, version_1.Release.v915],
|
|
212
|
+
["st_srid", VARIADIC, version_1.Release.v915],
|
|
213
|
+
["st_relate", VARIADIC, version_1.Release.v915],
|
|
214
|
+
["st_geomfromtext", VARIADIC, version_1.Release.v915],
|
|
215
|
+
["st_geomfromwkt", VARIADIC, version_1.Release.v915],
|
|
216
|
+
["st_geomfromewkt", VARIADIC, version_1.Release.v915],
|
|
217
|
+
["st_geomfromwkb", VARIADIC, version_1.Release.v915],
|
|
218
|
+
["st_geomfromewkb", VARIADIC, version_1.Release.v915],
|
|
219
|
+
["st_geomfromgeojson", VARIADIC, version_1.Release.v915],
|
|
220
|
+
["st_geomfromesrijson", VARIADIC, version_1.Release.v915],
|
|
221
|
+
["st_geomfromgeohash", VARIADIC, version_1.Release.v915],
|
|
222
|
+
["st_pointfromtext", VARIADIC, version_1.Release.v915],
|
|
223
|
+
["st_pointfromgeohash", VARIADIC, version_1.Release.v915],
|
|
224
|
+
["st_makeline", VARIADIC, version_1.Release.v915],
|
|
225
|
+
["st_makepolygon", VARIADIC, version_1.Release.v915],
|
|
226
|
+
["st_x", VARIADIC, version_1.Release.v915],
|
|
227
|
+
["st_y", VARIADIC, version_1.Release.v915],
|
|
228
|
+
["st_z", VARIADIC, version_1.Release.v915],
|
|
229
|
+
["st_m", VARIADIC, version_1.Release.v915],
|
|
230
|
+
["st_xmax", VARIADIC, version_1.Release.v915],
|
|
231
|
+
["st_xmin", VARIADIC, version_1.Release.v915],
|
|
232
|
+
["st_ymax", VARIADIC, version_1.Release.v915],
|
|
233
|
+
["st_ymin", VARIADIC, version_1.Release.v915],
|
|
234
|
+
["st_zmax", VARIADIC, version_1.Release.v915],
|
|
235
|
+
["st_zmin", VARIADIC, version_1.Release.v915],
|
|
236
|
+
["st_mmax", VARIADIC, version_1.Release.v915],
|
|
237
|
+
["st_mmin", VARIADIC, version_1.Release.v915],
|
|
238
|
+
["st_area", VARIADIC, version_1.Release.v915],
|
|
239
|
+
["st_length", VARIADIC, version_1.Release.v915],
|
|
240
|
+
["st_perimeter", VARIADIC, version_1.Release.v915],
|
|
241
|
+
["st_dimension", VARIADIC, version_1.Release.v915],
|
|
242
|
+
["st_coorddim", VARIADIC, version_1.Release.v915],
|
|
243
|
+
["st_geometrytype", VARIADIC, version_1.Release.v915],
|
|
244
|
+
["st_isempty", VARIADIC, version_1.Release.v915],
|
|
245
|
+
["st_issimple", VARIADIC, version_1.Release.v915],
|
|
246
|
+
["st_isclosed", VARIADIC, version_1.Release.v915],
|
|
247
|
+
["st_isring", VARIADIC, version_1.Release.v915],
|
|
248
|
+
["st_isvalid", VARIADIC, version_1.Release.v915],
|
|
249
|
+
["st_isvalidtrajectory", VARIADIC, version_1.Release.v915],
|
|
250
|
+
["st_is3d", VARIADIC, version_1.Release.v915],
|
|
251
|
+
["st_ismeasured", VARIADIC, version_1.Release.v915],
|
|
252
|
+
["st_invalidreason", VARIADIC, version_1.Release.v915],
|
|
253
|
+
["st_numpoints", VARIADIC, version_1.Release.v915],
|
|
254
|
+
["st_numgeometries", VARIADIC, version_1.Release.v915],
|
|
255
|
+
["st_numinteriorring", VARIADIC, version_1.Release.v915],
|
|
256
|
+
["st_numinteriorrings", VARIADIC, version_1.Release.v915],
|
|
257
|
+
["st_envelope", VARIADIC, version_1.Release.v915],
|
|
258
|
+
["st_boundary", VARIADIC, version_1.Release.v915],
|
|
259
|
+
["st_exteriorring", VARIADIC, version_1.Release.v915],
|
|
260
|
+
["st_startpoint", VARIADIC, version_1.Release.v915],
|
|
261
|
+
["st_endpoint", VARIADIC, version_1.Release.v915],
|
|
262
|
+
["st_centroid", VARIADIC, version_1.Release.v915],
|
|
263
|
+
["st_pointonsurface", VARIADIC, version_1.Release.v915],
|
|
264
|
+
["st_convexhull", VARIADIC, version_1.Release.v915],
|
|
265
|
+
["st_concavehull", VARIADIC, version_1.Release.v915],
|
|
266
|
+
["st_reverse", VARIADIC, version_1.Release.v915],
|
|
267
|
+
["st_force2d", VARIADIC, version_1.Release.v915],
|
|
268
|
+
["st_force3dz", VARIADIC, version_1.Release.v915],
|
|
269
|
+
["st_force3dm", VARIADIC, version_1.Release.v915],
|
|
270
|
+
["st_force4d", VARIADIC, version_1.Release.v915],
|
|
271
|
+
["st_makevalid", VARIADIC, version_1.Release.v915],
|
|
272
|
+
["st_geohash", VARIADIC, version_1.Release.v915],
|
|
273
|
+
["st_aswkt", VARIADIC, version_1.Release.v915],
|
|
274
|
+
["st_aswkb", VARIADIC, version_1.Release.v915],
|
|
275
|
+
["st_asewkt", VARIADIC, version_1.Release.v915],
|
|
276
|
+
["st_asewkb", VARIADIC, version_1.Release.v915],
|
|
277
|
+
["st_asbinary", VARIADIC, version_1.Release.v915],
|
|
278
|
+
["st_astext", VARIADIC, version_1.Release.v915],
|
|
279
|
+
["st_asgeojson", VARIADIC, version_1.Release.v915],
|
|
280
|
+
["st_asesrijson", VARIADIC, version_1.Release.v915],
|
|
281
|
+
["st_assvg", VARIADIC, version_1.Release.v915],
|
|
282
|
+
["st_distance", VARIADIC, version_1.Release.v915],
|
|
283
|
+
["st_withindistance", VARIADIC, version_1.Release.v915],
|
|
284
|
+
["st_contains", VARIADIC, version_1.Release.v915],
|
|
285
|
+
["st_covers", VARIADIC, version_1.Release.v915],
|
|
286
|
+
["st_coveredby", VARIADIC, version_1.Release.v915],
|
|
287
|
+
["st_crosses", VARIADIC, version_1.Release.v915],
|
|
288
|
+
["st_disjoint", VARIADIC, version_1.Release.v915],
|
|
289
|
+
["st_equals", VARIADIC, version_1.Release.v915],
|
|
290
|
+
["st_orderingequals", VARIADIC, version_1.Release.v915],
|
|
291
|
+
["st_intersects", VARIADIC, version_1.Release.v915],
|
|
292
|
+
["st_intersectsfilter", VARIADIC, version_1.Release.v915],
|
|
293
|
+
["st_intersectsrect", VARIADIC, version_1.Release.v915],
|
|
294
|
+
["st_intersectsrectplanar", VARIADIC, version_1.Release.v915],
|
|
295
|
+
["st_overlaps", VARIADIC, version_1.Release.v915],
|
|
296
|
+
["st_touches", VARIADIC, version_1.Release.v915],
|
|
297
|
+
["st_within", VARIADIC, version_1.Release.v915],
|
|
298
|
+
["st_intersection", VARIADIC, version_1.Release.v915],
|
|
299
|
+
["st_union", VARIADIC, version_1.Release.v915],
|
|
300
|
+
["st_difference", VARIADIC, version_1.Release.v915],
|
|
301
|
+
["st_symdifference", VARIADIC, version_1.Release.v915],
|
|
302
|
+
["st_collect", VARIADIC, version_1.Release.v915],
|
|
303
|
+
["st_buffer", VARIADIC, version_1.Release.v915],
|
|
304
|
+
["st_transform", VARIADIC, version_1.Release.v915],
|
|
305
|
+
["st_rotate", VARIADIC, version_1.Release.v915],
|
|
306
|
+
["st_scale", VARIADIC, version_1.Release.v915],
|
|
307
|
+
["st_translate", VARIADIC, version_1.Release.v915],
|
|
308
|
+
["st_translate3d", VARIADIC, version_1.Release.v915],
|
|
309
|
+
["st_simplify", VARIADIC, version_1.Release.v915],
|
|
310
|
+
["st_snaptogrid", VARIADIC, version_1.Release.v915],
|
|
311
|
+
["st_addmeasure", VARIADIC, version_1.Release.v915],
|
|
312
|
+
["st_addpoint", VARIADIC, version_1.Release.v915],
|
|
313
|
+
["st_removepoint", VARIADIC, version_1.Release.v915],
|
|
314
|
+
["st_pointn", VARIADIC, version_1.Release.v915],
|
|
315
|
+
["st_geometryn", VARIADIC, version_1.Release.v915],
|
|
316
|
+
["st_interiorringn", VARIADIC, version_1.Release.v915],
|
|
317
|
+
["st_lineinterpolatepoint", VARIADIC, version_1.Release.v915],
|
|
318
|
+
["st_linelocatepoint", VARIADIC, version_1.Release.v915],
|
|
319
|
+
["st_linesubstring", VARIADIC, version_1.Release.v915],
|
|
320
|
+
["st_locatealong", VARIADIC, version_1.Release.v915],
|
|
321
|
+
["st_locatebetween", VARIADIC, version_1.Release.v915],
|
|
322
|
+
["st_alphashape", VARIADIC, version_1.Release.v915],
|
|
323
|
+
["st_alphashapearea", VARIADIC, version_1.Release.v915],
|
|
324
|
+
["st_alphashapeedge", VARIADIC, version_1.Release.v915],
|
|
325
|
+
["st_closestpointofapproach", VARIADIC, version_1.Release.v915],
|
|
326
|
+
["st_frechetdistance", VARIADIC, version_1.Release.v915],
|
|
327
|
+
["st_hausdorffdistance", VARIADIC, version_1.Release.v915],
|
|
328
|
+
["st_3dlength", VARIADIC, version_1.Release.v915],
|
|
329
|
+
["st_asmvtgeom", VARIADIC, version_1.Release.v915],
|
|
330
|
+
];
|
|
331
|
+
exports.sqlSpatialAggregateDefs = [
|
|
332
|
+
["st_assvgaggr", VARIADIC, version_1.Release.v915],
|
|
333
|
+
["st_collectaggr", VARIADIC, version_1.Release.v915],
|
|
334
|
+
["st_concavehullaggr", VARIADIC, version_1.Release.v915],
|
|
335
|
+
["st_convexhullaggr", VARIADIC, version_1.Release.v915],
|
|
336
|
+
["st_envelopeaggr", VARIADIC, version_1.Release.v915],
|
|
337
|
+
["st_intersectionaggr", VARIADIC, version_1.Release.v915],
|
|
338
|
+
["st_unionaggr", VARIADIC, version_1.Release.v915],
|
|
339
|
+
["st_alphashapeaggr", VARIADIC, version_1.Release.v915],
|
|
340
|
+
["st_alphashapeareaaggr", VARIADIC, version_1.Release.v915],
|
|
341
|
+
["st_alphashapeedgeaggr", VARIADIC, version_1.Release.v915],
|
|
342
|
+
];
|
|
10
343
|
class SQLFunction extends combi_1.Expression {
|
|
11
344
|
getRunnable() {
|
|
12
345
|
const castTypes = (0, combi_1.altPrio)((0, combi_1.seq)("CHAR", (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), integer_1.Integer, (0, combi_1.tok)(tokens_1.WParenRightW)))), (0, combi_1.seq)("DEC", (0, combi_1.tok)(tokens_1.ParenLeftW), integer_1.Integer, ",", integer_1.Integer, (0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.seq)("NUMC", (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), integer_1.Integer, (0, combi_1.tok)(tokens_1.WParenRightW)))), "DATS", "FLTP", "INT1", "INT2", "INT4", "INT8");
|
|
13
346
|
const commaParam = (0, combi_1.seq)(",", sql_function_input_1.SQLFunctionInput);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
347
|
+
const fn = (name, params, v) => {
|
|
348
|
+
const nameReg = (0, combi_1.regex)(new RegExp("^" + name + "$", "i"));
|
|
349
|
+
if (params === 0) {
|
|
350
|
+
return (0, combi_1.ver)(v, (0, combi_1.seq)(nameReg, (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
351
|
+
}
|
|
352
|
+
else if (params === VARIADIC) {
|
|
353
|
+
return (0, combi_1.ver)(v, (0, combi_1.seq)(nameReg, (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.starPrio)(commaParam), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
const extra = [];
|
|
357
|
+
for (let i = 1; i < params; i++) {
|
|
358
|
+
extra.push(commaParam);
|
|
359
|
+
}
|
|
360
|
+
return (0, combi_1.ver)(v, (0, combi_1.seq)(nameReg, (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, ...extra, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
361
|
+
}
|
|
362
|
+
};
|
|
17
363
|
const castInput = (0, combi_1.altPrio)(sql_case_1.SQLCase, sql_function_input_1.SQLFunctionInput);
|
|
18
|
-
const cast = (0, combi_1.ver)(version_1.
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const concat_with_space = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^concat_with_space$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
32
|
-
// dunno if the version for substring is correct
|
|
33
|
-
const substring = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^substring$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
34
|
-
// dunno if the version for substring is correct
|
|
35
|
-
const dats_is_valid = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_is_valid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
36
|
-
const dats_days_between = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_days_between$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
37
|
-
const dats_add_days = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_add_days$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
38
|
-
const dats_add_months = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^dats_add_months$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
39
|
-
const ltrim = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^ltrim$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
40
|
-
const rtrim = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^rtrim$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
41
|
-
const right = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^right$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
42
|
-
const left = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^left$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
43
|
-
const division = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^division$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
44
|
-
return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round, concat_with_space, ltrim, rtrim, right, left, substring, dats_is_valid, dats_days_between, dats_add_days, dats_add_months, division);
|
|
364
|
+
const cast = (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)((0, combi_1.regex)(/^cast$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), castInput, "AS", castTypes, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
365
|
+
const hostParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
366
|
+
const hostVar = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, hostParen));
|
|
367
|
+
const abapOnly = (0, combi_1.altPrio)(constant_1.Constant, hostVar);
|
|
368
|
+
const namedFn = (name, v, params) => {
|
|
369
|
+
const nameReg = (0, combi_1.regex)(new RegExp("^" + name + "$", "i"));
|
|
370
|
+
const valueFor = (p) => p.value === "abap_only" ? abapOnly : sql_function_input_1.SQLFunctionInput;
|
|
371
|
+
const kvs = params.map(p => (0, combi_1.seq)((0, combi_1.regex)(new RegExp("^" + p.name + "$", "i")), "=", valueFor(p)));
|
|
372
|
+
const anyKv = kvs.length === 1 ? kvs[0] : (0, combi_1.altPrio)(kvs[0], kvs[1], ...kvs.slice(2));
|
|
373
|
+
const body = (0, combi_1.optPrio)((0, combi_1.seq)(anyKv, (0, combi_1.starPrio)((0, combi_1.seq)(",", anyKv))));
|
|
374
|
+
return (0, combi_1.ver)(v, (0, combi_1.seq)(nameReg, (0, combi_1.tok)(tokens_1.ParenLeftW), body, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
375
|
+
};
|
|
376
|
+
return (0, combi_1.altPrio)(cast, sql_replace_regexpr_1.SQLReplaceRegexpr, sql_occurrences_regexpr_1.SQLOccurrencesRegexpr, sql_substring_regexpr_1.SQLSubstringRegexpr, sql_locate_regexpr_1.SQLLocateRegexpr, ...exports.sqlFunctionDefs.map(([name, params, v]) => fn(name, params, v)), ...exports.sqlNamedFunctionDefs.map(([name, v, params]) => namedFn(name, v, params)), ...exports.sqlSpatialFunctionDefs.map(([name, params, v]) => fn(name, params, v)), ...exports.sqlSpatialAggregateDefs.map(([name, params, v]) => fn(name, params, v)));
|
|
45
377
|
}
|
|
46
378
|
}
|
|
47
379
|
exports.SQLFunction = SQLFunction;
|
|
@@ -15,7 +15,7 @@ const sql_case_1 = require("./sql_case");
|
|
|
15
15
|
class SQLFunctionInput extends combi_1.Expression {
|
|
16
16
|
getRunnable() {
|
|
17
17
|
const hostParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), source_1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
18
|
-
const at = (0, combi_1.ver)(version_1.
|
|
18
|
+
const at = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, hostParen)));
|
|
19
19
|
const parenInput = (0, combi_1.seq)("(", SQLFunctionInput, ")");
|
|
20
20
|
const param = (0, combi_1.altPrio)(parenInput, sql_case_1.SQLCase, sql_function_1.SQLFunction, sql_aggregation_1.SQLAggregation, sql_field_name_1.SQLFieldName, sql_alias_field_1.SQLAliasField, constant_1.Constant, at);
|
|
21
21
|
const operator = (0, combi_1.altPrio)("+", "-", "*", "/", "&&");
|
|
@@ -9,8 +9,8 @@ const sql_field_1 = require("./sql_field");
|
|
|
9
9
|
class SQLGroupBy extends combi_1.Expression {
|
|
10
10
|
getRunnable() {
|
|
11
11
|
const fieldName = (0, combi_1.alt)(sql_field_name_1.SQLFieldName, dynamic_1.Dynamic);
|
|
12
|
-
const expr = (0, combi_1.ver)(version_1.
|
|
13
|
-
const newGroup = (0, combi_1.ver)(version_1.
|
|
12
|
+
const expr = (0, combi_1.ver)(version_1.Release.v740sp02, sql_field_1.SQLField, { also: combi_1.AlsoIn.OpenABAP });
|
|
13
|
+
const newGroup = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("GROUP BY", expr, (0, combi_1.altPrio)((0, combi_1.plus)((0, combi_1.seq)(",", expr)), (0, combi_1.optPrio)((0, combi_1.plus)(fieldName)))), { also: combi_1.AlsoIn.OpenABAP });
|
|
14
14
|
const old = (0, combi_1.seq)((0, combi_1.plus)((0, combi_1.seq)(fieldName, ",")), fieldName);
|
|
15
15
|
const oldGroup = (0, combi_1.seq)("GROUP BY", (0, combi_1.altPrio)(old, (0, combi_1.plus)(fieldName)));
|
|
16
16
|
return (0, combi_1.altPrio)(newGroup, oldGroup);
|
|
@@ -12,7 +12,7 @@ class SQLHierarchyAccessor extends combi_1.Expression {
|
|
|
12
12
|
const distance = (0, combi_1.seq)("DISTANCE", (0, combi_1.altPrio)(distanceFrom, distanceTo));
|
|
13
13
|
const accessor = (0, combi_1.seq)("SOURCE", _1.DatabaseTable, "START", "WHERE", _1.SQLCond, (0, combi_1.optPrio)(distance));
|
|
14
14
|
const name = (0, combi_1.altPrio)("HIERARCHY_DESCENDANTS", "HIERARCHY_ANCESTORS", "HIERARCHY_SIBLINGS");
|
|
15
|
-
return (0, combi_1.ver)(version_1.
|
|
15
|
+
return (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)(name, (0, combi_1.tok)(tokens_1.ParenLeftW), accessor, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
exports.SQLHierarchyAccessor = SQLHierarchyAccessor;
|
|
@@ -15,7 +15,7 @@ class SQLHierarchyAggregate extends combi_1.Expression {
|
|
|
15
15
|
const withEntry = (0, combi_1.altPrio)("SUBTOTAL", "BALANCE", (0, combi_1.seq)("NOT", "MATCHED"), "TOTAL");
|
|
16
16
|
const aggregate = (0, combi_1.seq)("SOURCE", _1.DatabaseTable, (0, combi_1.optPrio)(startWhere), (0, combi_1.optPrio)(join), measures, (0, combi_1.optPrio)(where), (0, combi_1.optPrio)((0, combi_1.seq)("WITH", withEntry, (0, combi_1.star)((0, combi_1.seq)("WITH", withEntry)))));
|
|
17
17
|
const name = (0, combi_1.altPrio)("HIERARCHY_DESCENDANTS_AGGREGATE", "HIERARCHY_ANCESTORS_AGGREGATE");
|
|
18
|
-
return (0, combi_1.ver)(version_1.
|
|
18
|
+
return (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)(name, (0, combi_1.tok)(tokens_1.ParenLeftW), aggregate, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
exports.SQLHierarchyAggregate = SQLHierarchyAggregate;
|
|
@@ -28,7 +28,7 @@ class SQLHierarchySource extends combi_1.Expression {
|
|
|
28
28
|
const levels = (0, combi_1.seq)("LEVELS", (0, combi_1.tok)(tokens_1.WParenLeftW), levelColumn, (0, combi_1.star)((0, combi_1.seq)(",", levelColumn)), (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
29
29
|
const leveledGenerator = (0, combi_1.seq)(levels, (0, combi_1.optPrio)(siblingsOrderBy), (0, combi_1.optPrio)(cache), (0, combi_1.optPrio)(retainNulls));
|
|
30
30
|
const generator = (0, combi_1.seq)(association, (0, combi_1.optPrio)((0, combi_1.seq)(period, valid)), startWhere, (0, combi_1.optPrio)(siblingsOrderBy), (0, combi_1.optPrio)(depth), (0, combi_1.optPrio)(multipleParents), (0, combi_1.optPrio)(orphan), (0, combi_1.optPrio)(cache), (0, combi_1.optPrio)(cycle), (0, combi_1.optPrio)(load), (0, combi_1.optPrio)(generateSpantree));
|
|
31
|
-
return (0, combi_1.ver)(version_1.
|
|
31
|
+
return (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)("HIERARCHY", (0, combi_1.tok)(tokens_1.ParenLeftW), "SOURCE", sourceTable, (0, combi_1.altPrio)(leveledGenerator, generator), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
exports.SQLHierarchySource = SQLHierarchySource;
|
|
@@ -11,10 +11,10 @@ class SQLIn extends combi_1.Expression {
|
|
|
11
11
|
getRunnable() {
|
|
12
12
|
const val = new _1.SQLSource();
|
|
13
13
|
const short = new _1.SQLSourceNoSpace();
|
|
14
|
-
const listOld = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeft), (0, combi_1.alt)((0, combi_1.ver)(version_1.
|
|
14
|
+
const listOld = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeft), (0, combi_1.alt)((0, combi_1.ver)(version_1.Release.v740sp05, short, { also: combi_1.AlsoIn.OpenABAP }), val), (0, combi_1.starPrio)((0, combi_1.seq)(",", val)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRight), (0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
15
15
|
const listNew = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), val, (0, combi_1.starPrio)((0, combi_1.seq)(",", (0, combi_1.altPrio)(short, val))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRight), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
16
16
|
// version is a guess, https://github.com/abaplint/abaplint/issues/2530
|
|
17
|
-
const listNeww = (0, combi_1.ver)(version_1.
|
|
17
|
+
const listNeww = (0, combi_1.ver)(version_1.Release.v740sp02, listNew, { also: combi_1.AlsoIn.OpenABAP });
|
|
18
18
|
const subSelect = sql_set_op_group_1.SQLSetOpGroup;
|
|
19
19
|
// simple subquery for pre-v750 versions: IN ( SELECT ... ), https://github.com/abaplint/abaplint/issues/3999
|
|
20
20
|
const simpleSubSelect = (0, combi_1.seq)("(", "SELECT", (0, _select_core_1.buildSelectCore)(undefined, false), ")");
|
|
@@ -8,7 +8,7 @@ const wparen_left_1 = require("../../1_lexer/tokens/wparen_left");
|
|
|
8
8
|
const version_1 = require("../../../version");
|
|
9
9
|
class SQLIntoList extends combi_1.Expression {
|
|
10
10
|
getRunnable() {
|
|
11
|
-
const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(wparen_left_1.WParenLeft), (0, combi_1.ver)(version_1.
|
|
11
|
+
const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(wparen_left_1.WParenLeft), (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.tok)(wparen_leftw_1.WParenLeftW), { also: combi_1.AlsoIn.OpenABAP })), (0, combi_1.starPrio)((0, combi_1.seq)(_1.SQLTarget, ",")), _1.SQLTarget, ")");
|
|
12
12
|
return (0, combi_1.seq)("INTO", intoList);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -9,7 +9,7 @@ class SQLJoin extends combi_1.Expression {
|
|
|
9
9
|
getRunnable() {
|
|
10
10
|
const joinType = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("INNER", "LEFT OUTER", "LEFT", "RIGHT OUTER", "RIGHT")), "JOIN");
|
|
11
11
|
const join = (0, combi_1.seq)(joinType, new sql_join_source_1.SQLJoinSource(), "ON", _1.SQLCond);
|
|
12
|
-
const crossJoin = (0, combi_1.ver)(version_1.
|
|
12
|
+
const crossJoin = (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)("CROSS JOIN", new sql_join_source_1.SQLJoinSource()), { also: combi_1.AlsoIn.OpenABAP });
|
|
13
13
|
return (0, combi_1.altPrio)(crossJoin, join);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLLikeRegexpr = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const version_1 = require("../../../version");
|
|
6
|
+
const tokens_1 = require("../../1_lexer/tokens");
|
|
7
|
+
const simple_source3_1 = require("./simple_source3");
|
|
8
|
+
const source_1 = require("./source");
|
|
9
|
+
const sql_function_input_1 = require("./sql_function_input");
|
|
10
|
+
class SQLLikeRegexpr extends combi_1.Expression {
|
|
11
|
+
getRunnable() {
|
|
12
|
+
const hostParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), source_1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
13
|
+
const hostVar = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, hostParen));
|
|
14
|
+
const flag = (0, combi_1.seq)("FLAG", (0, combi_1.altPrio)(hostVar, sql_function_input_1.SQLFunctionInput));
|
|
15
|
+
return (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("LIKE_REGEXPR", sql_function_input_1.SQLFunctionInput, (0, combi_1.optPrio)(flag)));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.SQLLikeRegexpr = SQLLikeRegexpr;
|
|
19
|
+
//# sourceMappingURL=sql_like_regexpr.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLLocateRegexpr = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const version_1 = require("../../../version");
|
|
6
|
+
const tokens_1 = require("../../1_lexer/tokens");
|
|
7
|
+
const sql_regexpr_pattern_1 = require("./sql_regexpr_pattern");
|
|
8
|
+
const sql_regexpr_from_1 = require("./sql_regexpr_from");
|
|
9
|
+
const sql_regexpr_occurrence_1 = require("./sql_regexpr_occurrence");
|
|
10
|
+
const sql_regexpr_group_1 = require("./sql_regexpr_group");
|
|
11
|
+
class SQLLocateRegexpr extends combi_1.Expression {
|
|
12
|
+
getRunnable() {
|
|
13
|
+
const startOrAfter = (0, combi_1.optPrio)((0, combi_1.altPrio)("START", "AFTER"));
|
|
14
|
+
return (0, combi_1.ver)(version_1.Release.v758, (0, combi_1.seq)("LOCATE_REGEXPR", (0, combi_1.tok)(tokens_1.ParenLeftW), startOrAfter, sql_regexpr_pattern_1.SQLRegexprPattern, (0, combi_1.optPrio)(sql_regexpr_from_1.SQLRegexprFrom), (0, combi_1.optPrio)(sql_regexpr_occurrence_1.SQLRegexprOccurrence), (0, combi_1.optPrio)(sql_regexpr_group_1.SQLRegexprGroup), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.SQLLocateRegexpr = SQLLocateRegexpr;
|
|
18
|
+
//# sourceMappingURL=sql_locate_regexpr.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLOccurrencesRegexpr = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const version_1 = require("../../../version");
|
|
6
|
+
const tokens_1 = require("../../1_lexer/tokens");
|
|
7
|
+
const sql_regexpr_pattern_1 = require("./sql_regexpr_pattern");
|
|
8
|
+
const sql_regexpr_from_1 = require("./sql_regexpr_from");
|
|
9
|
+
class SQLOccurrencesRegexpr extends combi_1.Expression {
|
|
10
|
+
getRunnable() {
|
|
11
|
+
return (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("OCCURRENCES_REGEXPR", (0, combi_1.tok)(tokens_1.ParenLeftW), sql_regexpr_pattern_1.SQLRegexprPattern, (0, combi_1.optPrio)(sql_regexpr_from_1.SQLRegexprFrom), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.SQLOccurrencesRegexpr = SQLOccurrencesRegexpr;
|
|
15
|
+
//# sourceMappingURL=sql_occurrences_regexpr.js.map
|
|
@@ -8,10 +8,10 @@ const _1 = require(".");
|
|
|
8
8
|
class SQLOptions extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
10
|
const usingClients = (0, combi_1.alt)((0, combi_1.seq)("CLIENTS IN", (0, combi_1.alt)(sql_source_simple_1.SQLSourceSimple, "T000")), "ALL CLIENTS", (0, combi_1.seq)("CLIENT", sql_source_simple_1.SQLSourceSimple));
|
|
11
|
-
const privilegedAccess = (0, combi_1.ver)(version_1.
|
|
11
|
+
const privilegedAccess = (0, combi_1.ver)(version_1.Release.v758, _1.SQLPrivilegedAccess);
|
|
12
12
|
const general = (0, combi_1.per)(privilegedAccess, _1.SQLBypassingBuffer, _1.DatabaseConnection);
|
|
13
13
|
const usingClause = (0, combi_1.seq)("USING", usingClients, (0, combi_1.optPrio)(general));
|
|
14
|
-
return (0, combi_1.ver)(version_1.
|
|
14
|
+
return (0, combi_1.ver)(version_1.Release.v758, (0, combi_1.seq)("OPTIONS", (0, combi_1.alt)(usingClause, general)));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.SQLOptions = SQLOptions;
|
|
@@ -17,8 +17,8 @@ class SQLOver extends combi_1.Expression {
|
|
|
17
17
|
const currentRow = (0, combi_1.seq)("CURRENT", "ROW");
|
|
18
18
|
const numBound = (0, combi_1.seq)(sql_source_1.SQLSource, (0, combi_1.altPrio)("PRECEDING", "FOLLOWING"));
|
|
19
19
|
const bound = (0, combi_1.altPrio)(unboundedPreceding, unboundedFollowing, currentRow, numBound);
|
|
20
|
-
const windowFrameSpec = (0, combi_1.ver)(version_1.
|
|
21
|
-
return (0, combi_1.ver)(version_1.
|
|
20
|
+
const windowFrameSpec = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("ROWS", "BETWEEN", bound, "AND", bound));
|
|
21
|
+
return (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("OVER", lparen, (0, combi_1.optPrio)(partitionBy), (0, combi_1.optPrio)(sql_order_by_1.SQLOrderBy), (0, combi_1.optPrio)(windowFrameSpec), rparen));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.SQLOver = SQLOver;
|
|
@@ -11,7 +11,7 @@ class SQLPathForColumn extends combi_1.Expression {
|
|
|
11
11
|
const tablePrefix = (0, combi_1.regex)(/^(\/\w+\/)?\w+~$/);
|
|
12
12
|
const withPrefix = (0, combi_1.seq)(tablePrefix, (0, combi_1.plus)(new sql_path_segment_1.SQLPathSegment(true)), (0, combi_1.tok)(tokens_1.Dash), field_1.Field);
|
|
13
13
|
const standalone = (0, combi_1.seq)((0, combi_1.plus)(new sql_path_segment_1.SQLPathSegment()), (0, combi_1.tok)(tokens_1.Dash), field_1.Field);
|
|
14
|
-
return (0, combi_1.ver)(version_1.
|
|
14
|
+
return (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.altPrio)(withPrefix, standalone));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.SQLPathForColumn = SQLPathForColumn;
|
|
@@ -7,7 +7,7 @@ const database_table_1 = require("./database_table");
|
|
|
7
7
|
const version_1 = require("../../../version");
|
|
8
8
|
class SQLPathForEntity extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
|
-
return (0, combi_1.ver)(version_1.
|
|
10
|
+
return (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.optPrio)(database_table_1.DatabaseTable), (0, combi_1.plus)(new sql_path_segment_1.SQLPathSegment())));
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.SQLPathForEntity = SQLPathForEntity;
|