From f4878f9eb4d6199127a383c5ef62bdabb75ea186 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Sun, 29 Apr 2018 01:07:24 +0300 Subject: [PATCH] #3237 SQLite: read-only connection support --- .../ext/sqlite/model/SQLiteDataSource.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.ext.sqlite/src/org/jkiss/dbeaver/ext/sqlite/model/SQLiteDataSource.java b/plugins/org.jkiss.dbeaver.ext.sqlite/src/org/jkiss/dbeaver/ext/sqlite/model/SQLiteDataSource.java index cd33f9e1c2..c39faff8a1 100644 --- a/plugins/org.jkiss.dbeaver.ext.sqlite/src/org/jkiss/dbeaver/ext/sqlite/model/SQLiteDataSource.java +++ b/plugins/org.jkiss.dbeaver.ext.sqlite/src/org/jkiss/dbeaver/ext/sqlite/model/SQLiteDataSource.java @@ -16,17 +16,18 @@ */ package org.jkiss.dbeaver.ext.sqlite.model; -import org.jkiss.code.NotNull; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.ext.generic.model.GenericDataSource; import org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel; import org.jkiss.dbeaver.model.DBPDataSourceContainer; -import org.jkiss.dbeaver.model.exec.jdbc.JDBCDatabaseMetaData; +import org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration; +import org.jkiss.dbeaver.model.exec.DBCException; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; -import org.jkiss.dbeaver.model.sql.SQLDialect; import org.jkiss.dbeaver.model.struct.DBSDataType; +import java.util.HashMap; import java.util.Locale; +import java.util.Map; public class SQLiteDataSource extends GenericDataSource { @@ -55,4 +56,19 @@ public class SQLiteDataSource extends GenericDataSource { return super.getLocalDataType(affinity.name()); } + @Override + protected boolean isConnectionReadOnlyBroken() { + return true; + } + + @Override + protected Map getInternalConnectionProperties(DBRProgressMonitor monitor, String purpose, DBPConnectionConfiguration connectionInfo) throws DBCException { + Map connectionsProps = new HashMap<>(); + if (getContainer().isConnectionReadOnly()) { + // Read-only prop + connectionsProps.put("open_mode", "1"); //1 == readonly + } + return connectionsProps; + } + } -- GitLab