← Back to team overview

maria-developers team mailing list archive

Re: bb-10.2-compatibility


Hello Jerome,

Sorry for a late reply.
I was fully busy with the CURSOR FOR LOOP related tasks.
Now have time to catch time with my emails.

On 03/03/2017 05:17 PM, jerome brauge wrote:
> Hello Alexander,
> When I compiled some real procedures, I find some tables alias not supported by the current grammar.
> Example :
>   create table t1 (col1 int);
>   select dec.* from t1 dec;
>   select mod.* from t1 mod;
> I have done a complete test on Oracle and Mariadb with all keywords used as variables, table alias and goto/block labels.
> You can find result in attached excel file.

Thank you very much.

Is my understanding correct: "TODO" in some cell
means that this keyword works differently in Oracle vs
MariaDB's sql_mode=ORACLE?

That is:

- either works fine in Oracle (as a variable, or a label, or a table
alias), but does not work in sql_mode=ORACLE
- or, the other way around, it is not allowed in Oracle,
  but is accepted by sql_mode=ORACLE?

> In addition, schema object names and qualifiers must complied with : https://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements008.htm#SQLRF00223

I have created a task for this:


The most tricky part is to implement regular vs quoted identifiers.

> I tried to add these keywords in rules keyword_directly_assignable, keyword_sp_not_data_type and keyword_sp_data_type, but this generates too many conflicts.
> I think that some refactoring of the grammar rules must be done, but I don't know how to do this.

Every keyword should be checked individually.

By the way, labels should be easy to fix, because they are surrounded by
<< and >>, so they should not cause any conflicts at all.

> Regards,
> Jérôme.

Follow ups