[MDEV-10142] PL/SQL parser Created: 2016-05-27  Updated: 2018-08-31  Resolved: 2017-10-06

Status: Closed
Project: MariaDB Server
Component/s: Parser, Stored routines
Fix Version/s: 10.3.2

Type: Task Priority: Critical
Reporter: Michael Widenius Assignee: Alexander Barkov
Resolution: Fixed Votes: 3
Labels: 10.3-beta, Compatibility

Issue Links:
Blocks
is blocked by MDEV-12347 Valgrind reports invalid read errors ... Closed
is blocked by MDEV-12411 Remove Lex::text_string_is_7bit Closed
is blocked by MDEV-12441 Variables declared after cursors with... Closed
is blocked by MDEV-12846 sql_mode=ORACLE: using Oracle-style p... Closed
PartOf
is part of MDEV-10137 Providing compatibility to other data... Open
Relates
relates to MDEV-10764 PL/SQL parser - Phase 2 Open
relates to MDEV-12962 Testing MDEV-10142 (PL/SQL parser) Open
relates to MDEV-12518 Unify sql_yacc.yy and sql_yacc_ora.yy Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
MDEV-10343 sql_mode=ORACLE: Providing compatibil... Technical task Closed Alexander Barkov  
MDEV-10411 sql_mode=ORACLE: Providing compatibil... Technical task Closed Alexander Barkov  
MDEV-10585 EXECUTE IMMEDIATE statement Technical task Closed Alexander Barkov  
MDEV-10588 sql_mode=ORACLE: TRUNCATE TABLE t1 [ ... Technical task Closed Alexander Barkov  
MDEV-10579 sql_mode=ORACLE: Triggers: Understand... Technical task Closed Alexander Barkov  
MDEV-10580 sql_mode=ORACLE: FOR loop statement Technical task Closed Alexander Barkov  
MDEV-10581 sql_mode=ORACLE: Explicit cursor FOR ... Technical task Closed Alexander Barkov  
MDEV-10582 sql_mode=ORACLE: Explicit cursor attr... Technical task Closed Alexander Barkov  
MDEV-10583 sql_mode=ORACLE: SQL%ROWCOUNT Technical task Closed Alexander Barkov  
MDEV-10577 sql_mode=ORACLE: %TYPE in variable d... Technical task Closed Alexander Barkov  
MDEV-10578 sql_mode=ORACLE: SP control functions... Technical task Closed Alexander Barkov  
MDEV-10596 sql_mode=ORACLE: Allow VARCHAR and VA... Technical task Closed Alexander Barkov  
MDEV-10597 sql_mode=ORACLE: Cursors with parameters Technical task Closed Alexander Barkov  
MDEV-10598 sql_mode=ORACLE: Variable declaration... Technical task Closed Alexander Barkov  
MDEV-10655 sql_mode=ORACLE: Anonymous blocks Technical task Closed Alexander Barkov  
MDEV-10709 Expressions as parameters to Dynamic SQL Technical task Closed Alexander Barkov  
MDEV-10772 Introduce Item_param::CONVERSION_INFO Technical task Closed Alexander Barkov  
MDEV-10801 sql_mode=ORACLE: Dynamic SQL placehol... Technical task Closed Alexander Barkov  
MDEV-10839 sql_mode=ORACLE: Predefined exception... Technical task Closed Alexander Barkov  
MDEV-10840 sql_mode=ORACLE: RAISE statement for ... Technical task Closed Alexander Barkov  
MDEV-10866 Extend PREPARE and EXECUTE IMMEDIATE ... Technical task Closed Alexander Barkov  
MDEV-10914 ROW data type for stored routine vari... Technical task Closed Alexander Barkov  
MDEV-11037 Diagnostics_area refactoring for user... Technical task Closed Alexander Barkov  
MDEV-10587 sql_mode=ORACLE: User defined exceptions Technical task Closed Alexander Barkov  
MDEV-11275 sql_mode=ORACLE: CAST(..AS VARCHAR(N)) Technical task Closed Alexander Barkov  
MDEV-11346 Move functions case_stmt_xxx and add_... Technical task Closed Alexander Barkov  
MDEV-11347 Move add_create_index_prepare(), add_... Technical task Closed Alexander Barkov  
MDEV-12007 Allow ROW variables as a cursor FETCH... Technical task Closed Alexander Barkov  
MDEV-12011 sql_mode=ORACLE: cursor%ROWTYPE in va... Technical task Closed Alexander Barkov  
MDEV-12086 sql_mode=ORACLE: Allow SELECT UNIQUE ... Technical task Closed Alexander Barkov  
MDEV-12088 sql_mode=ORACLE: Do not require BEGIN... Technical task Closed Alexander Barkov  
MDEV-12089 sql_mode=ORACLE: Understand optional ... Technical task Closed Alexander Barkov  
MDEV-12098 sql_mode=ORACLE: Implicit cursor FOR ... Technical task Closed Alexander Barkov  
MDEV-12107 sql_mode=ORACLE: Inside routines the ... Technical task Closed Alexander Barkov  
MDEV-12133 sql_mode=ORACLE: table%ROWTYPE in var... Technical task Closed Alexander Barkov  
MDEV-12209 sql_mode=ORACLE: Syntax error in a OP... Technical task Closed Alexander Barkov  
MDEV-13919 sql_mode=ORACLE: Derive length of VAR... Technical task Closed Alexander Barkov  
MDEV-12291 Allow ROW variables as SELECT INTO ta... Technical task Closed Alexander Barkov  
MDEV-10697 sql_mode=ORACLE: GOTO statement Technical task Closed Alexander Barkov  
MDEV-12314 sql_mode=ORACLE: Implicit cursor FOR ... Technical task Closed Alexander Barkov  
MDEV-12392 Duplicate code cleanup: add function ... Technical task Closed Alexander Barkov  
MDEV-12393 Add function mysql_create_routine() Technical task Closed Alexander Barkov  
MDEV-12394 Add function is_native_function_with_... Technical task Closed Alexander Barkov  
MDEV-12533 sql_mode=ORACLE: Add support for data... Technical task Closed Alexander Barkov  
MDEV-12783 sql_mode=ORACLE: Functions LENGTH() a... Technical task Closed Alexander Barkov  
MDEV-13197 Parser refactoring for CREATE VIEW,TR... Technical task Closed Alexander Barkov  
MDEV-13292 Move the code from sp_head::init() to... Technical task Closed Alexander Barkov  
MDEV-13298 Change sp_head::m_chistics from a poi... Technical task Closed Alexander Barkov  
MDEV-13302 Avoid using LEX::spname during CREATE... Technical task Closed Alexander Barkov  
MDEV-13414 Fix the SP code to avoid excessive us... Technical task Closed Alexander Barkov  
MDEV-13415 Wrap the code in sp.cc into a class S... Technical task Closed Alexander Barkov  
MDEV-13419 Cleanup for Sp_handler::show_create_sp Technical task Closed Alexander Barkov  
MDEV-13450 Cleanup SP code for packages Technical task Closed Alexander Barkov  
MDEV-11880 sql_mode=ORACLE: Make the concatenati... Technical task Closed Alexander Barkov  
MDEV-12137 DELETE statement with the same source... Technical task Closed Sergei Golubchik  
MDEV-12143 sql_mode=ORACLE: Make the CONCAT func... Technical task Closed Alexander Barkov  
MDEV-12685 Oracle-compatible function CHR() Technical task Closed Alexander Barkov  
MDEV-12874 UPDATE statements with the same sourc... Technical task Closed Sergei Golubchik  
MDEV-13150 SHOW CREATE PACKAGE [ BODY ] pkg Technical task Closed Alexander Barkov  
MDEV-14012 sql_mode=Oracle: substr(): treat posi... Technical task Closed Alexander Barkov  
MDEV-13864 Change Item_func_case to store the pr... Technical task Closed Alexander Barkov  
MDEV-12411 Remove Lex::text_string_is_7bit Technical task Closed Alexander Barkov  
MDEV-14139 Anchored data types for variables Technical task Closed Alexander Barkov  
MDEV-13531 Add Database_qualified_name::copy() Technical task Closed Alexander Barkov  
MDEV-13528 Add LEX::sp_body_finalize_{procedure|... Technical task Closed Alexander Barkov  
MDEV-14212 Add Field_row for SP ROW variables Technical task Closed Alexander Barkov  
MDEV-13533 Remove the THD parameter from sp_head... Technical task Closed Alexander Barkov  
MDEV-14013 sql_mode=EMPTY_STRING_IS_NULL Technical task Closed Alexander Barkov  
MDEV-15107 Add virtual Field::sp_prepare_and_sto... Technical task Closed Alexander Barkov  
MDEV-10591 Oracle-style packages Technical task Closed Alexander Barkov  
MDEV-11952 Oracle-style packages: Phase#1: Trans... Technical task Closed Alexander Barkov  
Epic Link: Compatibility
Sprint: 10.2.2-3, 10.2.2-1, 10.2.2-2, 10.2.2-4, 10.1.18

 Description   

Add a new parser to understand Oracle PL/SQL dialect.

This task holds all work done on the infrastructure that is not part of other sub tasks



 Comments   
Comment by Mark Callaghan [ 2016-09-01 ]

Don't forget Oracle-style cursor isolation. You need read committed and more. Oracle has special and useful semantics for read committed -> https://github.com/mdcallag/mytools/wiki/Cursor-Isolation

Generated at Thu Feb 08 07:39:59 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.