Revision: 5635
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=5635&view=rev
Author: manningr
Date: 2010-05-30 18:35:25 +0000 (Sun, 30 May 2010)
Log Message:
-----------
Added external table details tab for all tables (only populated for external tables).
Modified Paths:
--------------
trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/NetezzaPlugin.java
trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/tab/I18NStrings.properties
Added Paths:
-----------
trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/tab/ExternalTableDetailsTab.java
Modified: trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/NetezzaPlugin.java
===================================================================
--- trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/NetezzaPlugin.java 2010-05-30 18:34:40 UTC (rev 5634)
+++ trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/NetezzaPlugin.java 2010-05-30 18:35:25 UTC (rev 5635)
@@ -39,6 +39,7 @@
import net.sourceforge.squirrel_sql.plugins.netezza.exp.NetezzaSequenceInodeExpanderFactory;
import net.sourceforge.squirrel_sql.plugins.netezza.exp.NetezzaSynonymInodeExpanderFactory;
import net.sourceforge.squirrel_sql.plugins.netezza.prefs.NetezzaPreferenceBean;
+import net.sourceforge.squirrel_sql.plugins.netezza.tab.ExternalTableDetailsTab;
import net.sourceforge.squirrel_sql.plugins.netezza.tab.ProcedureSourceTab;
import net.sourceforge.squirrel_sql.plugins.netezza.tab.SynonymDetailsTab;
import net.sourceforge.squirrel_sql.plugins.netezza.tab.SynonymSourceTab;
@@ -99,7 +100,7 @@
@Override
public String getVersion()
{
- return "0.01";
+ return "0.02";
}
/**
@@ -233,6 +234,8 @@
objTree.addDetailTab(DatabaseObjectType.VIEW, new DatabaseObjectInfoTab());
objTree.addDetailTab(DatabaseObjectType.VIEW, new ViewSourceTab(stmtSep));
+
+ objTree.addDetailTab(DatabaseObjectType.TABLE, new ExternalTableDetailsTab());
}
Added: trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/tab/ExternalTableDetailsTab.java
===================================================================
--- trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/tab/ExternalTableDetailsTab.java (rev 0)
+++ trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/tab/ExternalTableDetailsTab.java 2010-05-30 18:35:25 UTC (rev 5635)
@@ -0,0 +1,130 @@
+package net.sourceforge.squirrel_sql.plugins.netezza.tab;
+
+/*
+ * Copyright (C) 2010 Rob Manning
+ * man...@us...
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BasePreparedStatementTab;
+import net.sourceforge.squirrel_sql.fw.sql.IDatabaseObjectInfo;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
+import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
+
+/**
+ * This class will display the details for a Netezza external table.
+ */
+public class ExternalTableDetailsTab extends BasePreparedStatementTab
+{
+ private static final StringManager s_stringMgr =
+ StringManagerFactory.getStringManager(ExternalTableDetailsTab.class);
+
+ /** Logger for this class. */
+ private final static ILogger s_log = LoggerController.createLogger(ExternalTableDetailsTab.class);
+
+ /**
+ * This interface defines locale specific strings. This should be replaced with a property file.
+ */
+ private interface i18n
+ {
+ // i18n[ExternalTableDetailsTab.title=External Table Details]
+ String TITLE = s_stringMgr.getString("ExternalTableDetailsTab.title");
+
+ // i18n[ExternalTableDetailsTab.hint=Display external table details]
+ String HINT = s_stringMgr.getString("ExternalDetailsTab.hint");
+ }
+
+ /** SQL that retrieves the data. */
+ private static final String SQL =
+ "SELECT " +
+ "_v_extobject.extobjname, " +
+ "adjustdistzeroint, " +
+ "boolstyle, " +
+ "codeset, " +
+ "compress, " +
+ "crinstring, " +
+ "ctrlchars, " +
+ "datedelim, " +
+ "datestyle, " +
+ "delim, " +
+ "encoding, " +
+ "escape, " +
+ "fillrecord, " +
+ "format, " +
+ "ignorezero, " +
+ "logdir, " +
+ "maxerrors, " +
+ "maxrows, " +
+ "nullvalue, " +
+ "quotedvalue, " +
+ "remotesource, " +
+ "requirequotes, " +
+ "skiprows, " +
+ "socketbufsize, " +
+ "timedelim, " +
+ "timeextrazeros \"timeroundnanos\", " +
+ "timestyle, " +
+ "truncstring, " +
+ "y2base, " +
+ "includezeroseconds, " +
+ "recordlength, " +
+ "recorddelim, " +
+ "nullindicator, " +
+ "layout " +
+ "FROM _v_external , _v_extobject " +
+ "WHERE relid = objid " +
+ "and relid = " +
+ "( " +
+ " SELECT " +
+ " objid " +
+ " FROM _v_obj_relation " +
+ " WHERE objname = ? " +
+ " and owner = ? " +
+ " and database = ? " +
+ ") ";
+
+
+ public ExternalTableDetailsTab()
+ {
+ super(i18n.TITLE, i18n.HINT, true);
+ }
+
+ protected PreparedStatement createStatement() throws SQLException
+ {
+ ISession session = getSession();
+ IDatabaseObjectInfo doi = getDatabaseObjectInfo();
+
+ if (s_log.isDebugEnabled())
+ {
+ s_log.debug("External table details SQL: " + SQL);
+ s_log.debug("External table name: " + doi.getSimpleName());
+ s_log.debug("External table schema: " + doi.getSchemaName());
+ s_log.debug("External table catalog: " + doi.getCatalogName());
+ }
+
+ PreparedStatement pstmt = session.getSQLConnection().prepareStatement(SQL);
+ pstmt.setString(1, doi.getSimpleName());
+ pstmt.setString(2, doi.getSchemaName());
+ pstmt.setString(3, doi.getCatalogName());
+ return pstmt;
+ }
+
+}
Modified: trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/tab/I18NStrings.properties
===================================================================
--- trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/tab/I18NStrings.properties 2010-05-30 18:34:40 UTC (rev 5634)
+++ trunk/sql12/plugins/netezza/src/net/sourceforge/squirrel_sql/plugins/netezza/tab/I18NStrings.properties 2010-05-30 18:35:25 UTC (rev 5635)
@@ -1,4 +1,7 @@
+ExternalTableDetailsTab.title=External Table Details
+ExternalTableDetailsTab.hint=Display external table details
+
ProcedureSourceTab.hint=Shows the source of the selected procedure
SynonymDetailsTab.hint=Display synonym details
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|