Package org.sqlite.core

## Class CoreDatabaseMetaData

- java.lang.Object
- - org.sqlite.core.CoreDatabaseMetaData

All Implemented Interfaces:
  `DatabaseMetaData`, `Wrapper`

Direct Known Subclasses:
  `JDBC3DatabaseMetaData`

    public abstract class CoreDatabaseMetaData
    extends Object
    implements DatabaseMetaData

### Field Summary

Fields
`protected SQLiteConnection` `conn`
`protected PreparedStatement` `getAttributes`
`protected PreparedStatement` `getBestRowIdentifier`
`protected PreparedStatement` `getCatalogs`
`protected PreparedStatement` `getColumnPrivileges`
`protected PreparedStatement` `getColumnsTblName`
`protected PreparedStatement` `getIndexInfo`
`protected PreparedStatement` `getProcedureColumns`
`protected PreparedStatement` `getProcedures`
`protected PreparedStatement` `getSchemas`
`protected PreparedStatement` `getSuperTables`
`protected PreparedStatement` `getSuperTypes`
`protected PreparedStatement` `getTablePrivileges`
`protected PreparedStatement` `getTables`
`protected PreparedStatement` `getTableTypes`
`protected PreparedStatement` `getTypeInfo`
`protected PreparedStatement` `getUDTs`
`protected PreparedStatement` `getVersionColumns`
`protected static Pattern` `PK_NAMED_PATTERN` Pattern used to extract a named primary key.
`protected static Pattern` `PK_UNNAMED_PATTERN` Pattern used to extract column order for an unnamed primary key.

### Fields inherited from interface java.sql.DatabaseMetaData

`attributeNoNulls, attributeNullable, attributeNullableUnknown, bestRowNotPseudo, bestRowPseudo, bestRowSession, bestRowTemporary, bestRowTransaction, bestRowUnknown, columnNoNulls, columnNullable, columnNullableUnknown, functionColumnIn, functionColumnInOut, functionColumnOut, functionColumnResult, functionColumnUnknown, functionNoNulls, functionNoTable, functionNullable, functionNullableUnknown, functionResultUnknown, functionReturn, functionReturnsTable, importedKeyCascade, importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, importedKeyNoAction, importedKeyNotDeferrable, importedKeyRestrict, importedKeySetDefault, importedKeySetNull, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnResult, procedureColumnReturn, procedureColumnUnknown, procedureNoNulls, procedureNoResult, procedureNullable, procedureNullableUnknown, procedureResultUnknown, procedureReturnsResult, sqlStateSQL, sqlStateSQL99, sqlStateXOpen, tableIndexClustered, tableIndexHashed, tableIndexOther, tableIndexStatistic, typeNoNulls, typeNullable, typeNullableUnknown, typePredBasic, typePredChar, typePredNone, typeSearchable, versionColumnNotPseudo, versionColumnPseudo, versionColumnUnknown`

### Constructor Summary

Constructors
`protected` `CoreDatabaseMetaData​(SQLiteConnection conn)` Constructor that applies the Connection object.

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
`protected void` `checkOpen()`
`void` `close()`
`protected String` `escape​(String val)` Applies SQL escapes for special characters in a given string.
`protected void` `finalize()`
`abstract ResultSet` `getGeneratedKeys()` Deprecated. Not exactly sure what this function does, as it is not implementing any interface, and is not used anywhere in the code.
`protected static String` `quote​(String tableName)` Adds SQL string quotes to the given string.

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.sql.DatabaseMetaData

