Revision: 5570
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=5570&view=rev
Author: manningr
Date: 2010-04-04 21:40:47 +0000 (Sun, 04 Apr 2010)
Log Message:
-----------
2981622 (Tinyints display errors). Override default handling of type -6 (tinyint) for MySQL TINYINT UNSIGNED (which is also identified by MySQL with type code -6.
Modified Paths:
--------------
trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/MysqlPlugin.java
Added Paths:
-----------
trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/
trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/MySQL5ByteTypeDataTypeComponentFactory.java
trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/MySQLByteTypeDataTypeComponentFactory.java
Modified: trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/MysqlPlugin.java
===================================================================
--- trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/MysqlPlugin.java 2010-04-04 16:16:13 UTC (rev 5569)
+++ trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/MysqlPlugin.java 2010-04-04 21:40:47 UTC (rev 5570)
@@ -35,6 +35,7 @@
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.expanders.TableWithChildNodesExpander;
import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.DatabaseObjectInfoTab;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.CellComponentFactory;
import net.sourceforge.squirrel_sql.fw.dialects.DialectFactory;
import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
import net.sourceforge.squirrel_sql.fw.preferences.IQueryTokenizerPreferenceBean;
@@ -75,6 +76,8 @@
import net.sourceforge.squirrel_sql.plugins.mysql.tab.TableStatusTab;
import net.sourceforge.squirrel_sql.plugins.mysql.tab.UserGrantsTab;
import net.sourceforge.squirrel_sql.plugins.mysql.tokenizer.MysqlQueryTokenizer;
+import net.sourceforge.squirrel_sql.plugins.mysql.types.MySQL5ByteTypeDataTypeComponentFactory;
+import net.sourceforge.squirrel_sql.plugins.mysql.types.MySQLByteTypeDataTypeComponentFactory;
/**
* MySQL plugin class.
@@ -256,6 +259,16 @@
_prefsManager = new PluginQueryTokenizerPreferencesManager();
_prefsManager.initialize(this, new MysqlPreferenceBean());
+
+ /* Register custom DataTypeComponent factory for MySQL TINYINT UNSIGNED type */
+ CellComponentFactory.registerDataTypeFactory(new MySQLByteTypeDataTypeComponentFactory(),
+ -6,
+ "TINYINT UNSIGNED");
+ /* Register custom DataTypeComponent factory for MySQL TINYINT UNSIGNED type */
+ CellComponentFactory.registerDataTypeFactory(new MySQL5ByteTypeDataTypeComponentFactory(),
+ -6,
+ "TINYINT UNSIGNED");
+
}
/**
Added: trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/MySQL5ByteTypeDataTypeComponentFactory.java
===================================================================
--- trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/MySQL5ByteTypeDataTypeComponentFactory.java (rev 0)
+++ trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/MySQL5ByteTypeDataTypeComponentFactory.java 2010-04-04 21:40:47 UTC (rev 5570)
@@ -0,0 +1,20 @@
+
+package net.sourceforge.squirrel_sql.plugins.mysql.types;
+
+import net.sourceforge.squirrel_sql.fw.dialects.DialectType;
+
+/**
+ * A factory that creates Data for rendering columns of
+ * {@code DB2Types.XML}.
+ *
+ */
+public class MySQL5ByteTypeDataTypeComponentFactory extends MySQLByteTypeDataTypeComponentFactory {
+
+ /**
+ * @see net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.IDataTypeComponentFactory#getDialectType()
+ */
+ public DialectType getDialectType() {
+ return DialectType.MYSQL5;
+ }
+
+}
Added: trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/MySQLByteTypeDataTypeComponentFactory.java
===================================================================
--- trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/MySQLByteTypeDataTypeComponentFactory.java (rev 0)
+++ trunk/sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/types/MySQLByteTypeDataTypeComponentFactory.java 2010-04-04 21:40:47 UTC (rev 5570)
@@ -0,0 +1,31 @@
+
+package net.sourceforge.squirrel_sql.plugins.mysql.types;
+
+import net.sourceforge.squirrel_sql.fw.datasetviewer.ColumnDisplayDefinition;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeShort;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.IDataTypeComponent;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.IDataTypeComponentFactory;
+import net.sourceforge.squirrel_sql.fw.dialects.DialectType;
+
+/**
+ * A factory that creates DataTypeShort for rendering columns of MySQL TINYINT UNSIGNED.
+ *
+ */
+public class MySQLByteTypeDataTypeComponentFactory implements
+ IDataTypeComponentFactory {
+
+ /**
+ * @see net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.IDataTypeComponentFactory#constructDataTypeComponent()
+ */
+ public IDataTypeComponent constructDataTypeComponent() {
+ return new DataTypeShort(null, new ColumnDisplayDefinition(10, "dummy"));
+ }
+
+ /**
+ * @see net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.IDataTypeComponentFactory#getDialectType()
+ */
+ public DialectType getDialectType() {
+ return DialectType.MYSQL;
+ }
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|