提交 1f27f442 编写于 作者: J jurgen

SQL manipulations api

Former-commit-id: 27188b98
上级 ea872559
......@@ -22,10 +22,14 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPIdentifierCase;
import org.jkiss.dbeaver.model.DBPKeywordType;
import org.jkiss.dbeaver.model.data.DBDDataFilter;
import org.jkiss.dbeaver.model.sql.SQLDialect;
import org.jkiss.dbeaver.model.sql.SQLStateType;
import org.jkiss.dbeaver.model.sql.parser.SQLSemanticProcessor;
import org.jkiss.dbeaver.ui.editors.sql.SQLConstants;
import org.jkiss.utils.Pair;
......@@ -246,6 +250,11 @@ public class BasicSQLDialect implements SQLDialect {
return MultiValueInsertMode.NOT_SUPPORTED;
}
@Override
public String addFiltersToQuery(DBPDataSource dataSource, String query, DBDDataFilter filter) throws DBException {
return SQLSemanticProcessor.addFiltersToQuery(dataSource, query, filter);
}
@Override
public boolean supportsSubqueries()
{
......
......@@ -20,9 +20,12 @@ package org.jkiss.dbeaver.model.sql;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.ext.ICommentsSupport;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPIdentifierCase;
import org.jkiss.dbeaver.model.DBPKeywordType;
import org.jkiss.dbeaver.model.data.DBDDataFilter;
import java.util.Collection;
import java.util.List;
......@@ -196,4 +199,6 @@ public interface SQLDialect extends ICommentsSupport {
@NotNull
MultiValueInsertMode getMultiValueInsertMode();
String addFiltersToQuery(DBPDataSource dataSource, String query, DBDDataFilter filter) throws DBException;
}
......@@ -25,7 +25,6 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.IWorkbenchPartSite;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPDataKind;
......@@ -38,7 +37,6 @@ import org.jkiss.dbeaver.model.impl.local.LocalResultSet;
import org.jkiss.dbeaver.model.qm.QMUtils;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.sql.SQLDataSource;
import org.jkiss.dbeaver.model.sql.parser.SQLSemanticProcessor;
import org.jkiss.dbeaver.runtime.RunnableWithResult;
import org.jkiss.dbeaver.runtime.exec.ExecutionQueueErrorJob;
import org.jkiss.dbeaver.runtime.jobs.DataSourceJob;
......@@ -278,8 +276,8 @@ public class SQLQueryJob extends DataSourceJob
//}
try {
if (dataFilter != null && dataFilter.hasFilters()) {
sqlQuery = SQLSemanticProcessor.addFiltersToQuery(dataSource, sqlQuery, dataFilter);
if (dataFilter != null && dataFilter.hasFilters() && dataSource instanceof SQLDataSource) {
sqlQuery = ((SQLDataSource) dataSource).getSQLDialect().addFiltersToQuery(dataSource, sqlQuery, dataFilter);
}
// Prepare statement
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册