`allProceduresAreCallable, allTablesAreSelectable, autoCommitFailureClosesAllResultSets, dataDefinitionCausesTransactionCommit, dataDefinitionIgnoredInTransactions, deletesAreDetected, doesMaxRowSizeIncludeBlobs, generatedKeyAlwaysReturned, getAttributes, getBestRowIdentifier, getCatalogs, getCatalogSeparator, getCatalogTerm, getClientInfoProperties, getColumnPrivileges, getColumns, getConnection, getCrossReference, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDefaultTransactionIsolation, getDriverMajorVersion, getDriverMinorVersion, getDriverName, getDriverVersion, getExportedKeys, getExtraNameCharacters, getFunctionColumns, getFunctions, getIdentifierQuoteString, getImportedKeys, getIndexInfo, getJDBCMajorVersion, getJDBCMinorVersion, getMaxBinaryLiteralLength, getMaxCatalogNameLength, getMaxCharLiteralLength, getMaxColumnNameLength, getMaxColumnsInGroupBy, getMaxColumnsInIndex, getMaxColumnsInOrderBy, getMaxColumnsInSelect, getMaxColumnsInTable, getMaxConnections, getMaxCursorNameLength, getMaxIndexLength, getMaxLogicalLobSize, getMaxProcedureNameLength, getMaxRowSize, getMaxSchemaNameLength, getMaxStatementLength, getMaxStatements, getMaxTableNameLength, getMaxTablesInSelect, getMaxUserNameLength, getNumericFunctions, getPrimaryKeys, getProcedureColumns, getProcedures, getProcedureTerm, getPseudoColumns, getResultSetHoldability, getRowIdLifetime, getSchemas, getSchemas, getSchemaTerm, getSearchStringEscape, getSQLKeywords, getSQLStateType, getStringFunctions, getSuperTables, getSuperTypes, getSystemFunctions, getTablePrivileges, getTables, getTableTypes, getTimeDateFunctions, getTypeInfo, getUDTs, getURL, getUserName, getVersionColumns, insertsAreDetected, isCatalogAtStart, isReadOnly, locatorsUpdateCopy, nullPlusNonNullIsNull, nullsAreSortedAtEnd, nullsAreSortedAtStart, nullsAreSortedHigh, nullsAreSortedLow, othersDeletesAreVisible, othersInsertsAreVisible, othersUpdatesAreVisible, ownDeletesAreVisible, ownInsertsAreVisible, ownUpdatesAreVisible, storesLowerCaseIdentifiers, storesLowerCaseQuotedIdentifiers, storesMixedCaseIdentifiers, storesMixedCaseQuotedIdentifiers, storesUpperCaseIdentifiers, storesUpperCaseQuotedIdentifiers, supportsAlterTableWithAddColumn, supportsAlterTableWithDropColumn, supportsANSI92EntryLevelSQL, supportsANSI92FullSQL, supportsANSI92IntermediateSQL, supportsBatchUpdates, supportsCatalogsInDataManipulation, supportsCatalogsInIndexDefinitions, supportsCatalogsInPrivilegeDefinitions, supportsCatalogsInProcedureCalls, supportsCatalogsInTableDefinitions, supportsColumnAliasing, supportsConvert, supportsConvert, supportsCoreSQLGrammar, supportsCorrelatedSubqueries, supportsDataDefinitionAndDataManipulationTransactions, supportsDataManipulationTransactionsOnly, supportsDifferentTableCorrelationNames, supportsExpressionsInOrderBy, supportsExtendedSQLGrammar, supportsFullOuterJoins, supportsGetGeneratedKeys, supportsGroupBy, supportsGroupByBeyondSelect, supportsGroupByUnrelated, supportsIntegrityEnhancementFacility, supportsLikeEscapeClause, supportsLimitedOuterJoins, supportsMinimumSQLGrammar, supportsMixedCaseIdentifiers, supportsMixedCaseQuotedIdentifiers, supportsMultipleOpenResults, supportsMultipleResultSets, supportsMultipleTransactions, supportsNamedParameters, supportsNonNullableColumns, supportsOpenCursorsAcrossCommit, supportsOpenCursorsAcrossRollback, supportsOpenStatementsAcrossCommit, supportsOpenStatementsAcrossRollback, supportsOrderByUnrelated, supportsOuterJoins, supportsPositionedDelete, supportsPositionedUpdate, supportsRefCursors, supportsResultSetConcurrency, supportsResultSetHoldability, supportsResultSetType, supportsSavepoints, supportsSchemasInDataManipulation, supportsSchemasInIndexDefinitions, supportsSchemasInPrivilegeDefinitions, supportsSchemasInProcedureCalls, supportsSchemasInTableDefinitions, supportsSelectForUpdate, supportsSharding, supportsStatementPooling, supportsStoredFunctionsUsingCallSyntax, supportsStoredProcedures, supportsSubqueriesInComparisons, supportsSubqueriesInExists, supportsSubqueriesInIns, supportsSubqueriesInQuantifieds, supportsTableCorrelationNames, supportsTransactionIsolationLevel, supportsTransactions, supportsUnion, supportsUnionAll, updatesAreDetected, usesLocalFilePerTable, usesLocalFiles`

### Methods inherited from interface java.sql.Wrapper

`isWrapperFor, unwrap`

### Field Detail

#### conn

    protected SQLiteConnection conn

#### getTables

    protected PreparedStatement getTables

#### getTableTypes

    protected PreparedStatement getTableTypes

#### getTypeInfo

    protected PreparedStatement getTypeInfo

#### getCatalogs

    protected PreparedStatement getCatalogs

#### getSchemas

    protected PreparedStatement getSchemas

#### getUDTs

    protected PreparedStatement getUDTs

#### getColumnsTblName

    protected PreparedStatement getColumnsTblName

#### getSuperTypes

    protected PreparedStatement getSuperTypes

#### getSuperTables

    protected PreparedStatement getSuperTables

#### getTablePrivileges

    protected PreparedStatement getTablePrivileges

#### getIndexInfo

    protected PreparedStatement getIndexInfo

#### getProcedures

    protected PreparedStatement getProcedures

#### getProcedureColumns

    protected PreparedStatement getProcedureColumns

#### getAttributes

    protected PreparedStatement getAttributes

#### getBestRowIdentifier

    protected PreparedStatement getBestRowIdentifier

#### getVersionColumns

    protected PreparedStatement getVersionColumns

#### getColumnPrivileges

    protected PreparedStatement getColumnPrivileges

#### PK_UNNAMED_PATTERN

    protected static final Pattern PK_UNNAMED_PATTERN

Pattern used to extract column order for an unnamed primary key.

#### PK_NAMED_PATTERN

    protected static final Pattern PK_NAMED_PATTERN

Pattern used to extract a named primary key.

### Constructor Detail

#### CoreDatabaseMetaData

    protected CoreDatabaseMetaData​(SQLiteConnection conn)

Constructor that applies the Connection object.

Parameters:
  `conn` - Connection object.

### Method Detail

#### getGeneratedKeys

    @Deprecated
    public abstract ResultSet getGeneratedKeys()
                                        throws SQLException

Deprecated.
Not exactly sure what this function does, as it is not implementing any interface, and is not used anywhere in the code. Deprecated since 3.43.0.0.

Throws:
  `SQLException`

#### checkOpen

    protected void checkOpen()
                      throws SQLException

Throws:
  `SQLException`

#### close

    public void close()
               throws SQLException

Throws:
  `SQLException`

#### quote

    protected static String quote​(String tableName)

Adds SQL string quotes to the given string.

Parameters:
  `tableName` - The string to quote.
Returns:
  The quoted string.

#### escape

    protected String escape​(String val)

Applies SQL escapes for special characters in a given string.

Parameters:
  `val` - The string to escape.
Returns:
  The SQL escaped string.

#### finalize

    protected void finalize()
                     throws Throwable

Overrides:
  `finalize` in class `Object`
Throws:
  `Throwable`
See Also:
  `Object.finalize()`