package org.sqlite.jdbc3;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.sql.Statement;
import java.sql.Struct;
import java.sql.Types;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import org.sqlite.SQLiteConnection;
import org.sqlite.core.CoreStatement;
import org.sqlite.jdbc3.JDBC3DatabaseMetaData.ImportedKeyFinder.ForeignKey;
import org.sqlite.util.QueryUtils;
import org.sqlite.util.StringUtils;
public abstract class JDBC3DatabaseMetaData extends org.sqlite.core.CoreDatabaseMetaData {
private static String driverName;
private static String driverVersion;
static {
try (InputStream sqliteJdbcPropStream =
JDBC3DatabaseMetaData.class
.getClassLoader()
.getResourceAsStream("sqlite-jdbc.properties")) {
if (sqliteJdbcPropStream == null) {
throw new IOException("Cannot load sqlite-jdbc.properties from jar");
}
final Properties sqliteJdbcProp = new Properties();
sqliteJdbcProp.load(sqliteJdbcPropStream);
driverName = sqliteJdbcProp.getProperty("name");
driverVersion = sqliteJdbcProp.getProperty("version");
} catch (Exception e) {
// Default values
driverName = "SQLite JDBC";
driverVersion = "3.0.0-UNKNOWN";
}
}
protected JDBC3DatabaseMetaData(SQLiteConnection conn) {
super(conn);
}
/** @see java.sql.DatabaseMetaData#getConnection() */
public Connection getConnection() {
return conn;
}
/** @see java.sql.DatabaseMetaData#getDatabaseMajorVersion() */
public int getDatabaseMajorVersion() throws SQLException {
return Integer.parseInt(conn.libversion().split("\\.")[0]);
}
/** @see java.sql.DatabaseMetaData#getDatabaseMinorVersion() */
public int getDatabaseMinorVersion() throws SQLException {
return Integer.parseInt(conn.libversion().split("\\.")[1]);
}
/** @see java.sql.DatabaseMetaData#getDriverMajorVersion() */
public int getDriverMajorVersion() {
return Integer.parseInt(driverVersion.split("\\.")[0]);
}
/** @see java.sql.DatabaseMetaData#getDriverMinorVersion() */
public int getDriverMinorVersion() {
return Integer.parseInt(driverVersion.split("\\.")[1]);
}
/** @see java.sql.DatabaseMetaData#getJDBCMajorVersion() */
public int getJDBCMajorVersion() {
return 4;
}
/** @see java.sql.DatabaseMetaData#getJDBCMinorVersion() */
public int getJDBCMinorVersion() {
return 2;
}
/** @see java.sql.DatabaseMetaData#getDefaultTransactionIsolation() */
public int getDefaultTransactionIsolation() {
return Connection.TRANSACTION_SERIALIZABLE;
}
/** @see java.sql.DatabaseMetaData#getMaxBinaryLiteralLength() */
public int getMaxBinaryLiteralLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxCatalogNameLength() */
public int getMaxCatalogNameLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxCharLiteralLength() */
public int getMaxCharLiteralLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxColumnNameLength() */
public int getMaxColumnNameLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxColumnsInGroupBy() */
public int getMaxColumnsInGroupBy() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxColumnsInIndex() */
public int getMaxColumnsInIndex() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxColumnsInOrderBy() */
public int getMaxColumnsInOrderBy() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxColumnsInSelect() */
public int getMaxColumnsInSelect() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxColumnsInTable() */
public int getMaxColumnsInTable() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxConnections() */
public int getMaxConnections() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxCursorNameLength() */
public int getMaxCursorNameLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxIndexLength() */
public int getMaxIndexLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxProcedureNameLength() */
public int getMaxProcedureNameLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxRowSize() */
public int getMaxRowSize() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxSchemaNameLength() */
public int getMaxSchemaNameLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxStatementLength() */
public int getMaxStatementLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxStatements() */
public int getMaxStatements() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxTableNameLength() */
public int getMaxTableNameLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxTablesInSelect() */
public int getMaxTablesInSelect() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getMaxUserNameLength() */
public int getMaxUserNameLength() {
return 0;
}
/** @see java.sql.DatabaseMetaData#getResultSetHoldability() */
public int getResultSetHoldability() {
return ResultSet.CLOSE_CURSORS_AT_COMMIT;
}
/** @see java.sql.DatabaseMetaData#getSQLStateType() */
public int getSQLStateType() {
return DatabaseMetaData.sqlStateSQL99;
}
/** @see java.sql.DatabaseMetaData#getDatabaseProductName() */
public String getDatabaseProductName() {
return "SQLite";
}
/** @see java.sql.DatabaseMetaData#getDatabaseProductVersion() */
public String getDatabaseProductVersion() throws SQLException {
return conn.libversion();
}
/** @see java.sql.DatabaseMetaData#getDriverName() */
public String getDriverName() {
return driverName;
}
/** @see java.sql.DatabaseMetaData#getDriverVersion() */
public String getDriverVersion() {
return driverVersion;
}
/** @see java.sql.DatabaseMetaData#getExtraNameCharacters() */
public String getExtraNameCharacters() {
return "";
}
/** @see java.sql.DatabaseMetaData#getCatalogSeparator() */
public String getCatalogSeparator() {
return ".";
}
/** @see java.sql.DatabaseMetaData#getCatalogTerm() */
public String getCatalogTerm() {
return "catalog";
}
/** @see java.sql.DatabaseMetaData#getSchemaTerm() */
public String getSchemaTerm() {
return "schema";
}
/** @see java.sql.DatabaseMetaData#getProcedureTerm() */
public String getProcedureTerm() {
return "not_implemented";
}
/** @see java.sql.DatabaseMetaData#getSearchStringEscape() */
public String getSearchStringEscape() {
return "\\";
}
/** @see java.sql.DatabaseMetaData#getIdentifierQuoteString() */
public String getIdentifierQuoteString() {
return "\"";
}
/**
* @see java.sql.DatabaseMetaData#getSQLKeywords()
* @see <a href="https://www.sqlite.org/lang_keywords.html">SQLite Keywords</a>
*/
public String getSQLKeywords() {
return "ABORT,ACTION,AFTER,ANALYZE,ATTACH,AUTOINCREMENT,BEFORE,"
+ "CASCADE
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
SQLite JDBC是一个用于在Java中访问和创建SQLite数据库文件的库。我们的SQLiteJDBC库不需要配置,因为主要操作系统的本机库,包括Windows,Mac OS X,Linux等,被组装成一个JAR(Java Archive)文件。用法非常简单;下载我们的 sqlite-jdbc 库,然后将该库(JAR 文件)附加到您的类路径中。SQLite JDBC 是一个通过 JDBC API 访问 SQLite 数据库的库。SQLite 支持内存数据库管理,它不会创建任何数据库文件。要在 Java 代码中使用内存数据库,请获取数据库连接。sqlite-jdbc 将操作系统的本机库提取到 java.io.tmpdir JVM 属性指定的目录中。要使用其他目录,请将 org.sqlite.tmpdir JVM 属性设置为您喜欢的路径。
资源推荐
资源详情
资源评论
收起资源包目录
SQLite JDBC 驱动程序在Java中访问和创建SQLite数据库文件的库完整项目源代码.zip (191个子文件)
README.adoc 9KB
Dockerfile.alpine-linux_x86 129B
Dockerfile.alpine-linux_x86_64 124B
NativeDB.c 54KB
extension-functions.c 51KB
CHANGELOG 6KB
Makefile.common 11KB
sample.db 10KB
attach_test.db 10KB
sqlitejdbc.dll 1MB
sqlitejdbc.dll 926KB
sqlitejdbc.dll 866KB
sqlitejdbc.dll 755KB
dockcross-android-arm 7KB
dockcross-android-arm64 7KB
dockcross-android-x86 7KB
dockcross-android-x86_64 7KB
dockcross-arm64-lts 7KB
dockcross-armv5 7KB
dockcross-armv6-lts 7KB
dockcross-armv7a-lts 7KB
dockcross-musl-arm64 7KB
dockcross-ppc64 7KB
dockcross-windows-arm64 7KB
dockcross-windows-armv7 7KB
dockcross-windows-x64 7KB
dockcross-windows-x86 7KB
java.sql.Driver 15B
libsqlitejdbc.dylib 1.15MB
libsqlitejdbc.dylib 1016KB
.gitignore 210B
regex3.8a.tar.gz 47KB
jni.h 73KB
jni.h 67KB
jni.h 66KB
jni_md.h 507B
jni_md.h 491B
jni_md.h 437B
.hgignore 158B
applet-demo.html 179B
AppletDemo.jar 978KB
jdbc-api-1.4.jar 24KB
testdb.jar 2KB
JDBC3DatabaseMetaData.java 87KB
DBMetaDataTest.java 80KB
DB.java 48KB
SQLiteConfig.java 47KB
FastDatePrinter.java 41KB
FastDateParser.java 34KB
JDBC3ResultSet.java 32KB
PrepStmtTest.java 32KB
JDBC4ResultSet.java 25KB
JSON1Test.java 25KB
StatementTest.java 23KB
FastDateFormat.java 21KB
SQLiteConnection.java 20KB
NativeDB.java 19KB
SQLiteDataSource.java 19KB
UDFTest.java 18KB
JDBC3PreparedStatement.java 18KB
ResultSetTest.java 16KB
JDBC3Statement.java 16KB
SQLiteJDBCLoader.java 15KB
ConnectionTest.java 14KB
SQLitePooledConnection.java 14KB
QueryTest.java 14KB
TransactionTest.java 13KB
DateFormatUtils.java 12KB
JDBCTest.java 12KB
MathFunctionsTest.java 12KB
JDBC3Connection.java 12KB
Function.java 11KB
SQLiteErrorCode.java 11KB
ListenerTest.java 11KB
FormatCache.java 11KB
RSMetaDataTest.java 10KB
BusyHandlerTest.java 10KB
OSInfo.java 9KB
CollationTest.java 8KB
OSInfoTest.java 7KB
SqliteJdbcFeature.java 7KB
CoreDatabaseMetaData.java 6KB
MultipleClassLoaderTest.java 6KB
SavepointTest.java 6KB
InsertQueryTest.java 6KB
SafeStmtPtr.java 6KB
ExtendedCommand.java 5KB
SQLiteJDBCLoaderTest.java 5KB
BackupTest.java 5KB
CoreStatement.java 5KB
SQLiteConnectionConfig.java 5KB
CoreResultSet.java 5KB
ErrorMessageTest.java 5KB
CorePreparedStatement.java 4KB
ProgressHandlerTest.java 4KB
JDBC4PreparedStatement.java 4KB
ExceptionUtils.java 4KB
PreparedStatementThreadTest.java 4KB
DatePrinter.java 4KB
DateParser.java 4KB
共 191 条
- 1
- 2
资源评论
小兔子平安
- 粉丝: 254
- 资源: 1940
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功