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 cd33f9e1c2c44c0efe263dd4d40d533fb3717aad..c39faff8a17020f5485adf12e4de64636ae924ef 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; + } + }