mirror of
https://github.com/dbeaver/dbeaver.git
synced 2025-11-05 13:17:47 +08:00
* #18964 SQLite addnig STRICT typing support * Use of treeInjection * tabs repace... * ShadelessFox suggestions * SQL Metadata query reformated * adding driver version check * check class of objects before cast --------- Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com> Co-authored-by: Serge Rider <serge@jkiss.org> Co-authored-by: MashaKorax <84867187+MashaKorax@users.noreply.github.com>
150 lines
7.5 KiB
XML
150 lines
7.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<?eclipse version="3.2"?>
|
|
|
|
<plugin>
|
|
|
|
<extension point="org.jkiss.dbeaver.generic.meta">
|
|
<meta id="sqlite" class="org.jkiss.dbeaver.ext.sqlite.model.SQLiteMetaModel"
|
|
driverClass="org.sqlite.JDBC,com.dbeaver.jdbc.driver.libsql.LibSqlDriver" dialect="sqlite"/>
|
|
</extension>
|
|
|
|
<extension point="org.jkiss.dbeaver.dataSourceProvider">
|
|
<datasource
|
|
class="org.jkiss.dbeaver.ext.sqlite.model.SQLiteDataSourceProvider"
|
|
description="SQLite"
|
|
id="sqlite"
|
|
parent="generic"
|
|
label="SQLite"
|
|
icon="icons/sqlite_icon.png"
|
|
dialect="sqlite">
|
|
|
|
<treeInjection path="generic/catalog/schema/table"
|
|
changeFolderType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteTable"/>
|
|
<treeInjection path="generic/catalog/schema/table/attribute"
|
|
changeFolderType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteTableColumn"/>
|
|
<treeInjection path="generic/catalog/schema/table/association"
|
|
changeFolderType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteTableForeignKey"/>
|
|
<treeInjection path="generic/catalog/schema/view"
|
|
changeFolderType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteView"/>
|
|
<treeInjection path="generic/catalog/schema/view/attribute"
|
|
changeFolderType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteTableColumn"/>
|
|
|
|
<drivers managable="true">
|
|
<driver
|
|
id="sqlite_jdbc"
|
|
label="SQLite"
|
|
icon="icons/sqlite_icon.png"
|
|
iconBig="icons/sqlite_icon_big.png"
|
|
class="org.sqlite.JDBC"
|
|
sampleURL="jdbc:sqlite:{file}"
|
|
supportedConfigurationTypes="MANUAL,URL"
|
|
defaultPort=""
|
|
webURL="https://github.com/xerial/sqlite-jdbc"
|
|
propertiesURL="https://www.sqlite.org/pragma.html"
|
|
databaseDocumentationSuffixURL="Database-driver-SQLite"
|
|
embedded="true"
|
|
anonymous="true"
|
|
description="SQLite JDBC driver"
|
|
promoted="1"
|
|
categories="sql,embedded">
|
|
<replace provider="generic" driver="sqlite_zentus"/>
|
|
<replace provider="generic" driver="sqlite_xerial"/>
|
|
<replace provider="generic" driver="sqlite_ch_werner"/>
|
|
<replace provider="generic" driver="sqlite_jdbc"/>
|
|
|
|
<file type="jar" path="maven:/org.xerial:sqlite-jdbc:RELEASE" bundle="!drivers.sqlite.xerial"/>
|
|
<file type="license" path="licenses/external/asl-2.0.txt"/>
|
|
<file type="jar" path="drivers/sqlite/xerial" bundle="drivers.sqlite.xerial"/>
|
|
|
|
<parameter name="supports-references" value="true"/>
|
|
<parameter name="supports-struct-cache" value="false"/>
|
|
<parameter name="supports-indexes" value="true"/>
|
|
<parameter name="supports-stored-code" value="false"/>
|
|
<parameter name="supports-truncate" value="false"/>
|
|
</driver>
|
|
|
|
<!-- LibSQL / Turso-->
|
|
<driver
|
|
id="libsql_jdbc"
|
|
label="LibSQL"
|
|
class="com.dbeaver.jdbc.driver.libsql.LibSqlDriver"
|
|
icon="icons/libsql_icon.png"
|
|
iconBig="icons/libsql_icon_big.png"
|
|
sampleURL="jdbc:dbeaver:libsql:{server}"
|
|
defaultDatabase="http://localhost"
|
|
description="LibSQL DBeaver JDBC driver. Works with standalone LibSQL server and with Turso."
|
|
webURL="https://github.com/tursodatabase/libsql"
|
|
databaseDocumentationSuffixURL="Database-driver-LibSQL"
|
|
singleConnection="true"
|
|
supportedConfigurationTypes="MANUAL,URL"
|
|
supportedPageFields="server"
|
|
categories="sql">
|
|
<parameter name="supports-references" value="true"/>
|
|
<parameter name="supports-struct-cache" value="true"/>
|
|
<parameter name="supports-indexes" value="true"/>
|
|
<parameter name="supports-stored-code" value="false"/>
|
|
<parameter name="supports-truncate" value="false"/>
|
|
<parameter name="term-server" value="%props.term.server.name"/>
|
|
|
|
</driver>
|
|
<main-properties drivers="libsql_jdbc">
|
|
<propertyGroup label="Settings">
|
|
<property id="server" label="Server" type="string"/>
|
|
</propertyGroup>
|
|
</main-properties>
|
|
|
|
</drivers>
|
|
</datasource>
|
|
</extension>
|
|
|
|
<extension point="org.jkiss.dbeaver.objectManager">
|
|
<manager class="org.jkiss.dbeaver.ext.sqlite.edit.SQLiteTableManager"
|
|
objectType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteTable"/>
|
|
<manager class="org.jkiss.dbeaver.ext.sqlite.edit.SQLiteTableColumnManager"
|
|
objectType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteTableColumn"/>
|
|
<manager class="org.jkiss.dbeaver.ext.sqlite.edit.SQLiteTableForeignKeyManager"
|
|
objectType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteTableForeignKey"/>
|
|
<manager class="org.jkiss.dbeaver.ext.sqlite.edit.SQLiteViewManager"
|
|
objectType="org.jkiss.dbeaver.ext.sqlite.model.SQLiteView"/>
|
|
</extension>
|
|
|
|
<extension point="org.jkiss.dbeaver.dataTypeProvider">
|
|
<provider
|
|
class="org.jkiss.dbeaver.ext.sqlite.model.data.SQLiteValueHandlerProvider"
|
|
description="SQLite data types provider"
|
|
id="SQLiteValueHandlerProvider"
|
|
parent="GenericValueHandlerProvider"
|
|
label="SQLite data types provider">
|
|
|
|
<datasource id="sqlite"/>
|
|
<type name="*"/>
|
|
</provider>
|
|
</extension>
|
|
|
|
<extension point="org.jkiss.dbeaver.sqlInsertMethod">
|
|
<method id="sqLiteInsertIgnore" class="org.jkiss.dbeaver.ext.sqlite.model.SQLiteInsertReplaceMethodIgnore"
|
|
label="INSERT OR IGNORE" description="Insert ignore duplicate key value"/>
|
|
<method id="sqLiteReplaceIgnore" class="org.jkiss.dbeaver.ext.sqlite.model.SQLiteInsertReplaceMethod"
|
|
label="INSERT OR REPLACE" description="Insert replace duplicate key value"/>
|
|
</extension>
|
|
|
|
<extension point="org.jkiss.dbeaver.sqlDialect">
|
|
<dialect id="sqlite" parent="generic" class="org.jkiss.dbeaver.ext.sqlite.model.SQLiteSQLDialect" label="SQLite"
|
|
description="SQLite dialect." icon="icons/sqlite_icon.png">
|
|
<property name="insertMethods" value="sqLiteInsertIgnore,sqLiteReplaceIgnore"/>
|
|
</dialect>
|
|
</extension>
|
|
|
|
<extension point="org.jkiss.dbeaver.dataSourceAuth">
|
|
<authModel
|
|
id="libsql_token_jdbc"
|
|
label="LibSQL Authentication"
|
|
description="LibSQL token based authentication"
|
|
class="org.jkiss.dbeaver.ext.sqlite.auth.LibSQLAuthModelToken"
|
|
default="true">
|
|
<datasource driver="libsql_jdbc"/>
|
|
<replace model="native"/>
|
|
</authModel>
|
|
</extension>
|
|
</plugin>
|