PL/SQL parser (MDEV-10142)

[MDEV-12533] sql_mode=ORACLE: Add support for database qualified sequence names in NEXTVAL and CURRVAL Created: 2017-04-20  Updated: 2018-08-31  Resolved: 2017-04-20

Status: Closed
Project: MariaDB Server
Component/s: Parser
Affects Version/s: None
Fix Version/s: 10.3.1

Type: Technical task Priority: Major
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: Compatibility

Issue Links:
Relates
relates to MDEV-10139 Support for SEQUENCE objects Closed
relates to MDEV-12883 CREATE SEQUENCE with huge MAXVALUE Closed
Sprint: 10.2.2-3, 10.2.2-1, 10.2.2-2, 10.2.2-4, 10.1.18

 Description   

The SQL standard syntax for NEXT VALUE FOR works for both non-qualified and qualified sequence names:

SET sql_mode=ORACLE;
DROP SEQUENCE IF EXISTS s1;
CREATE SEQUENCE s1;
SELECT NEXT VALUE FOR s1;
SELECT s1.nextval;

+-------------------+
| NEXT VALUE FOR s1 |
+-------------------+
|                 1 |
+-------------------+
+------------+
| s1.nextval |
+------------+
|          2 |
+------------+

SELECT NEXT VALUE FOR test.s1;

+------------------------+
| NEXT VALUE FOR test.s1 |
+------------------------+
|                      3 |
+------------------------+

Qualified sequence names also work with IBM DB2 syntax for PREVIOUS VALUE FOR

SELECT PREVIOUS VALUE FOR test.s1;

+----------------------------+
| PREVIOUS VALUE FOR test.s1 |
+----------------------------+
|                          3 |
+----------------------------+

Under terms of this task we'll add support for qualified sequence names for Oracle syntax, to make these queries work:

SELECT test.s1.nextval;

SELECT test.s1.currval;



 Comments   
Comment by Alexander Barkov [ 2017-04-20 ]

Pushed to bb-10.2-ext, 10.3, bb-10.2-compatibility.

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