Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 1 of 129 PageID #:
`4394
`
`EXHIBIT 1-6
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 2 of 129 PageID #:
`4395
`
`UPDATE
`
`where_clause
`The where_ clause lets you restrict the rows updated to those for which the
`specified condition is true. If you omit this clause, then the database updates all
`rows in the table or view. Please refer to Chapter 6, "Conditions" for the syntax of
`condition.
`
`The where_clause determines the rows in which values are updated. If you do
`not specify the where_ clause, then all rows are updated. For each row that
`satisfies the where_clause, the columns to the left of the equality operator(=) in
`the update_set_clause are set to the values of the corresponding expressions to
`the right of the operator. The expressions are evaluated as the row is updated.
`
`returning_ clause
`The returning clause retrieves the rows affected by a DML statement. You can
`specify this clause for tables and materialized views and for views with a single
`base table.
`
`When operating on a single row, a DML statement with a returning_clause can
`retrieve column expressions using the affected row, rowid, and REFs to the affected
`row and store them in host variables or PL/ SQL variables.
`
`When operating on multiple rows, a DML statement with the returning_ clause
`stores values from expressions, rowids, and REFs involving the affected rows in
`bind arrays.
`
`expr Each item in the expr list must be a valid expression syntax.
`
`INTO The INTO clause indicates that the values of the changed rows are to be
`stored in the variable(s) specified in data_ i tern list.
`
`data_item Each data_ i tern is a host variable or PL/SQL variable that stores the
`retrieved expr value.
`
`For each expression in the RETURNING list, you must specify a corresponding
`type-compatible PL/SQL variable or host variable in the INTO list.
`
`Restrictions The following restrictions apply to the RETURNING clause:
`
`■ The expr is restricted as follows:
`
`Each expr must be a simple expression or a single-set aggregate function
`expression. You cannot combine simple expressions and single-set
`aggregate function expressions in the same returning_ clause.
`
`SQL Statements: SAVEPOINT to UPDATE 19-83
`
`Cloudera Exhibit 1020 - Page 1681 of 1808
`
`Databricks R2 PA 00003817
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 3 of 129 PageID #:
`4396
`
`UPDATE
`
`Examples
`
`Single-set aggregate function expressions cannot include the DISTINCT
`keyword.
`
`■ You cannot specify the returning_clause for a multitable insert.
`
`■ You cannot use this clause with parallel DML or with remote objects.
`
`■ You cannot retrieve LONG types with this clause.
`
`■ You cannot specify this clause for a view on which an INSTEAD OF trigger has
`been defined.
`
`See Also: PVSQL User's Guide and Reference for information on
`using the BULK COLLECT clause to return multiple values to
`collection variables
`
`Updating a Table: Examples The following statement gives null commissions to
`all employees with the job SH_ CLERK:
`
`UPDATE employees
`SET commission_pct = NULL
`WHERE job_id = 'SH_CLERK';
`
`The following statement promotes Douglas Grant to manager of Department 20
`with a Sl,000 raise:
`
`UPDATE employees SET
`job_id = 'SA_MAN', salary= salary+ 1000, department id
`WHERE first_namel I ' ' I llast_name = 'Douglas Grant';
`
`120
`
`The following statement increases the salary of an employee in the employees
`table on the remote database:
`
`UPDATE employees@remote
`SET salary= salary*l.1
`WHERE last_name = 'Baer';
`
`The next example shows the following syntactic constructs of the UPDATE
`statement:
`
`■ Both forms of the update_set_clause together in a single statement
`
`■ A correlated subquery
`
`■ A where_clause to limit the updated rows
`
`19-84 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1682 of 1808
`
`Databricks R2 PA 00003818
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 4 of 129 PageID #:
`4397
`
`UPDATE
`
`UPDATE employees a
`SET department id=
`(SELECT department id
`FROM departments
`WHERE location id= '2100' ) ,
`(salary , commission_pct)
`(SELECT l.l*AVG(salary), l.5*AVG (commission_pct )
`FROM employees b
`WHERE a.department id
`WHERE department_id IN
`(SELECT department_id
`FROM departments
`WHERE location id= 2900
`OR location_id = 2700);
`
`b.department id)
`
`The preceding UPDATE statement performs the following operations:
`
`■ Updates only those employees who work in Geneva or Munich (locations 2900
`and 2700)
`
`■
`
`■
`
`■
`
`Sets department_ id for these employees to the department_id
`corresponding to Bombay (location_id 2100)
`
`Sets each employee's salary to 1.1 times the average salary of their department
`
`Sets each employee's commission to 1.5 times the average commission of their
`department
`
`Updating a Partition: Example The following example updates values in a single
`partition of the sales table:
`
`UPDATE sales PARTITION (sales_ql_l999) s
`SET s.promo_id = 494
`WHERE amount_sold > 9000;
`
`Updating an Object Table: Example The following statement updates a row of
`object table tablel by selecting a row from another object table table2:
`
`UPDATE tablel p SET VALUE(p) =
`(SELECT VALUE(q) FROM table2 q WHERE p.id = q.id)
`WHERE p.id = 10;
`
`The example uses the VALUE object reference function in both the SET clause and
`the subquery.
`
`SQL Statements: SAVEPOINT to UPDATE 19-85
`
`Cloudera Exhibit 1020 - Page 1683 of 1808
`
`Databricks R2 PA 00003819
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 5 of 129 PageID #:
`4398
`
`UPDATE
`
`Correlated Update: Example The following example updates particular rows of
`the proj s nested table corresponding to the department whose department
`number equals 123:
`
`UPDATE TABLE (SELECT projs
`FROM dept d WHERE d.dno
`SET p.budgets = p.budgets + 1
`WHERE p.pno IN (123, 456 ) ;
`
`123) p
`
`Using the RETURNING Clause During UPDATE: Example The following example
`returns values from the updated row and stores the result in PL/SQL variables
`bndl, bnd2, bnd3:
`
`UPDATE employees
`SET job_id ='SA_MAN', salary= salary+ 1000, department id
`WHERE last name= 'Jones'
`RETURNING salary*0.25, last_name, department_id
`INTO :bndl,
`:bnd2,
`:bnd3;
`
`140
`
`The following example shows that you can specify a single-set aggregate function in
`the expression of the returning clause:
`
`UPDATE employees
`SET salary= salary* 1.1
`WHERE department_id = 100
`RETURNING SUM(salary ) INTO :bndl;
`
`19-86 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1684 of 1808
`
`Databricks R2 PA 00003820
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 6 of 129 PageID #:
`4399
`
`A
`How to Read Syntax Diagrams
`
`This appendix describes how to read syntax diagrams.
`
`Graphic Syntax Diagrams
`Syntax diagrams are drawings that illustrate valid SQL syntax. To read a diagram,
`trace it from left to right, in the direction shown by the arrows.
`
`Commands and other keywords appear in UPPERCASE inside rectangles. Type
`them exactly as shown in the rectangles. Parameters appear in lowercase inside
`ovals. Variables are used for the parameters. Punctuation, operators, delimiters, and
`terminators appear inside circles.
`
`If the syntax diagram has more than one path, you can choose any path. For
`example, in the following syntax you can specify either NO PARALLEL or PARALLEL:
`
`parallel_clause: :=
`
`NOPARALLEL > - - - - -~
`
`If you have the choice of more than one keyword, operator, or parameter, your
`options appear in a vertical list. For example, in the following syntax diagram, you
`can specify one or more of the five parameters in the stack:
`
`How to Read Syntax Diagrams A-1
`
`Cloudera Exhibit 1020 - Page 1685 of 1808
`
`Databricks R2 PA 00003821
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 7 of 129 PageID #:
`4400
`
`Graphic Syntax Diagrams
`
`physical_attributes_clause::=
`
`storage_clause f - - . /
`
`The following table shows parameters that appear in the syntax diagrams and
`provides examples of the values you might substitute for them in your statements:
`
`Table A-1 Syntax Parameters
`
`Parameter
`
`Description
`
`The substitution value must be the name of an
`object of the type specified by the parameter.
`For a list of all types of objects, see the section,
`"Schema Objects" on page 2-106.
`
`The substitution value must be a single
`character from your database character set.
`
`The substitution value must be a text string in
`single quotes. See the syntax description of
`'text' in "Text Literals" on page 2-61.
`
`Examples
`
`employees
`
`T
`
`s
`
`'Employee records'
`
`table
`
`C
`
`'text'
`
`char
`
`The substitution value must be an expression of last name
`datatype CHAR or VARCHAR2 or a character
`'Smith'
`literal in single quotes.
`
`condition
`
`The substitution value must be a condition that
`evaluates to TRUE or FALSE. See the syntax
`description of condition in Chapter 6,
`"Conditions".
`
`last name > 'A'
`
`date
`
`d
`
`expr
`
`The substitution value must be a date constant TO_DATE(
`or an expression of DATE datatype.
`'01-Jan-2002',
`I DD-MON-YYYY I )
`
`The substitution value can be an expression of
`any datatype as defined in the syntax
`description of expr in "About SQL Expressions"
`on page 5-2.
`
`salary+ 1000
`
`A-2 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1686 of 1808
`
`Databricks R2 PA 00003822
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 8 of 129 PageID #:
`4401
`
`Table A-1 Syntax Parameters
`
`Parameter
`
`Description
`
`Graphic Syntax Diagrams
`
`Examples
`
`72
`
`integer
`
`number
`
`m
`
`n
`
`raw
`
`subquery
`
`db name
`
`The substitution value must be an integer as
`defined by the syntax description of integer in
`"Integer Literals" on page 2-63.
`
`The substitution value must be an expression of
`NUMBER datatype or a number constant as
`defined in the syntax description of number in
`"Numeric Literals" on page 2-62.
`
`AVG (salary)
`15 * 7
`
`The substitution value must be an expression of HEXTORAW ( ' 7D' )
`datatype RAW.
`
`The substitution value must be a SELECT
`statement that will be used in another SQL
`statement. See SELECT on page 19-4.
`
`SELECT last name
`FROM employees
`
`The substitution value must be the name of a
`nondefault database in an embedded SQL
`program.
`
`sales db
`
`db_string
`
`The substitution value must be the database
`identification string for an Oracle Net database
`connection. For details, see the user's guide for
`your specific Oracle Net protocol.
`
`Required Keywords and Parameters
`Required keywords and parameters can appear singly or in a vertical list of
`alternatives. Single required keywords and parameters appear on the main path,
`that is, on the horizontal line you are currently traveling. In the following example,
`library_name is a required parameter:
`
`drop_library::=
`~ DROP H LIBRARY K library_name ) { )
`
`If there is a library named HQ_ LIB, then, according to the diagram, the following
`statement is valid:
`
`DROP LIBRARY hq_lib;
`
`If multiple keywords or parameters appear in a vertical list that intersects the main
`path, one of them is required. That is, you must choose one of the keywords or
`
`How to Read Syntax Diagrams A-3
`
`Cloudera Exhibit 1020 - Page 1687 of 1808
`
`Databricks R2 PA 00003823
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 9 of 129 PageID #:
`4402
`
`Graphic Syntax Diagrams
`
`parameters, but not necessarily the one that appears on the main path. In the
`following example, you must choose one of the two settings:
`
`key_compression::=
`
`integer
`COMPRESS i - -+< - - - -~ -
`
`NOCOMPRESS 1 - - - - - - - -~
`
`Optional Keywords and Parameters
`If keywords and parameters appear in a vertical list above the main path, they are
`optional. In the following example, instead of traveling down a vertical line, you
`can continue along the main path:
`
`deallocate_unused_clause::=
`
`~ KEEP r( size clause 0
`
`'--------'
`
`-
`
`)
`
`DEALLOCATE H UNUSED 1)
`
`4
`
`size_clause: :=
`
`According to the diagrams, all of the following statements are valid:
`
`DEALLOCATE UNUSED;
`DEALLOCATE UNUSED KEEP 1000;
`DEALLOCATE UNUSED KEEP l0G;
`
`Syntax Loops
`
`Loops let you repeat the syntax within them as many times as you like. In the
`following example, after choosing one value expression, you can go back repeatedly
`to choose another, separated by commas.
`
`A-4 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1688 of 1808
`
`Databricks R2 PA 00003824
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 10 of 129 PageID #:
`4403
`
`Graphic Syntax Diagrams
`
`query _partition_clause: :=
`
`PARTITION
`
`Multipart Diagrams
`Read a multipart diagram as if all the main paths were joined end to end. The
`following example is a two-part diagram:
`
`alter_java::=
`
`ALTER
`
`JAVA
`
`RESOLVER
`
`According to the diagram, the following statement is valid:
`
`ALTER JAVA SOURCE jsource_l COMPILE;
`
`Database Objects
`The names of Oracle identifiers, such as tables and columns, must not exceed 30
`characters in length. The first character must be a letter, but the rest can be any
`combination of letters, numerals, dollar signs (S), pound signs (#), and underscores
`u.
`However, if an Oracle identifier is enclosed by double quotation marks ("), it can
`contain any combination of legal characters, including spaces but excluding
`quotation marks. Oracle identifiers are not case sensitive except within double
`quotation marks.
`
`How to Read Syntax Diagrams A-5
`
`Cloudera Exhibit 1020 - Page 1689 of 1808
`
`Databricks R2 PA 00003825
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 11 of 129 PageID #:
`4404
`
`Graphic Syntax Diagrams
`
`For more information, see "Schema Object Naming Rules" on page 2-107.
`
`A-6 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1690 of 1808
`
`Databricks R2 PA 00003826
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 12 of 129 PageID #:
`4405
`
`B
`Oracle and Standard SQL
`
`This appendix discusses Oracle's conformance with the SQL:2003 standards. The
`mandatory portion of SQL:2003 is known as Core SQL:2003 and is found in
`SQL:2003 Part 2 (Foundation) and Part 11 (Schemata). The Foundation features are
`analyzed in Annex F of Part 2 in the table "Feature taxonomy and definition for
`mandatory features of SQL/ Foundation". The Schemata features are analyzed in
`Annex E of Part 11 in the table "Feature taxonomy and definition for mandatory
`features of SQL/ Schemata".
`
`This appendix declares Oracle's conformance to the SQL standards established by
`the American National Standards Institute (ANSI) and the International Standards
`Organization (ISO). (The ANSI and ISO SQL standards are identical.) It contains the
`following sections:
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`ANSI Standards
`
`ISO Standards
`
`Oracle Compliance To Core SQL:2003
`
`Oracle Support for Optional Features of SQL/ Foundation:2003
`
`Oracle Compliance with SQL/ CLI:2003
`
`Oracle Compliance with SQL/ PSM:2003
`
`Oracle Compliance with SQL/ MED:2003
`
`Oracle Compliance with SQL/ XML:2003
`
`Oracle Compliance with FIPS 127-2
`
`Oracle Extensions to Standard SQL
`
`Character Set Support
`
`Oracle and Standard SQL B-1
`
`Cloudera Exhibit 1020 - Page 1691 of 1808
`
`Databricks R2 PA 00003827
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 13 of 129 PageID #:
`4406
`
`ANSI Standards
`
`ANSI Standards
`The following documents of the American National Standards Institute (ANSI)
`relate to SQL:
`
`■ ANSI/ISO / IEC 907 5-1 :2003, Information technology-Database
`languages-SQL-Part 1: Framework (SQL/ Framework)
`
`■ ANSI/ISO / IEC 9075-2:2003, Information technology-Database
`languages- SQL-Part 2: Foundation (SQL/ Foundation)
`
`■ ANSI/ISO / IEC 9075-3:2003, Information technology-Database
`languages-SQL-Part 3: Call-Level Interface (SQL/ CLI)
`
`■ ANSI/ISO / IEC 9075-4:2003, Information technology-Database
`languages-SQL-Part 4: Persistent Stored Modules (SQL/ PSM)
`
`■ ANSI/ISO / IEC 9075-9:2003, Information technology-Database
`languages-SQL-Part 9: Management of External Data (SQL/ MED)
`
`■ ANSI/ISO / IEC 9075-10:2003, Information technology-Database
`languages-SQL-Part 10: Object Language Bindings (SQL/ OLB)
`
`■ ANSI/ISO / IEC 9075-11:2003, Information technology-Database
`languages-SQL-Part 11: Information and Definition Schemas
`(SQL/ Schemata)
`
`■ ANSI/ISO / IEC 9075-13:2003, Information technology-Database
`languages-SQL-Part 13: SQL Routines and Types using the Java
`Programming Language (SQL/ JRT)
`
`■ ANSI/ISO / IEC 9075-14:2003, Information technology-Database
`languages-SQL-Part 14: XML-Related Specifications (SQL/ XML)
`
`These standards are identical to the corresponding ISO standards listed in the next
`section.
`
`You can obtain a copy of ANSI standards from this address:
`
`American National Standards Institute
`25 West 43rd Street
`New York, NY 10036 USA
`Telephone: + 1.212.642.4900
`Fax: +1.212.398.0023
`
`or from their Web site:
`
`http: //webstore.ansi. org/ ansidocstore / default . asp
`
`B-2 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1692 of 1808
`
`Databricks R2 PA 00003828
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 14 of 129 PageID #:
`4407
`
`ANSI Standards
`
`A subset of ANSI standards, including the SQL standard, are INCITS standards.
`You can obtain these from the InterNational Committee for Information Technology
`Standards (INCITS) at:
`
`ht tp://www. inc its .org /
`
`ISO Standards
`The following documents of the International Organization for Standardization
`(ISO) relate to SQL:
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`ISO/ IEC 9075-1:2003, Information technology-Database
`languages-SQL-Part 1: Framework (SQL/ Framework)
`
`ISO/ IEC 9075-2:2003, Information technology-Database
`languages-SQL-Part 2: Foundation (SQL/ Foundation)
`
`ISO/ IEC 9075-3:2003, Information technology-Database
`languages-SQL-Part 3: Call-Level Interface (SQL/ CLI)
`
`ISO/ IEC 9075-4:2003, Information technology-Database
`languages-SQL-Part 4: Persistent Stored Modules (SQL/ PSM)
`
`ISO/ IEC 9075-9:2003, Information technology-Database
`languages-SQL-Part 9: Management of External Data (SQL/ MED)
`
`ISO/ IEC 9075-10:2003, Information technology-Database
`languages-SQL-Part 10: Object Language Bindings (SQL/ OLB)
`
`ISO / IEC 9075-11:2003, Information technology-Database
`languages-SQL-Part 11: Information and Definition Schemas
`(SQL/ Schemata)
`
`ISO/ IEC 9075-13:2003, Information technology-Database
`languages-SQL-Part 13: SQL Routines and Types using the Java
`Programming Language (SQL/ JRT)
`
`ISO/ IEC 9075-14:2003, Information technology-Database
`languages-SQL-Part 14: XML-Related Specifications (SQL/ XML)
`
`You can obtain a copy of ISO standards from this address:
`
`International Organization for Standardization
`1 Rue de Varembe
`Case postale 56
`CH-1211, Geneva 20, Switzerland
`
`Oracle and Standard SQL B-3
`
`Cloudera Exhibit 1020 - Page 1693 of 1808
`
`Databricks R2 PA 00003829
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 15 of 129 PageID #:
`4408
`
`ANSI Standards
`
`Phone: +41.22.749.0111
`Fax: +41.22. 733.3430
`Web site: http: / / www.iso.ch/
`
`or from their web store:
`
`http: //www.iso.ch/ iso / en/ prods - services / ISOstore / store.html
`
`Oracle Compliance To Core SOL:2003
`The ANSI and ISO SQL standards require conformance claims to state the type of
`conformance and the implemented facilities. The minimum claim of conformance is
`called Core SQL:2003 and is defined in Part 2, SQL/ Foundation, and Part 11,
`SQL/ Schemata, of the standard. The following products provide full or partial
`conformance with Core SQL:2003 as described in the tables that follow:
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`Oracle Database database server
`
`Pro*C / C++, release 9.2.0
`
`Pro*COBOL, release 9.2.0
`
`Pro*Fortran, release 1.8. 77
`
`SQL Module for Ada (Mod*Ada), release 9.2.0
`
`Pro*COBOL 1.8, release 1.8. 77
`
`Pro*PL/ I, release 1.6.28
`
`OTT, release 9.2.0.
`
`OTTS, release 8.1.8
`
`The Core SQL:2003 features that Oracle fully supports are listed in Table B- 1:
`
`Table B-1 Fully Supported Core SQL:2003 Features
`
`Feature ID
`
`Feature
`
`E011
`
`E031
`
`E061
`
`E081
`
`E091
`
`ElOl
`
`Numeric data types
`
`Identifiers
`
`Basic predicates and search conditions
`
`Basic privileges
`
`Set functions
`
`Basic data manipulation
`
`B-4 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1694 of 1808
`
`Databricks R2 PA 00003830
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 16 of 129 PageID #:
`4409
`
`ANSI Standards
`
`Table B-1
`
`(Cont.) Fully Supported Core SQL:2003 Features
`
`Feature ID
`
`Feature
`
`Elll
`
`E131
`
`E141
`
`ElSl
`
`E152
`
`E153
`
`E161
`
`E171
`
`F041
`
`FOSl
`
`F081
`
`F131
`
`F181
`
`F201
`
`F221
`
`F261
`
`F311
`
`F471
`
`F481
`
`Single row SELECT statement
`
`Null value support (nulls in lieu of values)
`
`Basic integrity constraints
`
`Transaction support
`
`Basic SET TRANSACTION statement
`
`Updatable queries with subqueries
`
`SQL comments using leading double minus
`
`SQLSTATE support
`
`Basic joined table
`
`Basic date and time
`
`UNION and EXCEPT in views
`
`Grouped operations
`
`Multiple module support
`
`CAST function
`
`Explicit defaults
`
`CASE expressions
`
`Schema definition statement
`
`Scalar subquery values
`
`Expanded NULL predicate
`
`The Core SQL:2003 features that Oracle partially supports are listed in Table B- 2:
`
`Oracle and Standard SQL B-5
`
`Cloudera Exhibit 1020 - Page 1695 of 1808
`
`Databricks R2 PA 00003831
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 17 of 129 PageID #:
`4410
`
`ANSI Standards
`
`Table B-2 Partially Supported Core SQL:2003 Features
`
`Feature ID,
`Feature
`
`Partial Support
`
`E021, Character Oracle fully supports these subfeatures:
`■
`E021-01 , CHARACTER data type
`data types
`
`■
`
`■
`
`■
`
`■
`
`E021-07, Character concatenation
`E021-08, UPPER and LOWER functions
`E021-09, TRIM function
`E021-10, Implicit casting among character data types
`E021-12, Character comparison
`■
`Oracle partially supports these subfeatures:
`E021-02, CHARACTER VARYING data type (Oracle does not
`distinguish a zero-length VARCHAR string from NULL)
`E021-03, Character literals (Oracle regards the zero-length literal ' '
`as being null)
`Oracle has equivalent functionality for these subfeatures:
`E021-04, CHARACTER LENGTH function: use LENGTH function
`-
`instead
`E021-05, OCTET_LENGTH function: use LENGTHB function instead
`E021-06, SUBSTRING function: use SUBSTR function instead
`E021-11 , POSITION function: use INSTR function instead
`
`■
`
`■
`
`■
`
`■
`
`■
`
`■
`
`E051 , Basic
`query
`specification
`
`■
`
`■
`
`■
`
`■
`
`■
`
`Oracle fully supports the following subfeatures:
`E051-01 , SELECT DISTINCT
`E0Sl-02, GROUP BY clause
`E0Sl-04, GROUP BY can contain columns not in <select list>
`E0Sl-05, Select list items can be renamed
`E0Sl-06, HAVING clause
`E0S 1-07, Qualified * in select list
`■
`Oracle partially supports the following subfeatures:
`E0Sl-08, Correlation names in FROM clause (Oracle supports
`correlation names, but not the optional AS keyword)
`Oracle does not support the following subfeature:
`E0Sl-09, Rename columns in the FROM clause
`
`■
`
`■
`
`B-6 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1696 of 1808
`
`Databricks R2 PA 00003832
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 18 of 129 PageID #:
`4411
`
`ANSI Standards
`
`Table B-2
`
`(Cont.) Partially Supported Core SQL:2003 Features
`
`Feature ID,
`Feature
`
`E071, Basic
`query
`expressions
`
`E121, Basic
`cursor support
`
`Partial Support
`
`■
`
`■
`
`■
`
`Oracle fully supports the following subfeatures:
`£071-01, UNION DISTINCT table operator
`£071-02, UNION ALL able operator
`£071-05, Columns combined by table operators need not have
`exactly the same type
`£071-06, table operators in subqueries
`■
`Oracle has equivalent functionality for the following subfeature:
`£071-03, EXCEPT DISTINCT table operator: Use MINUS instead of
`EXCEPT DISTINCT
`
`■
`
`■
`
`■
`
`■
`
`■
`
`Oracle fully supports the following subfeatures:
`£121-01, DECLARE CURSOR
`£121-02, ORDER BY columns need not be in select list
`£121-03, Value expressions in ORDER BY clause
`£121-04, OPEN statement
`£121-06, Positioned UPDATE statement
`£121-07, Positioned DELETE statement
`£121-08, CLOSE statement
`£121-10, FETCH statement, implicit NEXT
`■
`Oracle partially supports the following subfeatures:
`£121-17, WITH HOLD cursors (in the standard, a cursor is not held
`through a ROLLBACK, but Oracle does hold through ROLLBACK)
`
`■
`
`■
`
`■
`
`■
`
`Oracle and Standard SQL B-7
`
`Cloudera Exhibit 1020 - Page 1697 of 1808
`
`Databricks R2 PA 00003833
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 19 of 129 PageID #:
`4412
`
`ANSI Standards
`
`Table B-2
`
`(Cont.) Partially Supported Core SQL:2003 Features
`
`Partial Support
`
`Feature ID,
`Feature
`
`F031, Basic
`schema
`manipulation
`
`■
`
`■
`
`■
`
`Oracle fully supports these subfeatures:
`F031-01, CREATE TABLE statement to create persistent base tables
`F031-02, CREATE VIEW statement
`F031-03, GRANT statement
`■
`Oracle partially supports this subfeature:
`F031-04, ALTER TABLE statement: ADD COLUMN clause (Oracle does
`not support the optional keyword COLUMN in this syntax)
`Oracle does not support these subfeatures (because Oracle does not
`support the keyword RESTRICT):
`F031-13, DROP TABLE statement: RESTRICT clause
`F031-16, DROP VIEW statement: RESTRICT clause
`F031-19, REVOKE statement: RESTRICT clause
`
`■
`
`■
`
`■
`
`F812, Basic
`flagging
`
`Oracle has a flagger, but it flags SQL-92 compliance rather than SQL:2003
`compliance
`
`B-8 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1698 of 1808
`
`Databricks R2 PA 00003834
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 20 of 129 PageID #:
`4413
`
`ANSI Standards
`
`Table B-2
`
`(Cont.) Partially Supported Core SQL:2003 Features
`
`Partial Support
`
`Feature ID,
`Feature
`
`T321, Basic
`SQL-invoked
`routines
`
`■
`
`■
`
`■
`
`Oracle fully supports these subfeatures:
`T321-03, function invocation
`T321-04, CALL statement
`■
`Oracle supports these subfeatures with syntactic differences:
`T321-01, user-defined functions with no overloading
`T321-02, user-defined procedures with no overloading
`■
`The Oracle syntax for CREATE FUNCTION and CREATE PROCEDURE
`differs from the standard as follows:
`In the standard, the mode of a parameter (IN, OUT or INOUT) comes
`before the parameter name, whereas in Oracle it comes after the
`parameter name.
`The standard uses INOUT, whereas Oracle uses IN OUT.
`■
`■ Oracle requires either Is or AS after the return type and before the
`definition of the routine body, while the standard lacks these
`keywords.
`If the routine body is in C (for example), then the standard uses the
`keywords LANGUAGE C EXTERNAL NAME to name the routine,
`whereas Oracle uses LANGUAGE c NAME.
`If the routine body is in SQL, then Oracle uses its proprietary
`procedural extension called PL/SQL.
`Oracle supports the following subfeatures in PL/ SQL but not in Oracle
`SQL:
`T321-05, RETURN statement
`
`■
`
`■
`
`■
`
`Oracle has equivalent functionality for the features listed in Table B-3:
`
`Oracle and Standard SQL B-9
`
`Cloudera Exhibit 1020 - Page 1699 of 1808
`
`Databricks R2 PA 00003835
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 21 of 129 PageID #:
`4414
`
`ANSI Standards
`
`Table B-3 Equivalent Functionality for Core SQL:2003 Features
`
`Feature ID, Feature
`
`Equivalent Functionality
`
`F021, Basic information
`schema
`
`■
`
`■
`
`Oracle does not have any of the views in this feature. However,
`Oracle makes the same information available in other metadata
`views:
`Instead of TABLES , use ALL_ TABLES.
`Instead of COLUMNS , use ALL_ TAB_ COLUMNS .
`Instead of VIEWS, use ALL_ VIEWS.
`However, Oracle's ALL_ VIEWS does not display whether a
`user view was defined WITH CHECK OPTION or if it is
`updatable. To see whether a view has WITH CHECK
`OPTION, use ALL CONSTRAINTS, with TABLE NAME
`equal to the view name and look for CONSTRAINT_ TYPE
`equal to ' v ' .
`Instead of TABLE CONSTRAINTS, REFERENTIAL
`CONSTRAINTS and CHECK_ CONSTRAINTS , use ALL_
`CONSTRAINTS.
`However, Oracle's ALL_ CONSTRAINTS does not display
`whether a constraint is deferrable or initially deferred.
`
`■
`
`■
`
`The Core SQL:2003 features that Oracle does not support are listed in Table B-4:
`
`Table B-4 Unsupported Core SQL:2003 Features
`
`Feature ID
`FSOl
`
`S011
`
`Feature
`
`Features and conformance views
`
`Distinct data types
`
`Note: Oracle does not support E182, Module language. Although
`this feature is listed in Table 35 in SQL/Foundation, it merely
`indicates that Core consists of a choice between Module language
`and embedded language. Module language and embedded
`language are completely equivalent in capability, differing only in
`the manner in which SQL statements are associated with the host
`programming language. Oracle supports embedded language.
`
`B-10 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1700 of 1808
`
`Databricks R2 PA 00003836
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 22 of 129 PageID #:
`4415
`
`ANSI Standards
`
`Oracle Support for Optional Features of SOL/Foundation:2003
`Oracle supports the optional features of SQL/ Foundation:2003 listed in Table B- 5:
`
`Table B-5
`
`Fully Supported Optional Features of SQUFoundation:2003
`
`Feature ID
`
`Feature
`
`B0ll
`
`B012
`
`B013
`
`B014
`
`B021
`
`F281
`
`F411
`
`F421
`
`F491
`
`F555
`
`F561
`
`F721
`
`F731
`
`F781
`
`F801
`
`S151
`
`S161
`
`T201
`
`T351
`
`T431
`
`T611
`
`T621
`
`Embedded Ada
`
`Embedded C
`
`Embedded COBOL
`
`Embedded Fortran
`
`Direct SQL
`(in Oracle, this is SQL-Plus)
`
`LIKE enhancements
`
`Time zone specification
`
`National character
`
`Constraint management
`
`Enhanced seconds precision
`(Oracle supports up to 9 places after the decimal point)
`
`Full value expressions
`
`Deferrable constraints
`
`INSERT column privileges
`
`Self-referencing operations
`
`Full set function
`
`Type predicate
`
`Subtype treatment
`
`Comparable data types for referential constraints
`
`Bracketed comments
`
`Extended grouping capabilities
`
`Elementary OLAP operators
`
`Enhanced numeric functions
`
`Oracle and Standard SQL B-11
`
`Cloudera Exhibit 1020 - Page 1701 of 1808
`
`Databricks R2 PA 00003837
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 23 of 129 PageID #:
`4416
`
`ANSI Standards
`
`The optional features of SQL/Foundation:2003 that Oracle partially supports are
`listed in Table B- 6:
`
`Table B-6 Partially Supported Optional Features of SQUFoundation:2003
`
`Feature ID, Feature
`
`Partial Support
`
`B031, Basic dynamic SQL Oracle supports this, with the following restrictions:
`■ Oracle supports a subset of the descriptor items.
`For <input using clause>, Oracle only supports <using
`input descriptor>.
`For <output using clause>, Oracle only supports <into
`descriptor>.
`■ Dynamic parameters are indicated by a colon followed by
`an identifier rather than a question mark.
`
`■
`
`■
`
`B032, Extended dynamic
`SQL
`
`Oracle only implements the ability to declare global statements
`and global cursors from this feature; the rest of the feature is
`not supported.
`
`F052, Intervals and
`datetime arithmetic
`
`Oracle only supports the INTERVAL YEAR TO MONTH and
`INTERVAL DAY TO SECOND data types.
`
`Flll, Isolations levels
`other than
`SERIALIZABLE
`
`In addition to SERIALIZABLE, Oracle supports the READ
`COMMITTED isolation level.
`
`F191, Referential delete
`actions
`
`Oracle supports ON DELETE CASCADE and ON DELETE SET
`NULL.
`
`F302, INTERSECT table
`operator
`
`F312, MERGE statement
`
`Oracle supports INTERSECT but not INTERSECT ALL.
`
`Oracle's MERGE statement is almost the same as the standard,
`with these exceptions:
`■ Oracle does not support the optional AS keyword before a
`table alias
`■ Oracle does not support the <override clause>
`
`F391, Long identifiers
`
`Oracle supports identifiers up to 30 characters in length.
`
`F 401, Extended joined
`table
`
`Oracle supports FULL outer joins.
`
`F531, Temporary tables
`
`Oracle supports GLOBAL TEMPORARY tables.
`
`B-12 SQL Reference
`
`Cloudera Exhibit 1020 - Page 1702 of 1808
`
`Databricks R2 PA 00003838
`-
`-
`-
`
`

`

`Case 4:23-cv-01147-ALM Document 62-7 Filed 11/12/24 Page 24 of 129 PageID #:
`4417
`
`ANSI Standards
`
`Table B-6
`
`(Cont.) Partially Supported Optional Features of SQUFoundation:2003
`
`Feature ID, Feature
`
`Partial Support
`
`F591, Derived tables
`
`Oracle supports <derived table>, with the exception of:
`■ Oracle does not support the optional AS keyword before a
`table alias.
`■ Oracle does not support <derived

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.