when profile is disconnected, only close editors when connection is required, such as routine editor; filter out result/return parameters in results view
diff --git a/plugins/org.eclipse.datatools.sqltools.editor.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.sqltools.editor.core/META-INF/MANIFEST.MF
index 62b0510..1422ee4 100644
--- a/plugins/org.eclipse.datatools.sqltools.editor.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.datatools.sqltools.editor.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Eclipse Data Tools Platform SQL Editor Core Plug-in
Bundle-SymbolicName: org.eclipse.datatools.sqltools.editor.core;singleton:=true
-Bundle-Version: 1.0.0.200612141
+Bundle-Version: 1.0.0.200704051
Bundle-Activator: org.eclipse.datatools.sqltools.core.EditorCorePlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
@@ -41,6 +41,7 @@
org.eclipse.datatools.sqltools.internal.core;x-internal:=true,
org.eclipse.datatools.sqltools.launching,
org.eclipse.datatools.sqltools.sql.identifier,
+ org.eclipse.datatools.sqltools.sql.updater,
org.eclipse.datatools.sqltools.sql.util
Bundle-Vendor: Eclipse.org
Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.datatools.sqltools.editor.core/build.properties b/plugins/org.eclipse.datatools.sqltools.editor.core/build.properties
index 00ac483..d093fa6 100644
--- a/plugins/org.eclipse.datatools.sqltools.editor.core/build.properties
+++ b/plugins/org.eclipse.datatools.sqltools.editor.core/build.properties
@@ -9,7 +9,7 @@
about.html
src.dir = src/
-plugin.version = 1.0.0.200612141
+plugin.version = 1.0.0.200704051
javadoc.dir = doc/api/
download.dir = ./download/
javac.source = 1.4
diff --git a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/DatabaseVendorDefinitionId.java b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/DatabaseVendorDefinitionId.java
index 2e34ef5..0d2b1f8 100644
--- a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/DatabaseVendorDefinitionId.java
+++ b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/DatabaseVendorDefinitionId.java
@@ -13,7 +13,7 @@
import java.util.Comparator;
-import org.eclipse.jface.util.Assert;
+import org.eclipse.core.runtime.Assert;
/**
* A class to uniquely identify a database definition, represented by product name and version.
@@ -154,7 +154,11 @@
*/
public String toString()
{
- return _vendorName + "_" + _version;
+ if (_version != null && !_version.equals(""))
+ {
+ return _vendorName + "_" + _version;
+ }
+ return _vendorName;
}
/**
diff --git a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/SQLDevToolsConfiguration.java b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/SQLDevToolsConfiguration.java
index 9ab4383..21839ed 100644
--- a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/SQLDevToolsConfiguration.java
+++ b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/SQLDevToolsConfiguration.java
@@ -49,7 +49,7 @@
private static SQLDevToolsConfiguration _instance = new SQLDevToolsConfiguration();
protected SQLDevToolsConfiguration() {
- _dbdefinitionId = new DatabaseVendorDefinitionId(Messages.DefaultDBFactory_vendor, Messages.DefaultDBFactory_version);
+ _dbdefinitionId = new DatabaseVendorDefinitionId(Messages.DefaultDBFactory_vendor, "");
}
public static SQLDevToolsConfiguration getDefaultInstance() {
diff --git a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/SQLToolsFacade.java b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/SQLToolsFacade.java
index 4caeda5..40db9aa 100644
--- a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/SQLToolsFacade.java
+++ b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/SQLToolsFacade.java
@@ -213,12 +213,25 @@
}
return defaultConfiguration;
}
-
+
+ /**
+ * Returns the DatabaseVendorDefinitionId which contributes to the sql dev tools framework as a default configuration.
+ * @return
+ */
public static DatabaseVendorDefinitionId getDefaultDatabaseVendorDefinitionId()
{
return getDefaultConfiguration().getDatabaseVendorDefinitionId();
}
+ /**
+ * Returns the DatabaseVendorDefinitionId which is not bind to any database
+ * @return
+ */
+ public static DatabaseVendorDefinitionId getNonSpecificDatabaseVendorDefinitionId()
+ {
+ return SQLDevToolsConfiguration.getDefaultInstance().getDatabaseVendorDefinitionId();
+ }
+
public static DatabaseVendorDefinitionId recognize(String product, String version)
{
DatabaseVendorDefinitionId defaultId = getDefaultConfiguration().getDatabaseVendorDefinitionId();
diff --git a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/services/SQLService.java b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/services/SQLService.java
index 4692c0c..3034171 100644
--- a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/services/SQLService.java
+++ b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/services/SQLService.java
@@ -14,6 +14,8 @@
import java.util.ArrayList;
+import org.eclipse.datatools.connectivity.sqm.core.definition.DatabaseDefinition;
+import org.eclipse.datatools.modelbase.sql.schema.SQLObject;
import org.eclipse.datatools.sqltools.core.EditorCorePlugin;
import org.eclipse.datatools.sqltools.editor.template.GenericSQLContextType;
import org.eclipse.datatools.sqltools.internal.core.Messages;
@@ -27,6 +29,7 @@
import org.eclipse.datatools.sqltools.sql.parser.ast.IASTSQLStatementElement;
import org.eclipse.datatools.sqltools.sql.parser.ast.IASTStart;
import org.eclipse.datatools.sqltools.sql.parser.ast.Node;
+import org.eclipse.datatools.sqltools.sql.updater.ProceduralObjectSourceUpdater;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
import org.eclipse.osgi.util.NLS;
@@ -153,4 +156,13 @@
{
return null;
}
+
+ /**
+ * Returns the ProceduralObjectSourceUpdater object used to update the source of the given sql object
+ * @return
+ */
+ public ProceduralObjectSourceUpdater getProceduralObjectSourceUpdater(SQLObject object, DatabaseDefinition dbDefinition)
+ {
+ return null;
+ }
}
diff --git a/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/sql/updater/ProceduralObjectSourceUpdater.java b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/sql/updater/ProceduralObjectSourceUpdater.java
new file mode 100644
index 0000000..6d4f8ed
--- /dev/null
+++ b/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/sql/updater/ProceduralObjectSourceUpdater.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 Sybase, Inc. and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Sybase, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.sqltools.sql.updater;
+
+import org.eclipse.datatools.connectivity.sqm.core.definition.DatabaseDefinition;
+import org.eclipse.datatools.modelbase.sql.schema.SQLObject;
+import org.eclipse.datatools.sqltools.core.DatabaseVendorDefinitionId;
+import org.eclipse.datatools.sqltools.core.SQLDevToolsConfiguration;
+import org.eclipse.datatools.sqltools.core.SQLToolsFacade;
+import org.eclipse.datatools.sqltools.sql.parser.ParserParameters;
+import org.eclipse.datatools.sqltools.sql.parser.ParsingResult;
+import org.eclipse.datatools.sqltools.sql.parser.SQLParser;
+import org.eclipse.datatools.sqltools.sql.parser.Token;
+import org.eclipse.datatools.sqltools.sql.parser.ast.IASTDeployable;
+import org.eclipse.datatools.sqltools.sql.parser.ast.IASTStart;
+import org.eclipse.datatools.sqltools.sql.parser.ast.Node;
+
+/**
+ *
+ * @author Hui Cao
+ *
+ */
+public abstract class ProceduralObjectSourceUpdater
+{
+ protected DatabaseDefinition _dbDefinition;
+ protected DatabaseVendorDefinitionId _dbDefinitionId;
+ protected SQLParser _parser;
+ protected SQLObject _routine = null;
+ protected ParserParameters _parserParameters;
+
+ public ProceduralObjectSourceUpdater(SQLObject _object, DatabaseDefinition dbDefinition)
+ {
+ this._routine = _object;
+ _dbDefinition = dbDefinition;
+ _dbDefinitionId = new DatabaseVendorDefinitionId(_dbDefinition.getProduct(), _dbDefinition.getVersion());
+ SQLDevToolsConfiguration f = SQLToolsFacade.getConfigurationByVendorIdentifier(_dbDefinitionId);
+ _parser = f.getSQLService().getSQLParser();
+ _parserParameters = new ParserParameters(false);
+ _parserParameters.setProperty(ParserParameters.PARAM_HEADER_MODE, Boolean.TRUE);
+ }
+
+ /**
+ * Updates the source by giving it a new name
+ * @param newName should be quoted when necessary
+ * @return
+ */
+ public boolean updateName(String newName)
+ {
+ String body = getBody();
+ ParsingResult result = _parser.parse(body, _parserParameters);
+ IASTStart root = result.getRootNode();
+ for (int i = 0; i < root.jjtGetNumChildren(); i++)
+ {
+ Node node = root.jjtGetChild(i);
+ if (node instanceof IASTDeployable)
+ {
+ Node nameNode = ((IASTDeployable) node).getNameNode();
+ Token nameToken = nameNode.getLastToken();
+ int[] range = _parser.getRange(nameToken);
+ body = body.substring(0, range[0]) + newName + body.substring(range[1]);
+ setBody(body);
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public abstract String getBody();
+// {
+// if (_routine instanceof Routine)
+// {
+// return ((Routine)_routine).getSource().getBody();
+// }
+// else if (_routine instanceof Trigger)
+// {
+// SybaseDdlBuilderWrapper.getInstance().getTriggerBody((Trigger)_routine);
+// }
+// else if (_routine instanceof Event)
+// {
+//
+// }
+// return "";
+// }
+
+ public abstract void setBody(String body);
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.sqltools.routineeditor/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.sqltools.routineeditor/META-INF/MANIFEST.MF
index 791f94f..c383e5f 100644
--- a/plugins/org.eclipse.datatools.sqltools.routineeditor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.datatools.sqltools.routineeditor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Eclipse Data Tools Platform SQL Tools Routine Editor Plug-in
Bundle-SymbolicName: org.eclipse.datatools.sqltools.routineeditor;singleton:=true
-Bundle-Version: 1.0.0.200612141
+Bundle-Version: 1.0.0.200704051
Bundle-Activator: org.eclipse.datatools.sqltools.routineeditor.internal.RoutineEditorActivator
Bundle-Vendor: Eclipse.org
Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.datatools.sqltools.routineeditor/build.properties b/plugins/org.eclipse.datatools.sqltools.routineeditor/build.properties
index 5fdab74..967a317 100644
--- a/plugins/org.eclipse.datatools.sqltools.routineeditor/build.properties
+++ b/plugins/org.eclipse.datatools.sqltools.routineeditor/build.properties
@@ -8,7 +8,7 @@
schema/,\
icons/
src.dir = src/
-plugin.version = 1.0.0.200612141
+plugin.version = 1.0.0.200704051
javadoc.dir = doc/api/
download.dir = ./download/
javac.source = 1.4
diff --git a/plugins/org.eclipse.datatools.sqltools.routineeditor/src/org/eclipse/datatools/sqltools/routineeditor/result/CallableSQLResultRunnable.java b/plugins/org.eclipse.datatools.sqltools.routineeditor/src/org/eclipse/datatools/sqltools/routineeditor/result/CallableSQLResultRunnable.java
index ea38020..cc53db2 100644
--- a/plugins/org.eclipse.datatools.sqltools.routineeditor/src/org/eclipse/datatools/sqltools/routineeditor/result/CallableSQLResultRunnable.java
+++ b/plugins/org.eclipse.datatools.sqltools.routineeditor/src/org/eclipse/datatools/sqltools/routineeditor/result/CallableSQLResultRunnable.java
@@ -397,6 +397,11 @@
ArrayList params = new ArrayList();
for (int i = 0; i < pws.length; i++) {
ParameterDescriptor pd = pws[i].getParameterDescriptor();
+ //filter out result and return parameters
+ if (pd.getParmType() == DatabaseMetaData.procedureColumnResult || pd.getParmType() == DatabaseMetaData.procedureColumnReturn)
+ {
+ continue;
+ }
Parameter param = new Parameter(pd.getName(), pd.getParamTypeAsString(), pws[i].getInValue(), pd.getTypeName(), pws[i].getOutValue());
params.add(param);
}
diff --git a/plugins/org.eclipse.datatools.sqltools.sqleditor/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.sqltools.sqleditor/META-INF/MANIFEST.MF
index 52177e1..ee51267 100644
--- a/plugins/org.eclipse.datatools.sqltools.sqleditor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.datatools.sqltools.sqleditor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Eclipse Data Tools Platform SQL Editor
Bundle-SymbolicName: org.eclipse.datatools.sqltools.sqleditor; singleton:=true
-Bundle-Version: 1.0.0.200612141
+Bundle-Version: 1.0.0.200704051
Bundle-Activator: org.eclipse.datatools.sqltools.sqleditor.internal.SQLEditorPlugin
Bundle-Vendor: Eclipse.org
Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.datatools.sqltools.sqleditor/build.properties b/plugins/org.eclipse.datatools.sqltools.sqleditor/build.properties
index 289e61d..77f21e2 100644
--- a/plugins/org.eclipse.datatools.sqltools.sqleditor/build.properties
+++ b/plugins/org.eclipse.datatools.sqltools.sqleditor/build.properties
@@ -11,7 +11,7 @@
META-INF/
src.dir = src/
-plugin.version = 1.0.0.200612141
+plugin.version = 1.0.0.200704051
javadoc.dir = doc/api/
download.dir = ./download/
javac.source = 1.4
diff --git a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/ISQLEditorInput.java b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/ISQLEditorInput.java
index c4bbc00..a88364d 100644
--- a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/ISQLEditorInput.java
+++ b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/ISQLEditorInput.java
@@ -23,4 +23,6 @@
public ISQLEditorConnectionInfo getConnectionInfo();
+ public boolean isConnectionRequired();
+
}
diff --git a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/SQLEditorConnectionInfo.java b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/SQLEditorConnectionInfo.java
index bfc5bf7..84fe797 100644
--- a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/SQLEditorConnectionInfo.java
+++ b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/SQLEditorConnectionInfo.java
@@ -28,7 +28,7 @@
*/
public class SQLEditorConnectionInfo implements ISQLEditorConnectionInfo {
- public static ISQLEditorConnectionInfo DEFAULT_SQLEDITOR_CONNECTION_INFO = new SQLEditorConnectionInfo(SQLToolsFacade.getDefaultDatabaseVendorDefinitionId());
+ public static ISQLEditorConnectionInfo DEFAULT_SQLEDITOR_CONNECTION_INFO = new SQLEditorConnectionInfo(SQLToolsFacade.getNonSpecificDatabaseVendorDefinitionId());
private DatabaseVendorDefinitionId _dbVendorId = null;
private DatabaseVendorDefinition _dbVendor = null;
private String _profileName = null;
diff --git a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/SQLEditorStorageEditorInput.java b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/SQLEditorStorageEditorInput.java
index 8fe4d08..46125e9 100644
--- a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/SQLEditorStorageEditorInput.java
+++ b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/SQLEditorStorageEditorInput.java
@@ -190,4 +190,9 @@
fStorage = storage;
}
+ public boolean isConnectionRequired()
+ {
+ return false;
+ }
+
} // end class
diff --git a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/internal/editor/SQLUpdater.java b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/internal/editor/SQLUpdater.java
index d94fbfd..8dbf307 100644
--- a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/internal/editor/SQLUpdater.java
+++ b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/internal/editor/SQLUpdater.java
@@ -16,6 +16,7 @@
import java.util.Iterator;
import java.util.Map;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceRuleFactory;
@@ -75,7 +76,8 @@
private IResource _resource;
private String _portableTarget = "";
private ArrayList _staleAnnotations = new ArrayList();
- private ParsingResult _result;
+ private boolean _remembered = false;
+ private ParsingResult _result;
private boolean _needToParse = true;
/**
@@ -303,6 +305,7 @@
//since we will always refresh the task markers each time we parse the sql text, there's no
//need to persist them.
marker.setAttribute(IMarker.TRANSIENT, true);
+ marker.setAttribute(IMarker.SOURCE_ID, getMarkerSourceId());
Token errorToken = ex.currentToken.next;
int start = 0;
int end = 0;
@@ -362,10 +365,6 @@
_input = input;
_resource = input instanceof IFileEditorInput ? (IResource) ((IFileEditorInput) input).getFile()
: (IResource) ResourcesPlugin.getWorkspace().getRoot();
- if (_annotationModel != null)
- {
- removeMarkers();
- }
// the annotationModel is created in Editor.doSetInput(input) by the platform
_annotationModel = _editor.getDocumentProvider().getAnnotationModel(input);
}
@@ -402,6 +401,7 @@
}
}
}
+ _remembered = true;
}
}
@@ -424,6 +424,11 @@
*/
public void removeMarkers(boolean group)
{
+ //if the document is not changed but the editor already contains syntax errors
+ if (!_remembered)
+ {
+ rememberAnnotations();
+ }
if (group)
{
try
@@ -476,7 +481,41 @@
//after annotation is removed, it disappeared from the side bar
_annotationModel.removeAnnotation(anno);
}
+ _remembered = false;
}
+ try
+ {
+ if (_resource instanceof IFile)
+ {
+ _resource.deleteMarkers(EditorConstants.SYNTAX_MARKER_TYPE, false, IResource.DEPTH_ZERO);
+ _resource.deleteMarkers(EditorConstants.PORTABILITY_MARKER_TYPE, false, IResource.DEPTH_ZERO);
+ }
+ else
+ {
+ IMarker[] markers = _resource.findMarkers(EditorConstants.SYNTAX_MARKER_TYPE, false, IResource.DEPTH_ZERO);
+ String markerSourceId = getMarkerSourceId();
+ for (int i = 0; i < markers.length; i++)
+ {
+ if (markerSourceId.equals(markers[i].getAttribute(IMarker.SOURCE_ID)))
+ {
+ markers[i].delete();
+ }
+ }
+ markers = _resource.findMarkers(EditorConstants.PORTABILITY_MARKER_TYPE, false, IResource.DEPTH_ZERO);
+ for (int i = 0; i < markers.length; i++)
+ {
+ if (markerSourceId.equals(markers[i].getAttribute(IMarker.SOURCE_ID)))
+ {
+ markers[i].delete();
+ }
+ }
+ }
+ }
+ catch (CoreException e)
+ {
+ SQLEditorPlugin.getDefault().log(SQLEditorResources.SQLUpdater_error_removemarker, e);
+ }
+
}
/**
@@ -587,4 +626,9 @@
{
_needToParse = needToParse;
}
+
+ private String getMarkerSourceId()
+ {
+ return "SQLEditor:" + _editor.hashCode() + ":" + this.hashCode();
+ }
}
diff --git a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/internal/utils/EditorUtil.java b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/internal/utils/EditorUtil.java
index 8a72734..f494bee 100644
--- a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/internal/utils/EditorUtil.java
+++ b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/internal/utils/EditorUtil.java
@@ -98,7 +98,7 @@
SQLEditorPlugin.getDefault().log(e);
}
//(external)file editors can be saved in disconnected mode
- if (input instanceof ISQLEditorInput && !(input instanceof FileEditorInput || input instanceof ILocationProvider))
+ if (input instanceof ISQLEditorInput && ((ISQLEditorInput)input).isConnectionRequired())
{
ISQLEditorInput sqlEditorInput = (ISQLEditorInput) input;
ISQLEditorConnectionInfo info = sqlEditorInput.getConnectionInfo();
diff --git a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/perspectives/EditorPerspective.java b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/perspectives/EditorPerspective.java
index 9f79adc..824893f 100644
--- a/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/perspectives/EditorPerspective.java
+++ b/plugins/org.eclipse.datatools.sqltools.sqleditor/src/org/eclipse/datatools/sqltools/sqleditor/perspectives/EditorPerspective.java
@@ -33,7 +33,7 @@
//Left
IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, 0.25f, editorArea);
left.addView(EditorConstants.DATA_SOURCE_EXPLORER);
- left.addView(IPageLayout.ID_RES_NAV);
+ //left.addView(IPageLayout.ID_RES_NAV);
// Bottom
IFolderLayout bottom = layout.createFolder("bottom", IPageLayout.BOTTOM, 0.75f, editorArea);