Trivadis / plsql-cop-cli

db* CODECOP Command Line

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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
  • 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
  • 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
  • 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