mirror of https://github.com/apache/openjpa.git
OPENJPA-2867 add a way to test reserved words
This commit is contained in:
parent
adf5ad393d
commit
7d3c89c515
|
@ -0,0 +1,128 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.openjpa.reservedwords;
|
||||
|
||||
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
|
||||
import org.apache.openjpa.jdbc.sql.DBDictionary;
|
||||
import org.apache.openjpa.lib.log.Log;
|
||||
import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
|
||||
import org.apache.openjpa.persistence.test.AbstractPersistenceTestCase;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.Query;
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Run this test manually or as part of the integration test suite to
|
||||
* generate the list of reserved words for a specific Database
|
||||
*/
|
||||
public class ReservedWordsIT extends AbstractPersistenceTestCase {
|
||||
private static OpenJPAEntityManagerFactory _emf;
|
||||
|
||||
@Override
|
||||
public void setUp() throws Exception {
|
||||
super.setUp();
|
||||
_emf = createEMF(new Object[0]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tearDown() throws Exception {
|
||||
closeEMF(_emf);
|
||||
_emf = null;
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
|
||||
public void testReservedColumnWords() throws Exception {
|
||||
List<String> reservedColumnWords = new ArrayList<>();
|
||||
DBDictionary dict = ((JDBCConfiguration)_emf.getConfiguration()).getDBDictionaryInstance();
|
||||
|
||||
EntityManager em = null;
|
||||
for (String word : getReservedWords()) {
|
||||
try {
|
||||
em = _emf.createEntityManager();
|
||||
em.getTransaction().begin();
|
||||
Query qryCreate = em.createNativeQuery("CREATE TABLE RESERVEDW_TST (" + word + " CHAR(2))");
|
||||
qryCreate.executeUpdate();
|
||||
em.getTransaction().commit();
|
||||
|
||||
em.getTransaction().begin();
|
||||
Query qryDrop = em.createNativeQuery("DROP TABLE RESERVEDW_TST");
|
||||
qryDrop.executeUpdate();
|
||||
em.getTransaction().commit();
|
||||
em.close();
|
||||
} catch (Exception e) {
|
||||
reservedColumnWords.add(word);
|
||||
em.getTransaction().rollback();
|
||||
}
|
||||
finally {
|
||||
if (em != null && em.isOpen()) {
|
||||
em.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Log log = getLog();
|
||||
|
||||
try (OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("target/reserved_words_" +
|
||||
dict.getClass().getSimpleName() + ".properties"))) {
|
||||
String msg = "# FOUND " + reservedColumnWords.size() + " RESERVED WORDS for Dictionary " + dict.getClass().getName();
|
||||
log.info(msg);
|
||||
osw.append(msg).append('\n');
|
||||
for (String reservedColumnWord : reservedColumnWords) {
|
||||
log.info(reservedColumnWord);
|
||||
osw.append(reservedColumnWord).append('\n');
|
||||
}
|
||||
osw.flush();
|
||||
}
|
||||
log.info("******* END RESERVED WORDS *******");
|
||||
}
|
||||
|
||||
private List<String> getReservedWords() {
|
||||
List<String> reservedWords = new ArrayList<>(2000);
|
||||
|
||||
try (InputStream is = this.getClass().getClassLoader().getResourceAsStream("org/apache/openjpa/reservedwords/sql_reserved_words.txt")) {
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(is));
|
||||
|
||||
String line;
|
||||
while ((line = br.readLine()) != null) {
|
||||
line = line.trim();
|
||||
if (line.startsWith("#") || line.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
if (line.contains(" ")) {
|
||||
throw new RuntimeException("only one reserved word per line please! got: " + line);
|
||||
}
|
||||
reservedWords.add(line);
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return reservedWords;
|
||||
}
|
||||
|
||||
private Log getLog() {
|
||||
return _emf.getConfiguration().getLog("Tests");
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,845 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
# ***************
|
||||
# List of all candidates of reserved words across multiple databases
|
||||
#
|
||||
A
|
||||
ABORT
|
||||
ABS
|
||||
ABSOLUTE
|
||||
ACCESS
|
||||
ACTION
|
||||
ADA
|
||||
ADD
|
||||
ADMIN
|
||||
AFTER
|
||||
AGGREGATE
|
||||
ALIAS
|
||||
ALL
|
||||
ALLOCATE
|
||||
ALSO
|
||||
ALTER
|
||||
ALWAYS
|
||||
ANALYSE
|
||||
ANALYZE
|
||||
AND
|
||||
ANY
|
||||
ARE
|
||||
ARRAY
|
||||
AS
|
||||
ASC
|
||||
ASENSITIVE
|
||||
ASSERTION
|
||||
ASSIGNMENT
|
||||
ASYMMETRIC
|
||||
AT
|
||||
ATOMIC
|
||||
ATTRIBUTE
|
||||
ATTRIBUTES
|
||||
AUDIT
|
||||
AUTHORIZATION
|
||||
AUTO_INCREMENT
|
||||
AVG
|
||||
AVG_ROW_LENGTH
|
||||
BACKUP
|
||||
BACKWARD
|
||||
BEFORE
|
||||
BEGIN
|
||||
BERNOULLI
|
||||
BETWEEN
|
||||
BIGINT
|
||||
BINARY
|
||||
BIT
|
||||
BIT_LENGTH
|
||||
BITVAR
|
||||
BLOB
|
||||
BOOL
|
||||
BOOLEAN
|
||||
BOTH
|
||||
BREADTH
|
||||
BREAK
|
||||
BROWSE
|
||||
BULK
|
||||
BY
|
||||
C
|
||||
CACHE
|
||||
CALL
|
||||
CALLED
|
||||
CARDINALITY
|
||||
CASCADE
|
||||
CASCADED
|
||||
CASE
|
||||
CAST
|
||||
CATALOG
|
||||
CATALOG_NAME
|
||||
CEIL
|
||||
CEILING
|
||||
CHAIN
|
||||
CHANGE
|
||||
CHAR
|
||||
CHAR_LENGTH
|
||||
CHARACTER
|
||||
CHARACTER_LENGTH
|
||||
CHARACTER_SET_CATALOG
|
||||
CHARACTER_SET_NAME
|
||||
CHARACTER_SET_SCHEMA
|
||||
CHARACTERISTICS
|
||||
CHARACTERS
|
||||
CHECK
|
||||
CHECKED
|
||||
CHECKPOINT
|
||||
CHECKSUM
|
||||
CLASS
|
||||
CLASS_ORIGIN
|
||||
CLOB
|
||||
CLOSE
|
||||
CLUSTER
|
||||
CLUSTERED
|
||||
COALESCE
|
||||
COBOL
|
||||
COLLATE
|
||||
COLLATION
|
||||
COLLATION_CATALOG
|
||||
COLLATION_NAME
|
||||
COLLATION_SCHEMA
|
||||
COLLECT
|
||||
COLUMN
|
||||
COLUMN_NAME
|
||||
COLUMNS
|
||||
COMMAND_FUNCTION
|
||||
COMMAND_FUNCTION_CODE
|
||||
COMMENT
|
||||
COMMIT
|
||||
COMMITTED
|
||||
COMPLETION
|
||||
COMPRESS
|
||||
COMPUTE
|
||||
CONDITION
|
||||
CONDITION_NUMBER
|
||||
CONNECT
|
||||
CONNECTION
|
||||
CONNECTION_NAME
|
||||
CONSTRAINT
|
||||
CONSTRAINT_CATALOG
|
||||
CONSTRAINT_NAME
|
||||
CONSTRAINT_SCHEMA
|
||||
CONSTRAINTS
|
||||
CONSTRUCTOR
|
||||
CONTAINS
|
||||
CONTAINSTABLE
|
||||
CONTINUE
|
||||
CONVERSION
|
||||
CONVERT
|
||||
COPY
|
||||
CORR
|
||||
CORRESPONDING
|
||||
COUNT
|
||||
COVAR_POP
|
||||
COVAR_SAMP
|
||||
CREATE
|
||||
CREATEDB
|
||||
CREATEROLE
|
||||
CREATEUSER
|
||||
CROSS
|
||||
CSV
|
||||
CUBE
|
||||
CUME_DIST
|
||||
CURRENT
|
||||
CURRENT_DATE
|
||||
CURRENT_DEFAULT_TRANSFORM_GROUP
|
||||
CURRENT_PATH
|
||||
CURRENT_ROLE
|
||||
CURRENT_TIME
|
||||
CURRENT_TIMESTAMP
|
||||
CURRENT_TRANSFORM_GROUP_FOR_TYPE
|
||||
CURRENT_USER
|
||||
CURSOR
|
||||
CURSOR_NAME
|
||||
CYCLE
|
||||
DATA
|
||||
DATABASE
|
||||
DATABASES
|
||||
DATE
|
||||
DATETIME
|
||||
DATETIME_INTERVAL_CODE
|
||||
DATETIME_INTERVAL_PRECISION
|
||||
DAY
|
||||
DAY_HOUR
|
||||
DAY_MICROSECOND
|
||||
DAY_MINUTE
|
||||
DAY_SECOND
|
||||
DAYOFMONTH
|
||||
DAYOFWEEK
|
||||
DAYOFYEAR
|
||||
DBCC
|
||||
DEALLOCATE
|
||||
DEC
|
||||
DECIMAL
|
||||
DECLARE
|
||||
DEFAULT
|
||||
DEFAULTS
|
||||
DEFERRABLE
|
||||
DEFERRED
|
||||
DEFINED
|
||||
DEFINER
|
||||
DEGREE
|
||||
DELAY_KEY_WRITE
|
||||
DELAYED
|
||||
DELETE
|
||||
DELIMITER
|
||||
DELIMITERS
|
||||
DENSE_RANK
|
||||
DENY
|
||||
DEPTH
|
||||
DEREF
|
||||
DERIVED
|
||||
DESC
|
||||
DESCRIBE
|
||||
DESCRIPTOR
|
||||
DESTROY
|
||||
DESTRUCTOR
|
||||
DETERMINISTIC
|
||||
DIAGNOSTICS
|
||||
DICTIONARY
|
||||
DISABLE
|
||||
DISCONNECT
|
||||
DISK
|
||||
DISPATCH
|
||||
DISTINCT
|
||||
DISTINCTROW
|
||||
DISTRIBUTED
|
||||
DIV
|
||||
DO
|
||||
DOMAIN
|
||||
DOUBLE
|
||||
DROP
|
||||
DUAL
|
||||
DUMMY
|
||||
DUMP
|
||||
DYNAMIC
|
||||
DYNAMIC_FUNCTION
|
||||
DYNAMIC_FUNCTION_CODE
|
||||
EACH
|
||||
ELEMENT
|
||||
ELSE
|
||||
ELSEIF
|
||||
ENABLE
|
||||
ENCLOSED
|
||||
ENCODING
|
||||
ENCRYPTED
|
||||
END
|
||||
END-EXEC
|
||||
ENUM
|
||||
EQUALS
|
||||
ERRLVL
|
||||
ESCAPE
|
||||
ESCAPED
|
||||
EVERY
|
||||
EXCEPT
|
||||
EXCEPTION
|
||||
EXCLUDE
|
||||
EXCLUDING
|
||||
EXCLUSIVE
|
||||
EXEC
|
||||
EXECUTE
|
||||
EXISTING
|
||||
EXISTS
|
||||
EXIT
|
||||
EXP
|
||||
EXPLAIN
|
||||
EXTERNAL
|
||||
EXTRACT
|
||||
FALSE
|
||||
FETCH
|
||||
FIELDS
|
||||
FILE
|
||||
FILLFACTOR
|
||||
FILTER
|
||||
FINAL
|
||||
FIRST
|
||||
FLOAT
|
||||
FLOAT4
|
||||
FLOAT8
|
||||
FLOOR
|
||||
FLUSH
|
||||
FOLLOWING
|
||||
FOR
|
||||
FORCE
|
||||
FOREIGN
|
||||
FORTRAN
|
||||
FORWARD
|
||||
FOUND
|
||||
FREE
|
||||
FREETEXT
|
||||
FREETEXTTABLE
|
||||
FREEZE
|
||||
FROM
|
||||
FULL
|
||||
FULLTEXT
|
||||
FUNCTION
|
||||
FUSION
|
||||
G
|
||||
GENERAL
|
||||
GENERATED
|
||||
GET
|
||||
GLOBAL
|
||||
GO
|
||||
GOTO
|
||||
GRANT
|
||||
GRANTED
|
||||
GRANTS
|
||||
GREATEST
|
||||
GROUP
|
||||
GROUPING
|
||||
HANDLER
|
||||
HAVING
|
||||
HEADER
|
||||
HEAP
|
||||
HIERARCHY
|
||||
HIGH_PRIORITY
|
||||
HOLD
|
||||
HOLDLOCK
|
||||
HOST
|
||||
HOSTS
|
||||
HOUR
|
||||
HOUR_MICROSECOND
|
||||
HOUR_MINUTE
|
||||
HOUR_SECOND
|
||||
IDENTIFIED
|
||||
IDENTITY
|
||||
IDENTITY_INSERT
|
||||
IDENTITYCOL
|
||||
IF
|
||||
IGNORE
|
||||
ILIKE
|
||||
IMMEDIATE
|
||||
IMMUTABLE
|
||||
IMPLEMENTATION
|
||||
IMPLICIT
|
||||
IN
|
||||
INCLUDE
|
||||
INCLUDING
|
||||
INCREMENT
|
||||
INDEX
|
||||
INDICATOR
|
||||
INFILE
|
||||
INFIX
|
||||
INHERIT
|
||||
INHERITS
|
||||
INITIAL
|
||||
INITIALIZE
|
||||
INITIALLY
|
||||
INNER
|
||||
INOUT
|
||||
INPUT
|
||||
INSENSITIVE
|
||||
INSERT
|
||||
INSERT_ID
|
||||
INSTANCE
|
||||
INSTANTIABLE
|
||||
INSTEAD
|
||||
INT
|
||||
INT1
|
||||
INT2
|
||||
INT3
|
||||
INT4
|
||||
INT8
|
||||
INTEGER
|
||||
INTERSECT
|
||||
INTERSECTION
|
||||
INTERVAL
|
||||
INTO
|
||||
INVOKER
|
||||
IS
|
||||
ISAM
|
||||
ISNULL
|
||||
ISOLATION
|
||||
ITERATE
|
||||
JOIN
|
||||
K
|
||||
KEY
|
||||
KEY_MEMBER
|
||||
KEY_TYPE
|
||||
KEYS
|
||||
KILL
|
||||
LANCOMPILER
|
||||
LANGUAGE
|
||||
LARGE
|
||||
LAST
|
||||
LAST_INSERT_ID
|
||||
LATERAL
|
||||
LEAD
|
||||
LEADING
|
||||
LEAST
|
||||
LEAVE
|
||||
LEFT
|
||||
LENGTH
|
||||
LESS
|
||||
LEVEL
|
||||
LIKE
|
||||
LIMIT
|
||||
LINENO
|
||||
LINES
|
||||
LISTEN
|
||||
LN
|
||||
LOAD
|
||||
LOCAL
|
||||
LOCALTIME
|
||||
LOCALTIMESTAMP
|
||||
LOCATION
|
||||
LOCATOR
|
||||
LOCK
|
||||
LOGIN
|
||||
LOGS
|
||||
LONG
|
||||
LONGBLOB
|
||||
LONGTEXT
|
||||
LOOP
|
||||
LOW_PRIORITY
|
||||
LOWER
|
||||
M
|
||||
MAP
|
||||
MATCH
|
||||
MATCHED
|
||||
MAX
|
||||
MAX_ROWS
|
||||
MAXEXTENTS
|
||||
MAXVALUE
|
||||
MEDIUMBLOB
|
||||
MEDIUMINT
|
||||
MEDIUMTEXT
|
||||
MEMBER
|
||||
MERGE
|
||||
MESSAGE_LENGTH
|
||||
MESSAGE_OCTET_LENGTH
|
||||
MESSAGE_TEXT
|
||||
METHOD
|
||||
MIDDLEINT
|
||||
MIN
|
||||
MIN_ROWS
|
||||
MINUS
|
||||
MINUTE
|
||||
MINUTE_MICROSECOND
|
||||
MINUTE_SECOND
|
||||
MINVALUE
|
||||
MLSLABEL
|
||||
MOD
|
||||
MODE
|
||||
MODIFIES
|
||||
MODIFY
|
||||
MODULE
|
||||
MONTH
|
||||
MONTHNAME
|
||||
MORE
|
||||
MOVE
|
||||
MULTISET
|
||||
MUMPS
|
||||
MYISAM
|
||||
NAME
|
||||
NAMES
|
||||
NATIONAL
|
||||
NATURAL
|
||||
NCHAR
|
||||
NCLOB
|
||||
NESTING
|
||||
NEW
|
||||
NEXT
|
||||
NO
|
||||
NO_WRITE_TO_BINLOG
|
||||
NOAUDIT
|
||||
NOCHECK
|
||||
NOCOMPRESS
|
||||
NOCREATEDB
|
||||
NOCREATEROLE
|
||||
NOCREATEUSER
|
||||
NOINHERIT
|
||||
NOLOGIN
|
||||
NONCLUSTERED
|
||||
NONE
|
||||
NORMALIZE
|
||||
NORMALIZED
|
||||
NOSUPERUSER
|
||||
NOT
|
||||
NOTHING
|
||||
NOTIFY
|
||||
NOTNULL
|
||||
NOWAIT
|
||||
NULL
|
||||
NULLABLE
|
||||
NULLIF
|
||||
NULLS
|
||||
NUMBER
|
||||
NUMERIC
|
||||
OBJECT
|
||||
OCTET_LENGTH
|
||||
OCTETS
|
||||
OF
|
||||
OFF
|
||||
OFFLINE
|
||||
OFFSET
|
||||
OFFSETS
|
||||
OIDS
|
||||
OLD
|
||||
ON
|
||||
ONLINE
|
||||
ONLY
|
||||
OPEN
|
||||
OPENDATASOURCE
|
||||
OPENQUERY
|
||||
OPENROWSET
|
||||
OPENXML
|
||||
OPERATION
|
||||
OPERATOR
|
||||
OPTIMIZE
|
||||
OPTION
|
||||
OPTIONALLY
|
||||
OPTIONS
|
||||
OR
|
||||
ORDER
|
||||
ORDERING
|
||||
ORDINALITY
|
||||
OTHERS
|
||||
OUT
|
||||
OUTER
|
||||
OUTFILE
|
||||
OUTPUT
|
||||
OVER
|
||||
OVERLAPS
|
||||
OVERLAY
|
||||
OVERRIDING
|
||||
OWNER
|
||||
PACK_KEYS
|
||||
PAD
|
||||
PARAMETER
|
||||
PARAMETER_MODE
|
||||
PARAMETER_NAME
|
||||
PARAMETER_ORDINAL_POSITION
|
||||
PARAMETER_SPECIFIC_CATALOG
|
||||
PARAMETER_SPECIFIC_NAME
|
||||
PARAMETER_SPECIFIC_SCHEMA
|
||||
PARAMETERS
|
||||
PARTIAL
|
||||
PARTITION
|
||||
PASCAL
|
||||
PASSWORD
|
||||
PATH
|
||||
PCTFREE
|
||||
PERCENT
|
||||
PERCENT_RANK
|
||||
PERCENTILE_CONT
|
||||
PERCENTILE_DISC
|
||||
PLACING
|
||||
PLAN
|
||||
PLI
|
||||
POSITION
|
||||
POSTFIX
|
||||
POWER
|
||||
PRECEDING
|
||||
PRECISION
|
||||
PREFIX
|
||||
PREORDER
|
||||
PREPARE
|
||||
PREPARED
|
||||
PRESERVE
|
||||
PRIMARY
|
||||
PRINT
|
||||
PRIOR
|
||||
PRIVILEGES
|
||||
PROC
|
||||
PROCEDURAL
|
||||
PROCEDURE
|
||||
PROCESS
|
||||
PROCESSLIST
|
||||
PUBLIC
|
||||
PURGE
|
||||
QUOTE
|
||||
RAID0
|
||||
RAISERROR
|
||||
RANGE
|
||||
RANK
|
||||
RAW
|
||||
READ
|
||||
READS
|
||||
READTEXT
|
||||
REAL
|
||||
RECHECK
|
||||
RECONFIGURE
|
||||
RECURSIVE
|
||||
REF
|
||||
REFERENCES
|
||||
REFERENCING
|
||||
REGEXP
|
||||
REGR_AVGX
|
||||
REGR_AVGY
|
||||
REGR_COUNT
|
||||
REGR_INTERCEPT
|
||||
REGR_R2
|
||||
REGR_SLOPE
|
||||
REGR_SXX
|
||||
REGR_SXY
|
||||
REGR_SYY
|
||||
REINDEX
|
||||
RELATIVE
|
||||
RELEASE
|
||||
RELOAD
|
||||
RENAME
|
||||
REPEAT
|
||||
REPEATABLE
|
||||
REPLACE
|
||||
REPLICATION
|
||||
REQUIRE
|
||||
RESET
|
||||
RESIGNAL
|
||||
RESOURCE
|
||||
RESTART
|
||||
RESTORE
|
||||
RESTRICT
|
||||
RESULT
|
||||
RETURN
|
||||
RETURNED_CARDINALITY
|
||||
RETURNED_LENGTH
|
||||
RETURNED_OCTET_LENGTH
|
||||
RETURNED_SQLSTATE
|
||||
RETURNS
|
||||
REVOKE
|
||||
RIGHT
|
||||
RLIKE
|
||||
ROLE
|
||||
ROLLBACK
|
||||
ROLLUP
|
||||
ROUTINE
|
||||
ROUTINE_CATALOG
|
||||
ROUTINE_NAME
|
||||
ROUTINE_SCHEMA
|
||||
ROW
|
||||
ROW_COUNT
|
||||
ROW_NUMBER
|
||||
ROWCOUNT
|
||||
ROWGUIDCOL
|
||||
ROWID
|
||||
ROWNUM
|
||||
ROWS
|
||||
RULE
|
||||
SAVE
|
||||
SAVEPOINT
|
||||
SCALE
|
||||
SCHEMA
|
||||
SCHEMA_NAME
|
||||
SCHEMAS
|
||||
SCOPE
|
||||
SCOPE_CATALOG
|
||||
SCOPE_NAME
|
||||
SCOPE_SCHEMA
|
||||
SCROLL
|
||||
SEARCH
|
||||
SECOND
|
||||
SECOND_MICROSECOND
|
||||
SECTION
|
||||
SECURITY
|
||||
SELECT
|
||||
SELF
|
||||
SENSITIVE
|
||||
SEPARATOR
|
||||
SEQUENCE
|
||||
SERIALIZABLE
|
||||
SERVER_NAME
|
||||
SESSION
|
||||
SESSION_USER
|
||||
SET
|
||||
SETOF
|
||||
SETS
|
||||
SETUSER
|
||||
SHARE
|
||||
SHOW
|
||||
SHUTDOWN
|
||||
SIGNAL
|
||||
SIMILAR
|
||||
SIMPLE
|
||||
SIZE
|
||||
SMALLINT
|
||||
SOME
|
||||
SONAME
|
||||
SOURCE
|
||||
SPACE
|
||||
SPATIAL
|
||||
SPECIFIC
|
||||
SPECIFIC_NAME
|
||||
SPECIFICTYPE
|
||||
SQL
|
||||
SQL_BIG_RESULT
|
||||
SQL_BIG_SELECTS
|
||||
SQL_BIG_TABLES
|
||||
SQL_CALC_FOUND_ROWS
|
||||
SQL_LOG_OFF
|
||||
SQL_LOG_UPDATE
|
||||
SQL_LOW_PRIORITY_UPDATES
|
||||
SQL_SELECT_LIMIT
|
||||
SQL_SMALL_RESULT
|
||||
SQL_WARNINGS
|
||||
SQLCA
|
||||
SQLCODE
|
||||
SQLERROR
|
||||
SQLEXCEPTION
|
||||
SQLSTATE
|
||||
SQLWARNING
|
||||
SQRT
|
||||
SSL
|
||||
STABLE
|
||||
START
|
||||
STARTING
|
||||
STATE
|
||||
STATEMENT
|
||||
STATIC
|
||||
STATISTICS
|
||||
STATUS
|
||||
STDDEV_POP
|
||||
STDDEV_SAMP
|
||||
STDIN
|
||||
STDOUT
|
||||
STORAGE
|
||||
STRAIGHT_JOIN
|
||||
STRICT
|
||||
STRING
|
||||
STRUCTURE
|
||||
STYLE
|
||||
SUBCLASS_ORIGIN
|
||||
SUBLIST
|
||||
SUBMULTISET
|
||||
SUBSTRING
|
||||
SUCCESSFUL
|
||||
SUM
|
||||
SUPERUSER
|
||||
SYMMETRIC
|
||||
SYNONYM
|
||||
SYSDATE
|
||||
SYSID
|
||||
SYSTEM
|
||||
SYSTEM_USER
|
||||
TABLE
|
||||
TABLE_NAME
|
||||
TABLES
|
||||
TABLESAMPLE
|
||||
TABLESPACE
|
||||
TEMP
|
||||
TEMPLATE
|
||||
TEMPORARY
|
||||
TERMINATE
|
||||
TERMINATED
|
||||
TEXT
|
||||
TEXTSIZE
|
||||
THAN
|
||||
THEN
|
||||
TIES
|
||||
TIME
|
||||
TIMESTAMP
|
||||
TIMEZONE_HOUR
|
||||
TIMEZONE_MINUTE
|
||||
TINYBLOB
|
||||
TINYINT
|
||||
TINYTEXT
|
||||
TO
|
||||
TOAST
|
||||
TOP
|
||||
TOP_LEVEL_COUNT
|
||||
TRAILING
|
||||
TRAN
|
||||
TRANSACTION
|
||||
TRANSACTION_ACTIVE
|
||||
TRANSACTIONS_COMMITTED
|
||||
TRANSACTIONS_ROLLED_BACK
|
||||
TRANSFORM
|
||||
TRANSFORMS
|
||||
TRANSLATE
|
||||
TRANSLATION
|
||||
TREAT
|
||||
TRIGGER
|
||||
TRIGGER_CATALOG
|
||||
TRIGGER_NAME
|
||||
TRIGGER_SCHEMA
|
||||
TRIM
|
||||
TRUE
|
||||
TRUNCATE
|
||||
TRUSTED
|
||||
TSEQUAL
|
||||
TYPE
|
||||
UESCAPE
|
||||
UID
|
||||
UNBOUNDED
|
||||
UNCOMMITTED
|
||||
UNDER
|
||||
UNDO
|
||||
UNENCRYPTED
|
||||
UNION
|
||||
UNIQUE
|
||||
UNKNOWN
|
||||
UNLISTEN
|
||||
UNLOCK
|
||||
UNNAMED
|
||||
UNNEST
|
||||
UNSIGNED
|
||||
UNTIL
|
||||
UPDATE
|
||||
UPDATETEXT
|
||||
UPPER
|
||||
USAGE
|
||||
USE
|
||||
USER
|
||||
USER_DEFINED_TYPE_CATALOG
|
||||
USER_DEFINED_TYPE_CODE
|
||||
USER_DEFINED_TYPE_NAME
|
||||
USER_DEFINED_TYPE_SCHEMA
|
||||
USING
|
||||
UTC_DATE
|
||||
UTC_TIME
|
||||
UTC_TIMESTAMP
|
||||
VACUUM
|
||||
VALID
|
||||
VALIDATE
|
||||
VALIDATOR
|
||||
VALUE
|
||||
VALUES
|
||||
VAR_POP
|
||||
VAR_SAMP
|
||||
VARBINARY
|
||||
VARCHAR
|
||||
VARCHAR2
|
||||
VARCHARACTER
|
||||
VARIABLE
|
||||
VARIABLES
|
||||
VARYING
|
||||
VERBOSE
|
||||
VIEW
|
||||
VOLATILE
|
||||
WAITFOR
|
||||
WHEN
|
||||
WHENEVER
|
||||
WHERE
|
||||
WHILE
|
||||
WIDTH_BUCKET
|
||||
WINDOW
|
||||
WITH
|
||||
WITHIN
|
||||
WITHOUT
|
||||
WORK
|
||||
WRITE
|
||||
WRITETEXT
|
||||
X509
|
||||
XOR
|
||||
YEAR
|
||||
YEAR_MONTH
|
||||
ZEROFILL
|
||||
ZONE
|
Loading…
Reference in New Issue