Support New Features/Changes in SQL Grammar 23c
PhilippSalvisberg opened this issue · comments
The currently supported SQL grammar is 21c. See supported versions
We should add support for 23c.
Reference
See
- Oracle Database New Features 23c
- SQL Language Reference 23c
- Graph Developer's Guide for Property Graph
- JavaScript Developer's Guide
- Database Concepts
- Database Development Guide
New Features in SQL Language Reference 23c
- SQL Support for Boolean Datatype
- Boolean Data Type
- BOOLEAN Expressions (e.g. can be used in select_list)
- Native Representation of Graphs in Oracle Database
- ALTER PROPERTY GRAPH
- CREATE PROPERTY GRAPH
- DROP PROPERTY GRAPH
- Support for the ISO/IEC SQL Property Graph Queries (SQL/PGQ) Standard
- GRAPH_TABLE Operator
- Direct Joins for UPDATE and DELETE Statements
- Multilingual Engine Module Calls
- CREATE MLE ENV
- CREATE MLE MODULE
- ALTER MLE ENV
- ALTER MLE MODULE
- DROP MLE ENV
- DROP MLE MODULE
- DEFAULT ON NULL for UPDATE Statements
- GROUP BY Column Alias or Position
- SELECT
- SELECT Without FROM Clause
- SELECT (query_block)
- SQL UPDATE RETURN Clause Enhancements
- returning_clause in INSERT, UPDATE, DELETE
- Usage Domains
- ALTER DOMAIN
- DROP DOMAIN
- CREATE DOMAIN
- DBMS Blockchain Versions
- CREATE BLOCKCHAIN TABLE
- CEIL FLOOR for DATE, TIMESTAMP, and INTERVAL Types
- CEIL
- FLOOR
- ROUND
- TRUNC
- IF [NOT] EXISTS Syntax Support
- Supported Object Types
- CREATE ... IF NOT EXISTS
- CREATE ANALYTIC VIEW
- CREATE ATTRIBUTE DIMENSION
- CREATE CLUSTER
- CREATE DATABASE LINK
- CREATE DIRECTORY
- CREATE SINGLE COLUMN DOMAIN
- CREATE MULTI COLUMN DOMAIN
- CREATE FLEXIBLE DOMAIN
- CREATE EDITION
- CREATE FUNCTION
- CREATE HIERARCHY
- CREATE INDEX
- CREATE INDEXTYPE
- CREATE INMEMORY JOIN GROUP
- CREATE JAVA
- CREATE JSON RELATIONAL DUALITY VIEW
- CREATE LIBRARY
- CREATE MATERIALIZED VIEW
- CREATE MATERIALIZED VIEW LOG
- CREATE MLE ENV
- CREATE MLE MODULE
- CREATE OPERATOR
- CREATE PACKAGE
- CREATE PACKAGE BODY
- CREATE PROCEDURE
- CREATE PROPERTY GRAPH
- CREATE SEQUENCE
- CREATE SYNONYM
- CREATE TABLE
- CREATE TRIGGER
- CREATE TYPE
- CREATE TYPE BODY
- CREATE USER
- CREATE VIEW
- ALTER ... IF EXISTS
- ALTER ANALYTIC VIEW
- ALTER ATTRIBUTE DIMENSION
- ALTER CLUSTER
- ALTER DATABASE LINK
- ALTER DOMAIN
- ALTER FUNCTION
- ALTER HIERARCHY
- ALTER INDEXTYPE
- ALTER INMEMORY JOIN GROUP
- ALTER JAVA
- ALTER LIBRARY
- ALTER MATERIALIZED VIEW
- ALTER MATERIALIZED VIEW LOG
- ALTER MATERIALIZED ZONEMAP
- ALTER MLE ENV
- ALTER MLE MODULE
- ALTER OPERATOR
- ALTER PACKAGE
- ALTER PROCEDURE
- ALTER PROPERTY GRAPH
- ALTER SEQUENCE
- ALTER SYNONYM
- ALTER TABLE
- ALTER TABLESPACE
- ALTER TRIGGER
- ALTER TYPE
- ALTER USER
- ALTER VIEW
- DROP ... IF EXISTS
- DROP ANALYTIC VIEW
- DROP ATTRIBUTE DIMENSION
- DROP CLUSTER
- DROP DATABASE LINK
- DROP DIRECTORY
- DROP DOMAIN
- DROP EDITION
- DROP FUNCTION
- DROP HIERARCHY
- DROP INDEX
- DROP INDEXTYPE
- DROP INMEMORY JOIN GROUP
- DROP JAVA
- DROP LIBRARY
- DROP MATERIALIZED VIEW
- DROP MATERIALIZED VIEW LOG
- DROP MATERIALIZED ZONEMAP
- DROP MLE ENV
- DROP MLE MODULE
- DROP OPERATOR
- DROP PACKAGE
- DROP PROCEDURE
- DROP PROPERTY GRAPH
- DROP SEQUENCE
- DROP SYNONYM
- DROP TABLE
- DROP TABLESPACE
- DROP TRIGGER
- DROP TYPE
- DROP TYPE BODY
- DROP USER
- DROP VIEW
- CREATE ... IF NOT EXISTS
- Supported Object Types
- Annotations
- annotations_clause
- constraint (cannot specified)
- ALTER DOMAIN
- ALTER INDEX
- ALTER MATERIALIZED VIEW
- ALTER TABLE
- ALTER VIEW
- CREATE DOMAIN
- CREATE INDEX
- CREATE MATERIALIZED VIEW
- CREATE TABLE
- CREATE VIEW
- check more objects such as types, packages, functions, procedures (cannot specified)
- JSON-Relational Duality View
- CREATE JSON RELATION DUALITY VIEW
- DROP VIEW (also applicable for JSON RELATIONAL DUALITY VIEW)
New SQL Features not mentioned in SQL Language Reference 23c
- New Operators
- SHARD_CHUNK_ID
- FUZZY_MATCH
- PHONIC_ENCODE
- New Conditions
- BOOLEAN Test Condition
- JSON Schema: IS JSON Condition
- Table Value Constructor
- New Functions
- BOOLEAN_AND_AGG
- BOOLEAN_OR_AGG
- DOMAIN_CHECK
- DOMAIN_CHECK_TYPE
- DOMAIN_NAME
- DOMAIN_DISPLAY
- DOMAIN_ORDER
- ROUND_TIES_TO_EVEN (introduced in 18c)
- SYS_ROW_ETAG
- TO_BOOLEAN
- Extended Functions
- CAST (domain, validate/novalidate)
- JSON_ARRAY (simplified syntax using
JSON []
and[]
in nested context, ...) - JSON_OBJECT (simplified syntax using
JSON {}
and{}
in nested context, ...) - JSON_OBJECTAGG (strict, with unique keys)
- JSON_QUERY (type strict/lax, on_mismatch_clause)
- JSON_SCALAR (null on error, error on error)
- JSON_SERIALIZE (ordered)
- JSON_TABLE (type strict/lax)
- JSON_TRANSFORM (type strict/lax, operations: sort, nested path, case, copy, intersect, merge, minus, prepend, union)
- JSON_VALUE (json_passing_clause)
- Silently Decommissioned Functions (not in 23c docs anymore, deprecated, can be found in 21c docs, still part of the grammar)
- APPENDCHILDXML
- INSERTCHILDXML
- INSERTCHILDXMLAFTER
- INSERTCHILDXMLBEFORE
- INSERTXMLAFTER
- INSERTXMLBEFORE
- UPDATEXML
- New Statements
- ALTER PMEM FILESTORE (introduced in 21c)
- CREATE LOGICAL PARTITION TRACKING
- CREATE PMEM FILESTORE (introduced in 21c)
- DROP PMEM FILESTORE (introduced in 21c)
closed with commit 2a0ed170a07f4e9ef3e48fb7fa7024bed2cc30cf on Azure DevOps