<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nixnutz</id>
	<title>Apache OpenOffice Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nixnutz"/>
	<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/wiki/Special:Contributions/Nixnutz"/>
	<updated>2026-10-17T01:32:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123312</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123312"/>
		<updated>2009-05-06T16:10:13Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Copying tables does not work properly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables does not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
 INSERT INTO all_types (id  , col1 , col2 , col3 , col4 , col5 , col6 , col7 , col8 , col9 , col10 , col11 , col12 , col13 , col14 , col15 ,  col16 , col17 , col18 , col19 , col20 , col21 , col22 , col23 , col24 , col25 , col26 , col27 , col28 , col29 , col30 , col31 , col32 , col33 , col34 , col35 , col36 , col37 , col38 , col39 , col40 , col41 , col42 , col43 , col44 , col45 , col46 , col47 , col48 , col49 , col50 , col51 , col52 , col53 , col54 , col55 , col56 , col57 , col58 , col59 , col60 , col61 , col62 , col63 , col64 , col65 , col66 , col67 , col68 , col69 , col70 , col71 , col72 , col73 , col74 , col75 , col76 , col77 , col78 , col79 , col80 , col81 , col82 , col83 , col84 , col85 , col86 , col87 , col88 , col89 , col90 , col91 , col92 , col93 , col94 , col95 , col96 , col97 , col98 , col99 , col100 , col101 , col102 , col103 , col104 , col105 , col106 , col107 , col108 , col109 , col110 , col111 , col112 , col113 , col114 , col115 , col116 , col117 , col118 , col119 , col120 , col121 , col122 , col123 , col124 , col125 , col126 , col127 , col128 , col129 , col130 , col131) VALUES (&amp;#039;1&amp;#039; , &amp;#039;0&amp;#039; , &amp;#039;1&amp;#039; , &amp;#039;0&amp;#039; , &amp;#039;0&amp;#039; , &amp;#039;127&amp;#039; , &amp;#039;127&amp;#039; , &amp;#039;12&amp;#039; , &amp;#039;3&amp;#039; , &amp;#039;255&amp;#039; , &amp;#039;1&amp;#039; , &amp;#039;1&amp;#039; , &amp;#039;2&amp;#039; , &amp;#039;3&amp;#039; , &amp;#039;-32768&amp;#039; , &amp;#039;32767&amp;#039; , &amp;#039;-32768&amp;#039; , &amp;#039;-32768&amp;#039; , &amp;#039;65535&amp;#039; , &amp;#039;123&amp;#039; , &amp;#039;123&amp;#039; , &amp;#039;-8388608&amp;#039; , &amp;#039;-8388608&amp;#039; , &amp;#039;2&amp;#039; , &amp;#039;2&amp;#039; , &amp;#039;16777215&amp;#039; , &amp;#039;1677721&amp;#039; , &amp;#039;2147483647&amp;#039; , &amp;#039;2147483647&amp;#039; , &amp;#039;3&amp;#039; , &amp;#039;4294967295&amp;#039; , &amp;#039;1&amp;#039; , &amp;#039;1&amp;#039; , &amp;#039;-9223372036854775808&amp;#039; , &amp;#039;-9223372036854775808&amp;#039; , &amp;#039;18446744073709551615&amp;#039; , &amp;#039;18446744073709551615&amp;#039; , &amp;#039;2&amp;#039; , &amp;#039;-1.01&amp;#039; , &amp;#039;-1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;-1.01&amp;#039; , &amp;#039;-1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;-1.01&amp;#039; , &amp;#039;-1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;1.01&amp;#039; , &amp;#039;2009-02-09&amp;#039; , &amp;#039;2009-02-12&amp;#039; , &amp;#039;2009-02-12&amp;#039; , &amp;#039;2009-02-09 20:05:43&amp;#039; , &amp;#039;2009-02-12 17:49:21&amp;#039; , &amp;#039;2009-02-12 17:49:21&amp;#039; , &amp;#039;2038-01-09 03:14:07&amp;#039; , &amp;#039;-838:59:59&amp;#039; , &amp;#039;838:59:59&amp;#039; , &amp;#039;-838:59:59&amp;#039; , &amp;#039;1901&amp;#039; , &amp;#039;1902&amp;#039; , &amp;#039;2009&amp;#039; , &amp;#039;1&amp;#039; , &amp;#039;1&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;abc&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;a&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039; , &amp;#039;yes&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
* Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
** JDBC: same&lt;br /&gt;
* BIT [original] to VARCHAR [copy]: wrong data&lt;br /&gt;
** JDBC: no issue&lt;br /&gt;
* MEDIUMINT to VARCHAR conversion: wrong data, likely poor performance for users&lt;br /&gt;
** JDBC: no issue&lt;br /&gt;
* TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
** JDBC: same issue&lt;br /&gt;
* YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
** JDBC: YEAR to DATE&lt;br /&gt;
* TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
** JDBC: same conversion&lt;br /&gt;
* TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
** JDBC: TINYBLOB to BINARY(255) - identical&lt;br /&gt;
* BITINT(20) to BIGINT(19): should be safe&lt;br /&gt;
** JDBC: same conversion&lt;br /&gt;
* ENUM(x) to ENUM - wrong SQL, enumeration list missing, very likely the same with SET&lt;br /&gt;
** JDBC: not tested&lt;br /&gt;
* FLOAT/DOUBLE: wrong data, fraction lost&lt;br /&gt;
** JDBC: worse - no data copied for any column!&lt;br /&gt;
* All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
** JDBC: same issue&lt;br /&gt;
* All string types: CHARACTER SET lost&lt;br /&gt;
** JDBC: same issue (because not supported by Base)&lt;br /&gt;
* All string types: COLLATION lost&lt;br /&gt;
** JDBC: same issue (because not supported by Base)&lt;br /&gt;
* Most/All numeric types: UNSIGNED not copied - usually combined with wrong data for min/max, kind of overflow?&lt;br /&gt;
** JDBC: wrong SQL, columns cannot be copied at all&lt;br /&gt;
* Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
** JDBC: same&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 --&amp;gt; col1 - col3: wrong data - &amp;lt;something&amp;gt; -&amp;gt; 0&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col9 - wrong data: 255 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col18 - wrong data: 65535 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col25 - wrong data -&amp;gt; 16777215 -&amp;gt; 1677721&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col30 - wrong data - 4294967295 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 --&amp;gt; col35, col36: wrong data:  1844...bignumber...615 -&amp;gt; -1 ([UN]SIGNED overflow)&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col38, col39, col40: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col42, col43: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col44 - col47: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
As outlined in [[Database/Drivers/MySQL_Native/Known_Problems/Fixed#BOOLEAN_-.3E_TINYINT_conversion|the original item]] with the same title, MySQL does not really know the type BOOLEAN, but implicitly converts columns created as BOOLEAN to TINYINT(1). C/J implicitly converts TINYINT(1) to BOOLEAN, C/OOo doesn&amp;#039;t. As a consequence, to the user it looks as if a column created as BOOLEAN silently changes its type after creation.&lt;br /&gt;
&lt;br /&gt;
We should fix this, by either disallowing BOOLEAN as type in OOo, or by also silently interpreting TINYINT(1) as BOOLEAN.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123292</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123292"/>
		<updated>2009-05-06T14:58:21Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Copying tables does not work properly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables does not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
* Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
** JDBC: same&lt;br /&gt;
* BIT [original] to VARCHAR [copy]: wrong data&lt;br /&gt;
** JDBC: no issue&lt;br /&gt;
* MEDIUMINT to VARCHAR conversion: wrong data, likely poor performance for users&lt;br /&gt;
** JDBC: no issue&lt;br /&gt;
* TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
** JDBC: same issue&lt;br /&gt;
* YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
** JDBC: YEAR to DATE&lt;br /&gt;
* TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
** JDBC: same conversion&lt;br /&gt;
* TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
** JDBC: TINYBLOB to BINARY(255) - identical&lt;br /&gt;
* BITINT(20) to BIGINT(19): should be safe&lt;br /&gt;
** JDBC: same conversion&lt;br /&gt;
* ENUM(x) to ENUM - wrong SQL, enumeration list missing, very likely the same with SET&lt;br /&gt;
** JDBC: not tested&lt;br /&gt;
* FLOAT/DOUBLE: wrong data, fraction lost&lt;br /&gt;
** JDBC: worse - no data copied for any column!&lt;br /&gt;
* All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
** JDBC: same issue&lt;br /&gt;
* All string types: CHARACTER SET lost&lt;br /&gt;
** JDBC: same issue (because not supported by Base)&lt;br /&gt;
* All string types: COLLATION lost&lt;br /&gt;
** JDBC: same issue (because not supported by Base)&lt;br /&gt;
* Most/All numeric types: UNSIGNED not copied - usually combined with wrong data for min/max, kind of overflow?&lt;br /&gt;
** JDBC: wrong SQL, columns cannot be copied at all&lt;br /&gt;
* Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
** JDBC: same&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 --&amp;gt; col1 - col3: wrong data - &amp;lt;something&amp;gt; -&amp;gt; 0&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col9 - wrong data: 255 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col18 - wrong data: 65535 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col25 - wrong data -&amp;gt; 16777215 -&amp;gt; 1677721&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col30 - wrong data - 4294967295 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 --&amp;gt; col35, col36: wrong data:  1844...bignumber...615 -&amp;gt; -1 ([UN]SIGNED overflow)&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col38, col39, col40: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col42, col43: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col44 - col47: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
As outlined in [[Database/Drivers/MySQL_Native/Known_Problems/Fixed#BOOLEAN_-.3E_TINYINT_conversion|the original item]] with the same title, MySQL does not really know the type BOOLEAN, but implicitly converts columns created as BOOLEAN to TINYINT(1). C/J implicitly converts TINYINT(1) to BOOLEAN, C/OOo doesn&amp;#039;t. As a consequence, to the user it looks as if a column created as BOOLEAN silently changes its type after creation.&lt;br /&gt;
&lt;br /&gt;
We should fix this, by either disallowing BOOLEAN as type in OOo, or by also silently interpreting TINYINT(1) as BOOLEAN.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123288</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123288"/>
		<updated>2009-05-06T14:54:05Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Copying tables does not work properly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables does not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
* Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
** JDBC: same&lt;br /&gt;
* BIT [original] to VARCHAR [copy]: wrong data&lt;br /&gt;
** JDBC: no issue&lt;br /&gt;
* MEDIUMINT to VARCHAR conversion: wrong data, likely poor performance for users&lt;br /&gt;
** JDBC: no issue&lt;br /&gt;
* TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
** JDBC: same issue&lt;br /&gt;
* YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
&lt;br /&gt;
* TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
* TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
* BITINT(20) to BIGINT(19): should be safe&lt;br /&gt;
* ENUM(x) to ENUM - wrong SQL, enumeration list missing, very likely the same with SET&lt;br /&gt;
* FLOAT/DOUBLE: wrong data, fraction lost&lt;br /&gt;
* All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
* All string types: CHARACTER SET lost&lt;br /&gt;
* All string types: COLLATION lost&lt;br /&gt;
* Most/All numeric types: UNSIGNED not copied - usually combined with wrong data for min/max, kind of overflow?&lt;br /&gt;
** JDBC - wrong SQL, columns cannot be copied at all&lt;br /&gt;
* Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 --&amp;gt; col1 - col3: wrong data - &amp;lt;something&amp;gt; -&amp;gt; 0&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col9 - wrong data: 255 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col18 - wrong data: 65535 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col25 - wrong data -&amp;gt; 16777215 -&amp;gt; 1677721&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col30 - wrong data - 4294967295 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 --&amp;gt; col35, col36: wrong data:  1844...bignumber...615 -&amp;gt; -1 ([UN]SIGNED overflow)&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col38, col39, col40: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col42, col43: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col44 - col47: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
As outlined in [[Database/Drivers/MySQL_Native/Known_Problems/Fixed#BOOLEAN_-.3E_TINYINT_conversion|the original item]] with the same title, MySQL does not really know the type BOOLEAN, but implicitly converts columns created as BOOLEAN to TINYINT(1). C/J implicitly converts TINYINT(1) to BOOLEAN, C/OOo doesn&amp;#039;t. As a consequence, to the user it looks as if a column created as BOOLEAN silently changes its type after creation.&lt;br /&gt;
&lt;br /&gt;
We should fix this, by either disallowing BOOLEAN as type in OOo, or by also silently interpreting TINYINT(1) as BOOLEAN.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123229</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123229"/>
		<updated>2009-05-06T14:01:48Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Copying tables does not work properly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables does not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
* Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
* BIT [original] to VARCHAR [copy]: wrong data&lt;br /&gt;
* MEDIUMINT to VARCHAR conversion: wrong data, likely poor performance for users&lt;br /&gt;
* TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
* YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
* TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
* TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
* BITINT(20) to BIGINT(19): should be safe&lt;br /&gt;
* ENUM(x) to ENUM - wrong SQL, enumeration list missing, very likely the same with SET&lt;br /&gt;
* FLOAT/DOUBLE: wrong data, fraction lost&lt;br /&gt;
* All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
* All string types: CHARACTER SET lost&lt;br /&gt;
* All string types: COLLATION lost&lt;br /&gt;
* Most/All numeric types: UNSIGNED not copied - usually combined with wrong data for min/max, kind of overflow?&lt;br /&gt;
* Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 --&amp;gt; col1 - col3: wrong data - &amp;lt;something&amp;gt; -&amp;gt; 0&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col9 - wrong data: 255 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col18 - wrong data: 65535 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col25 - wrong data -&amp;gt; 16777215 -&amp;gt; 1677721&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col30 - wrong data - 4294967295 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 --&amp;gt; col35, col36: wrong data:  1844...bignumber...615 -&amp;gt; -1 ([UN]SIGNED overflow)&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col38, col39, col40: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col42, col43: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col44 - col47: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
As outlined in [[Database/Drivers/MySQL_Native/Known_Problems/Fixed#BOOLEAN_-.3E_TINYINT_conversion|the original item]] with the same title, MySQL does not really know the type BOOLEAN, but implicitly converts columns created as BOOLEAN to TINYINT(1). C/J implicitly converts TINYINT(1) to BOOLEAN, C/OOo doesn&amp;#039;t. As a consequence, to the user it looks as if a column created as BOOLEAN silently changes its type after creation.&lt;br /&gt;
&lt;br /&gt;
We should fix this, by either disallowing BOOLEAN as type in OOo, or by also silently interpreting TINYINT(1) as BOOLEAN.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123224</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=123224"/>
		<updated>2009-05-06T13:59:29Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Copying tables may not work properly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables does not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
* Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
* BIT [original] to VARCHAR [copy]: wrong data&lt;br /&gt;
* MEDIUMINT to VARCHAR conversion: I do not want to know what that does with the data and how it impacts performance...&lt;br /&gt;
* TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
* YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
* TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
* TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
* BITINT(20) to BIGINT(19): should be safe&lt;br /&gt;
* ENUM(x) to ENUM - wrong SQL, enumeration list missing, very likely the same with SET&lt;br /&gt;
* All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
* All string types: CHARACTER SET lost&lt;br /&gt;
* All string types: COLLATION lost&lt;br /&gt;
* Most/All numeric types: UNSIGNED not copied&lt;br /&gt;
* Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 --&amp;gt; col1 - col3: wrong data - &amp;lt;something&amp;gt; -&amp;gt; 0&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col9 - wrong data: 255 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col18 - wrong data: 65535 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col25 - wrong data -&amp;gt; 16777215 -&amp;gt; 1677721&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col30 - wrong data - 4294967295 -&amp;gt; -1 ([UN]SIGNED overflow?)&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 --&amp;gt; col35, col36: wrong data:  1844...bignumber...615 -&amp;gt; -1 ([UN]SIGNED overflow)&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col38, col39, col40: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; col42, col43: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 --&amp;gt; col44 - col47: wrong data, fraction part is lost, e.g. -1.01 -&amp;gt; 1&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
As outlined in [[Database/Drivers/MySQL_Native/Known_Problems/Fixed#BOOLEAN_-.3E_TINYINT_conversion|the original item]] with the same title, MySQL does not really know the type BOOLEAN, but implicitly converts columns created as BOOLEAN to TINYINT(1). C/J implicitly converts TINYINT(1) to BOOLEAN, C/OOo doesn&amp;#039;t. As a consequence, to the user it looks as if a column created as BOOLEAN silently changes its type after creation.&lt;br /&gt;
&lt;br /&gt;
We should fix this, by either disallowing BOOLEAN as type in OOo, or by also silently interpreting TINYINT(1) as BOOLEAN.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122956</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122956"/>
		<updated>2009-05-05T17:43:13Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Currency Value DECIMAL columns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Was &amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt;, is DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
* Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
* BIT [original] to VARCHAR [copy]: may mess up the data...&lt;br /&gt;
* MEDIUMINT to VARCHAR conversion: I do not want to know what that does with the data and how it impacts performance...&lt;br /&gt;
* TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
* YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
* TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
* TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
* BITINT(20) to BIGINT(19): should be safe&lt;br /&gt;
* ENUM(x) to ENUM - wrong SQL, enumeration list missing, very likely the same with SET&lt;br /&gt;
* All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
* All string types: CHARACTER SET lost&lt;br /&gt;
* All string types: COLLATION lost&lt;br /&gt;
* Most/All numeric types: UNSIGNED not copied&lt;br /&gt;
* Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;strike&amp;gt;fieldtype is changed after saving&amp;lt;/strike&amp;gt; BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
(Ulf): Not an error in C/C++. There is no boolean type in MySQL, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . MySQL accepts the keywords BOOLEAN, TRUE and FALSE. That is all. MySQL converts BOOLEAN into TINYINT(1). TRUE and FALSE are aliases for 1 and 0, respectively:&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; create table bool_test(col boolean default true);&lt;br /&gt;
 Query OK, 0 rows affected (1.41 sec)&lt;br /&gt;
 mysql&amp;gt; show warnings;&lt;br /&gt;
 Empty set (0.03 sec)&lt;br /&gt;
 mysql&amp;gt; show errors;&lt;br /&gt;
 Empty set (0.00 sec)&lt;br /&gt;
 mysql&amp;gt; show create table bool_test;&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | Table     | Create Table                                                                                     |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | bool_test | CREATE TABLE `bool_test` (&lt;br /&gt;
   `col` tinyint(1) DEFAULT &amp;#039;1&amp;#039;&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 1 row in set (0.05 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf): Connector/C++ returns what you get when you create a BOOLEAN column. You get a TINYINT(1) in your database. Connector/C++ returns what you see  when you check the schema definition of a  table with a TINYINT(1) column: type tinyint. Connector/J seems to define TINYINT(1) == BOOLEAN. That means, Connector/J cannot distinguish between a numeric column TINYINT(1) and a TINYINT(1) column that is intended to be a BOOLEAN. If a user creates a TINYINT(1) column with Connector/J, Connector/J will report BOOLEAN. There is no solution for handling the MySQL Server data type alias BOOLEAN (= converted implicitly into TINYINT(1)). The only thing you can do it is either to disallow the usage of BOOLEAN or TINYINT(1) in Base (= in Connector/OO.org) to solve the lack of clarity.&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
(Ulf): I cannot answer this. I do not know where Base would use them.&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122953</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122953"/>
		<updated>2009-05-05T17:42:23Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Copying tables may not work properly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
* Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
* BIT [original] to VARCHAR [copy]: may mess up the data...&lt;br /&gt;
* MEDIUMINT to VARCHAR conversion: I do not want to know what that does with the data and how it impacts performance...&lt;br /&gt;
* TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
* YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
* TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
* TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
* BITINT(20) to BIGINT(19): should be safe&lt;br /&gt;
* ENUM(x) to ENUM - wrong SQL, enumeration list missing, very likely the same with SET&lt;br /&gt;
* All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
* All string types: CHARACTER SET lost&lt;br /&gt;
* All string types: COLLATION lost&lt;br /&gt;
* Most/All numeric types: UNSIGNED not copied&lt;br /&gt;
* Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;strike&amp;gt;fieldtype is changed after saving&amp;lt;/strike&amp;gt; BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
(Ulf): Not an error in C/C++. There is no boolean type in MySQL, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . MySQL accepts the keywords BOOLEAN, TRUE and FALSE. That is all. MySQL converts BOOLEAN into TINYINT(1). TRUE and FALSE are aliases for 1 and 0, respectively:&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; create table bool_test(col boolean default true);&lt;br /&gt;
 Query OK, 0 rows affected (1.41 sec)&lt;br /&gt;
 mysql&amp;gt; show warnings;&lt;br /&gt;
 Empty set (0.03 sec)&lt;br /&gt;
 mysql&amp;gt; show errors;&lt;br /&gt;
 Empty set (0.00 sec)&lt;br /&gt;
 mysql&amp;gt; show create table bool_test;&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | Table     | Create Table                                                                                     |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | bool_test | CREATE TABLE `bool_test` (&lt;br /&gt;
   `col` tinyint(1) DEFAULT &amp;#039;1&amp;#039;&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 1 row in set (0.05 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf): Connector/C++ returns what you get when you create a BOOLEAN column. You get a TINYINT(1) in your database. Connector/C++ returns what you see  when you check the schema definition of a  table with a TINYINT(1) column: type tinyint. Connector/J seems to define TINYINT(1) == BOOLEAN. That means, Connector/J cannot distinguish between a numeric column TINYINT(1) and a TINYINT(1) column that is intended to be a BOOLEAN. If a user creates a TINYINT(1) column with Connector/J, Connector/J will report BOOLEAN. There is no solution for handling the MySQL Server data type alias BOOLEAN (= converted implicitly into TINYINT(1)). The only thing you can do it is either to disallow the usage of BOOLEAN or TINYINT(1) in Base (= in Connector/OO.org) to solve the lack of clarity.&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
(Ulf): I cannot answer this. I do not know where Base would use them.&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122945</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122945"/>
		<updated>2009-05-05T17:38:38Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Copying tables may not work properly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
* Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
* BIT [original] to VARCHAR [copy]: may mess up the data...&lt;br /&gt;
* MEDIUMINT to VARCHAR conversion: I do not want to know what that does with the data and how it impacts performance...&lt;br /&gt;
* TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
* YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
* TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
* TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
* BITINT(20) to BIGINT(19)&lt;br /&gt;
* All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
* All string types: CHARACTER SET lost&lt;br /&gt;
* All string types: COLLATION lost&lt;br /&gt;
* Most/All numeric types: UNSIGNED not copied&lt;br /&gt;
* Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;strike&amp;gt;fieldtype is changed after saving&amp;lt;/strike&amp;gt; BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
(Ulf): Not an error in C/C++. There is no boolean type in MySQL, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . MySQL accepts the keywords BOOLEAN, TRUE and FALSE. That is all. MySQL converts BOOLEAN into TINYINT(1). TRUE and FALSE are aliases for 1 and 0, respectively:&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; create table bool_test(col boolean default true);&lt;br /&gt;
 Query OK, 0 rows affected (1.41 sec)&lt;br /&gt;
 mysql&amp;gt; show warnings;&lt;br /&gt;
 Empty set (0.03 sec)&lt;br /&gt;
 mysql&amp;gt; show errors;&lt;br /&gt;
 Empty set (0.00 sec)&lt;br /&gt;
 mysql&amp;gt; show create table bool_test;&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | Table     | Create Table                                                                                     |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | bool_test | CREATE TABLE `bool_test` (&lt;br /&gt;
   `col` tinyint(1) DEFAULT &amp;#039;1&amp;#039;&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 1 row in set (0.05 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf): Connector/C++ returns what you get when you create a BOOLEAN column. You get a TINYINT(1) in your database. Connector/C++ returns what you see  when you check the schema definition of a  table with a TINYINT(1) column: type tinyint. Connector/J seems to define TINYINT(1) == BOOLEAN. That means, Connector/J cannot distinguish between a numeric column TINYINT(1) and a TINYINT(1) column that is intended to be a BOOLEAN. If a user creates a TINYINT(1) column with Connector/J, Connector/J will report BOOLEAN. There is no solution for handling the MySQL Server data type alias BOOLEAN (= converted implicitly into TINYINT(1)). The only thing you can do it is either to disallow the usage of BOOLEAN or TINYINT(1) in Base (= in Connector/OO.org) to solve the lack of clarity.&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
(Ulf): I cannot answer this. I do not know where Base would use them.&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122944</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122944"/>
		<updated>2009-05-05T17:37:56Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Copying tables may not work properly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
(Ulf) Create the following table on the MySQL prompt and clone it using Base. Compare the table that Base creates with the original one.&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE `all_types` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `col1` bit(1) DEFAULT NULL,&lt;br /&gt;
  `col2` bit(1) NOT NULL,&lt;br /&gt;
  `col3` bit(5) NOT NULL,&lt;br /&gt;
  `col4` bit(8) DEFAULT NULL,&lt;br /&gt;
  `col5` tinyint(4) DEFAULT NULL,&lt;br /&gt;
  `col6` tinyint(4) NOT NULL,&lt;br /&gt;
  `col7` tinyint(4) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col8` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col9` tinyint(3) unsigned DEFAULT NULL,&lt;br /&gt;
  `col10` tinyint(3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col11` tinyint(1) DEFAULT NULL,&lt;br /&gt;
  `col12` tinyint(1) NOT NULL,&lt;br /&gt;
  `col13` tinyint(1) DEFAULT &amp;#039;0&amp;#039;,&lt;br /&gt;
  `col14` smallint(6) DEFAULT NULL,&lt;br /&gt;
  `col15` smallint(6) NOT NULL,&lt;br /&gt;
  `col16` smallint(6) NOT NULL DEFAULT &amp;#039;-1&amp;#039;,&lt;br /&gt;
  `col17` smallint(3) DEFAULT NULL,&lt;br /&gt;
  `col18` smallint(5) unsigned DEFAULT NULL,&lt;br /&gt;
  `col19` smallint(5) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col20` smallint(5) unsigned zerofill DEFAULT &amp;#039;00101&amp;#039;,&lt;br /&gt;
  `col21` mediumint(9) DEFAULT NULL,&lt;br /&gt;
  `col22` mediumint(9) NOT NULL,&lt;br /&gt;
  `col23` mediumint(1) DEFAULT NULL,&lt;br /&gt;
  `col24` mediumint(2) DEFAULT &amp;#039;12&amp;#039;,&lt;br /&gt;
  `col25` mediumint(8) unsigned DEFAULT NULL,&lt;br /&gt;
  `col26` mediumint(8) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col27` int(11) DEFAULT NULL,&lt;br /&gt;
  `col28` int(11) NOT NULL,&lt;br /&gt;
  `col29` int(1) DEFAULT NULL,&lt;br /&gt;
  `col30` int(10) unsigned DEFAULT NULL,&lt;br /&gt;
  `col31` int(4) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col32` int(4) DEFAULT &amp;#039;-123&amp;#039;,&lt;br /&gt;
  `col33` bigint(20) DEFAULT NULL,&lt;br /&gt;
  `col34` bigint(20) NOT NULL,&lt;br /&gt;
  `col35` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col36` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
  `col37` bigint(4) unsigned zerofill DEFAULT &amp;#039;10101&amp;#039;,&lt;br /&gt;
  `col38` float DEFAULT NULL,&lt;br /&gt;
  `col39` float NOT NULL,&lt;br /&gt;
  `col40` float unsigned DEFAULT NULL,&lt;br /&gt;
  `col41` float(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col42` float DEFAULT NULL,&lt;br /&gt;
  `col43` float DEFAULT &amp;#039;1.01&amp;#039;,&lt;br /&gt;
  `col44` double DEFAULT NULL,&lt;br /&gt;
  `col45` double NOT NULL,&lt;br /&gt;
  `col46` double unsigned DEFAULT NULL,&lt;br /&gt;
  `col47` double unsigned DEFAULT &amp;#039;1.123&amp;#039;,&lt;br /&gt;
  `col48` double(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
  `col51` decimal(10,0) unsigned DEFAULT NULL,&lt;br /&gt;
  `col52` decimal(5,3) unsigned zerofill DEFAULT NULL,&lt;br /&gt;
  `col53` decimal(6,3) unsigned zerofill DEFAULT &amp;#039;034.560&amp;#039;,&lt;br /&gt;
  `col54` date DEFAULT NULL,&lt;br /&gt;
  `col55` date NOT NULL,&lt;br /&gt;
  `col56` date NOT NULL DEFAULT &amp;#039;2009-02-16&amp;#039;,&lt;br /&gt;
  `col57` datetime DEFAULT NULL,&lt;br /&gt;
  `col58` datetime NOT NULL,&lt;br /&gt;
  `col59` datetime NOT NULL DEFAULT &amp;#039;2009-02-12 21:36:54&amp;#039;,&lt;br /&gt;
  `col60` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
  `col61` time DEFAULT NULL,&lt;br /&gt;
  `col62` time NOT NULL,&lt;br /&gt;
  `col63` time DEFAULT &amp;#039;12:39:41&amp;#039;,&lt;br /&gt;
  `col64` year(4) DEFAULT NULL,&lt;br /&gt;
  `col65` year(4) NOT NULL,&lt;br /&gt;
  `col66` year(4) DEFAULT NULL,&lt;br /&gt;
  `col67` year(2) DEFAULT NULL,&lt;br /&gt;
  `col68` year(4) DEFAULT &amp;#039;2009&amp;#039;,&lt;br /&gt;
  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
  `col70` char(1) NOT NULL,&lt;br /&gt;
  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col73` char(254) NOT NULL,&lt;br /&gt;
  `col74` char(254) NOT NULL DEFAULT &amp;#039;abc&amp;#039;,&lt;br /&gt;
  `col75` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col76` char(215) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col77` char(215) CHARACTER SET utf8 NOT NULL DEFAULT &amp;#039;Ulf&amp;#039;,&lt;br /&gt;
  `col78` char(255) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col79` char(55) CHARACTER SET utf8 NOT NULL,&lt;br /&gt;
  `col80` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col81` char(250) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT &amp;#039;Wendel&amp;#039;,&lt;br /&gt;
  `col82` char(43) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
  `col83` char(123) CHARACTER SET ucs2 DEFAULT NULL,&lt;br /&gt;
  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
  `col85` binary(12) NOT NULL,&lt;br /&gt;
  `col86` char(14) DEFAULT &amp;#039;Andrey&amp;#039;,&lt;br /&gt;
  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
  `col90` varchar(7) NOT NULL,&lt;br /&gt;
  `col91` varchar(255) DEFAULT &amp;#039;Good night twitter. BTW, go MySQL!&amp;#039;,&lt;br /&gt;
  `col92` varchar(11) CHARACTER SET utf8 DEFAULT NULL,&lt;br /&gt;
  `col93` varchar(11) CHARACTER SET ascii DEFAULT &amp;#039;Hristov&amp;#039;,&lt;br /&gt;
  `col94` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,&lt;br /&gt;
  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
  `col100` varbinary(20) NOT NULL DEFAULT &amp;#039;Lawrin&amp;#039;,&lt;br /&gt;
  `col101` tinyblob,&lt;br /&gt;
  `col102` tinytext,&lt;br /&gt;
  `col103` tinytext NOT NULL,&lt;br /&gt;
  `col104` tinytext,&lt;br /&gt;
  `col105` tinyblob,&lt;br /&gt;
  `col106` tinytext CHARACTER SET utf8,&lt;br /&gt;
  `col107` tinytext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col108` mediumblob,&lt;br /&gt;
  `col109` mediumblob NOT NULL,&lt;br /&gt;
  `col110` mediumtext,&lt;br /&gt;
  `col111` mediumblob,&lt;br /&gt;
  `col112` mediumtext NOT NULL,&lt;br /&gt;
  `col113` mediumtext CHARACTER SET utf8,&lt;br /&gt;
  `col114` mediumtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col115` longblob,&lt;br /&gt;
  `col116` longblob NOT NULL,&lt;br /&gt;
  `col117` longtext,&lt;br /&gt;
  `col118` longblob,&lt;br /&gt;
  `col119` longtext NOT NULL,&lt;br /&gt;
  `col120` longtext CHARACTER SET utf8,&lt;br /&gt;
  `col121` longtext CHARACTER SET utf8 COLLATE utf8_bin,&lt;br /&gt;
  `col122` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col123` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col124` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) NOT NULL,&lt;br /&gt;
  `col125` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;not sure&amp;#039;) NOT NULL,&lt;br /&gt;
  `col126` enum(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;buy&amp;#039;) NOT NULL DEFAULT &amp;#039;buy&amp;#039;,&lt;br /&gt;
  `col127` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) DEFAULT NULL,&lt;br /&gt;
  `col128` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET binary DEFAULT NULL,&lt;br /&gt;
  `col129` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT NULL,&lt;br /&gt;
  `col130` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;) CHARACTER SET ascii DEFAULT &amp;#039;yes&amp;#039;,&lt;br /&gt;
  `col131` set(&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;,&amp;#039;ascii&amp;#039;) CHARACTER SET ascii NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
(Ulf) Issue summary:&lt;br /&gt;
&lt;br /&gt;
 * Precision changes can usually be ignored, because most of the time it is a &amp;quot;display width&amp;quot; for MySQL, not a column value range limitation, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . The &amp;quot;precision&amp;quot; seems correct whenever it has to be.&lt;br /&gt;
 * BIT [original] to VARCHAR [copy]: may mess up the data...&lt;br /&gt;
 * MEDIUMINT to VARCHAR conversion: I do not want to know what that does with the data and how it impacts performance...&lt;br /&gt;
 * TIMESTAMP to DATETIME conversion: safe with regards to data, but TIMESTAMP columns have a special semantics in MySQL - &amp;quot;By default, the first TIMESTAMP column in a table is automatically set to the date and time of the most recent operation [...]&amp;quot;&lt;br /&gt;
 * YEAR to VARCHAR conversion: safe with regards to the data, but value range is wider and YEAR(2) DEFAULT 70 means default 1970... glory details&lt;br /&gt;
 * TINYTEXT to VARCHAR(255): should be safe&lt;br /&gt;
 * TINYBLOB to VARBINARY(255): should be safe&lt;br /&gt;
 * BITINT(20) to BIGINT(19)&lt;br /&gt;
 * All types: DEFAULT values lost, if the default value is not NULL.&lt;br /&gt;
 * All string types: CHARACTER SET lost&lt;br /&gt;
 * All string types: COLLATION lost&lt;br /&gt;
 * Most/All numeric types: UNSIGNED not copied&lt;br /&gt;
 * Most/All numeric types: ZEROFILL not copied - should be ignored, MySQL specific&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf) Detailed results:&lt;br /&gt;
&lt;br /&gt;
 o OK&lt;br /&gt;
 x some kind of trouble &lt;br /&gt;
&lt;br /&gt;
 o  `id` int(10) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
 --&amp;gt; type changes BIT -&amp;gt; VARCHAR()&lt;br /&gt;
 x  `col1` varchar(1) DEFAULT NULL,&lt;br /&gt;
 x  `col2` varchar(1) NOT NULL,&lt;br /&gt;
 x  `col3` varchar(5) NOT NULL,&lt;br /&gt;
 x  `col4` varchar(8) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong TINYINT(n) -&amp;gt; TINYINT(3), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col5` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col6` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col7` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col8` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col9` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col10` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col11` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 x  `col12` tinyint(3) NOT NULL,&lt;br /&gt;
 x  `col13` tinyint(3) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong SMALLINT(n) -&amp;gt; SMALLINT(5), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col14` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col15` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col16` smallint(5) NOT NULL,&lt;br /&gt;
 x  `col17` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col18` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col19` smallint(5) DEFAULT NULL,&lt;br /&gt;
 x  `col20` smallint(5) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Type wrong: MEDIUMINT -&amp;gt; VARCHAR, always&lt;br /&gt;
 --&amp;gt; Precision wrong: MEDIUMINT(n) -&amp;gt; VARCHAR(7), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col21` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col22` varchar(7) NOT NULL,&lt;br /&gt;
 x `col23` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col24` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col25` varchar(7) DEFAULT NULL,&lt;br /&gt;
 x  `col26` varchar(7) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: INT(n) -&amp;gt; INT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col27` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col28` int(10) NOT NULL,&lt;br /&gt;
 x  `col29` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col30` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col31` int(10) DEFAULT NULL,&lt;br /&gt;
 x  `col32` int(10) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: BIGINT(20) -&amp;gt; BIGINT(19), always&lt;br /&gt;
 --&amp;gt; Possible data loss due to 20-&amp;gt;19 (!)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col33` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col34` bigint(19) NOT NULL,&lt;br /&gt;
 x  `col35` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col36` bigint(19) DEFAULT NULL,&lt;br /&gt;
 x  `col37` bigint(19) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: FLOAT -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col38` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col39` float(10,0) NOT NULL,&lt;br /&gt;
 x  `col40` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col41` float(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col42` float(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col43` float(10,0) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; Precision wrong: DOUBLE -&amp;gt; FLOAT(10), always&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col44` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col45` double(17,0) NOT NULL,&lt;br /&gt;
 x  `col46` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col47` double(17,0) DEFAULT NULL,&lt;br /&gt;
 x  `col48` double(5,3) DEFAULT NULL,&lt;br /&gt;
 o  `col49` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 o  `col50` decimal(10,0) NOT NULL,&lt;br /&gt;
 --&amp;gt; UNSIGNED lost&lt;br /&gt;
 --&amp;gt; ZEROFILL lost&lt;br /&gt;
 x  `col51` decimal(10,0) DEFAULT NULL,&lt;br /&gt;
 x  `col52` decimal(5,3) DEFAULT NULL,&lt;br /&gt;
 x  `col53` decimal(6,3) DEFAULT NULL,&lt;br /&gt;
 o  `col54` date DEFAULT NULL,&lt;br /&gt;
 o  `col55` date NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col56` date NOT NULL,&lt;br /&gt;
 o  `col57` datetime DEFAULT NULL,&lt;br /&gt;
 o  `col58` datetime NOT NULL,&lt;br /&gt;
 x  `col59` datetime NOT NULL,&lt;br /&gt;
 --&amp;gt; TIMESTAMP -&amp;gt; DATETIME (safe value range but wrong semantics)&lt;br /&gt;
 x  `col60` datetime NOT NULL,&lt;br /&gt;
 o  `col61` time DEFAULT NULL,&lt;br /&gt;
 o  `col62` time NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col63` time DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; YEAR-&amp;gt;VARCHAR (safe value range but wrong semantics)&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col64` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col65` varchar(4) NOT NULL,&lt;br /&gt;
 x  `col66` varchar(4) DEFAULT NULL,&lt;br /&gt;
 x  `col67` varchar(2) DEFAULT NULL,&lt;br /&gt;
 x  `col68` varchar(4) DEFAULT NULL,&lt;br /&gt;
 o  `col69` char(1) DEFAULT NULL,&lt;br /&gt;
 o  `col70` char(1) NOT NULL,&lt;br /&gt;
 o  `col71` char(255) DEFAULT NULL,&lt;br /&gt;
 o  `col72` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col73` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col74` char(254) NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col75` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col76` char(215) NOT NULL,&lt;br /&gt;
 x  `col77` char(215) NOT NULL,&lt;br /&gt;
 x  `col78` char(255) DEFAULT NULL,&lt;br /&gt;
 x  `col79` char(55) NOT NULL,&lt;br /&gt;
 x  `col80` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col81` char(250) DEFAULT NULL,&lt;br /&gt;
 x  `col82` char(43) NOT NULL,&lt;br /&gt;
 x  `col83` char(123) DEFAULT NULL,&lt;br /&gt;
 o  `col84` binary(255) DEFAULT NULL,&lt;br /&gt;
 o  `col85` binary(12) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col86` char(14) DEFAULT NULL,&lt;br /&gt;
 o  `col87` binary(25) DEFAULT NULL,&lt;br /&gt;
 o  `col88` varchar(10) DEFAULT NULL,&lt;br /&gt;
 o  `col89` varbinary(10) DEFAULT NULL,&lt;br /&gt;
 o  `col90` varchar(7) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col91` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col92` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col93` varchar(11) DEFAULT NULL,&lt;br /&gt;
 x  `col94` varchar(12) DEFAULT NULL,&lt;br /&gt;
 o  `col95` varbinary(13) DEFAULT NULL,&lt;br /&gt;
 o  `col96` varbinary(14) NOT NULL,&lt;br /&gt;
 o  `col97` binary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col98` varbinary(1) DEFAULT NULL,&lt;br /&gt;
 o  `col99` varbinary(2) NOT NULL,&lt;br /&gt;
 --&amp;gt; DEFAULT values lost&lt;br /&gt;
 x  `col100` varbinary(20) NOT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col101` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 x  `col102` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col103` varchar(255) NOT NULL,&lt;br /&gt;
 x  `col104` varchar(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYBLOB -&amp;gt; VARBINARY(255)&lt;br /&gt;
 x  `col105` varbinary(255) DEFAULT NULL,&lt;br /&gt;
 --&amp;gt; TINYTEXT -&amp;gt; VARCHAR(255)&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col106` varchar(255) DEFAULT NULL,&lt;br /&gt;
 x  `col107` varchar(255) DEFAULT NULL,&lt;br /&gt;
 o  `col108` mediumblob,&lt;br /&gt;
 o  `col109` mediumblob NOT NULL,&lt;br /&gt;
 o  `col110` mediumtext,&lt;br /&gt;
 o  `col111` mediumblob,&lt;br /&gt;
 o  `col112` mediumtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col113` mediumtext,&lt;br /&gt;
 x  `col114` mediumtext,&lt;br /&gt;
 o  `col115` longblob,&lt;br /&gt;
 o  `col116` longblob NOT NULL,&lt;br /&gt;
 o  `col117` longtext,&lt;br /&gt;
 o  `col118` longblob,&lt;br /&gt;
 o  `col119` longtext NOT NULL,&lt;br /&gt;
 --&amp;gt; CHARACTER SET lost&lt;br /&gt;
 --&amp;gt; COLLATION lost&lt;br /&gt;
 x  `col120` longtext,&lt;br /&gt;
 x  `col121` longtext,&lt;br /&gt;
 o  PRIMARY KEY (`id`)&lt;br /&gt;
 o) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;strike&amp;gt;fieldtype is changed after saving&amp;lt;/strike&amp;gt; BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
(Ulf): Not an error in C/C++. There is no boolean type in MySQL, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . MySQL accepts the keywords BOOLEAN, TRUE and FALSE. That is all. MySQL converts BOOLEAN into TINYINT(1). TRUE and FALSE are aliases for 1 and 0, respectively:&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; create table bool_test(col boolean default true);&lt;br /&gt;
 Query OK, 0 rows affected (1.41 sec)&lt;br /&gt;
 mysql&amp;gt; show warnings;&lt;br /&gt;
 Empty set (0.03 sec)&lt;br /&gt;
 mysql&amp;gt; show errors;&lt;br /&gt;
 Empty set (0.00 sec)&lt;br /&gt;
 mysql&amp;gt; show create table bool_test;&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | Table     | Create Table                                                                                     |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | bool_test | CREATE TABLE `bool_test` (&lt;br /&gt;
   `col` tinyint(1) DEFAULT &amp;#039;1&amp;#039;&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 1 row in set (0.05 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf): Connector/C++ returns what you get when you create a BOOLEAN column. You get a TINYINT(1) in your database. Connector/C++ returns what you see  when you check the schema definition of a  table with a TINYINT(1) column: type tinyint. Connector/J seems to define TINYINT(1) == BOOLEAN. That means, Connector/J cannot distinguish between a numeric column TINYINT(1) and a TINYINT(1) column that is intended to be a BOOLEAN. If a user creates a TINYINT(1) column with Connector/J, Connector/J will report BOOLEAN. There is no solution for handling the MySQL Server data type alias BOOLEAN (= converted implicitly into TINYINT(1)). The only thing you can do it is either to disallow the usage of BOOLEAN or TINYINT(1) in Base (= in Connector/OO.org) to solve the lack of clarity.&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
(Ulf): I cannot answer this. I do not know where Base would use them.&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122828</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122828"/>
		<updated>2009-05-05T14:33:19Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* getImportedKeys()/getExportedKeys() */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;strike&amp;gt;fieldtype is changed after saving&amp;lt;/strike&amp;gt; BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
(Ulf): Not an error in C/C++. There is no boolean type in MySQL, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . MySQL accepts the keywords BOOLEAN, TRUE and FALSE. That is all. MySQL converts BOOLEAN into TINYINT(1). TRUE and FALSE are aliases for 1 and 0, respectively:&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; create table bool_test(col boolean default true);&lt;br /&gt;
 Query OK, 0 rows affected (1.41 sec)&lt;br /&gt;
 mysql&amp;gt; show warnings;&lt;br /&gt;
 Empty set (0.03 sec)&lt;br /&gt;
 mysql&amp;gt; show errors;&lt;br /&gt;
 Empty set (0.00 sec)&lt;br /&gt;
 mysql&amp;gt; show create table bool_test;&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | Table     | Create Table                                                                                     |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | bool_test | CREATE TABLE `bool_test` (&lt;br /&gt;
   `col` tinyint(1) DEFAULT &amp;#039;1&amp;#039;&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 1 row in set (0.05 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf): Connector/C++ returns what you get when you create a BOOLEAN column. You get a TINYINT(1) in your database. Connector/C++ returns what you see  when you check the schema definition of a  table with a TINYINT(1) column: type tinyint. Connector/J seems to define TINYINT(1) == BOOLEAN. That means, Connector/J cannot distinguish between a numeric column TINYINT(1) and a TINYINT(1) column that is intended to be a BOOLEAN. If a user creates a TINYINT(1) column with Connector/J, Connector/J will report BOOLEAN. There is no solution for handling the MySQL Server data type alias BOOLEAN (= converted implicitly into TINYINT(1)). The only thing you can do it is either to disallow the usage of BOOLEAN or TINYINT(1) in Base (= in Connector/OO.org) to solve the lack of clarity.&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
(Ulf): I cannot answer this. I do not know where Base would use them.&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122824</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122824"/>
		<updated>2009-05-05T14:31:56Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* fieldtype is changed after saving BOOLEAN -&amp;gt; TINYINT conversion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;strike&amp;gt;fieldtype is changed after saving&amp;lt;/strike&amp;gt; BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
(Ulf): Not an error in C/C++. There is no boolean type in MySQL, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . MySQL accepts the keywords BOOLEAN, TRUE and FALSE. That is all. MySQL converts BOOLEAN into TINYINT(1). TRUE and FALSE are aliases for 1 and 0, respectively:&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; create table bool_test(col boolean default true);&lt;br /&gt;
 Query OK, 0 rows affected (1.41 sec)&lt;br /&gt;
 mysql&amp;gt; show warnings;&lt;br /&gt;
 Empty set (0.03 sec)&lt;br /&gt;
 mysql&amp;gt; show errors;&lt;br /&gt;
 Empty set (0.00 sec)&lt;br /&gt;
 mysql&amp;gt; show create table bool_test;&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | Table     | Create Table                                                                                     |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | bool_test | CREATE TABLE `bool_test` (&lt;br /&gt;
   `col` tinyint(1) DEFAULT &amp;#039;1&amp;#039;&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 1 row in set (0.05 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf): Connector/C++ returns what you get when you create a BOOLEAN column. You get a TINYINT(1) in your database. Connector/C++ returns what you see  when you check the schema definition of a  table with a TINYINT(1) column: type tinyint. Connector/J seems to define TINYINT(1) == BOOLEAN. That means, Connector/J cannot distinguish between a numeric column TINYINT(1) and a TINYINT(1) column that is intended to be a BOOLEAN. If a user creates a TINYINT(1) column with Connector/J, Connector/J will report BOOLEAN. There is no solution for handling the MySQL Server data type alias BOOLEAN (= converted implicitly into TINYINT(1)). The only thing you can do it is either to disallow the usage of BOOLEAN or TINYINT(1) in Base (= in Connector/OO.org) to solve the lack of clarity.&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122822</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122822"/>
		<updated>2009-05-05T14:31:40Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* fieldtype is changed after saving BOOLEAN -&amp;gt; TINYINT conversion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;strike&amp;gt;fieldtype is changed after saving&amp;lt;/strike&amp;gt; BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
(Ulf): Not an error in C/C++. There is no boolean type in MySQL, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . MySQL accepts the keywords BOOLEAN, TRUE and FALSE. That is all. MySQL converts BOOLEAN into TINYINT(1). TRUE and FALSE are aliases for 1 and 0, respectively:&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; create table bool_test(col boolean default true);&lt;br /&gt;
 Query OK, 0 rows affected (1.41 sec)&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; show warnings;&lt;br /&gt;
 Empty set (0.03 sec)&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; show errors;&lt;br /&gt;
 Empty set (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; show create table bool_test;&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | Table     | Create Table                                                                                     |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 | bool_test | CREATE TABLE `bool_test` (&lt;br /&gt;
   `col` tinyint(1) DEFAULT &amp;#039;1&amp;#039;&lt;br /&gt;
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |&lt;br /&gt;
 +-----------+--------------------------------------------------------------------------------------------------+&lt;br /&gt;
 1 row in set (0.05 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Ulf): Connector/C++ returns what you get when you create a BOOLEAN column. You get a TINYINT(1) in your database. Connector/C++ returns what you see  when you check the schema definition of a  table with a TINYINT(1) column: type tinyint. Connector/J seems to define TINYINT(1) == BOOLEAN. That means, Connector/J cannot distinguish between a numeric column TINYINT(1) and a TINYINT(1) column that is intended to be a BOOLEAN. If a user creates a TINYINT(1) column with Connector/J, Connector/J will report BOOLEAN. There is no solution for handling the MySQL Server data type alias BOOLEAN (= converted implicitly into TINYINT(1)). The only thing you can do it is either to disallow the usage of BOOLEAN or TINYINT(1) in Base (= in Connector/OO.org) to solve the lack of clarity.&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122820</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122820"/>
		<updated>2009-05-05T14:28:55Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* fieldtype is changed after saving */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;strike&amp;gt;fieldtype is changed after saving&amp;lt;/strike&amp;gt; BOOLEAN -&amp;gt; TINYINT conversion ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
(Ulf): Not an error in C/C++. There is no boolean type in MySQL, see http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html . MySQL accepts the keywords BOOLEAN, TRUE and FALSE. That is all. MySQL converts BOOLEAN into TINYINT(1). TRUE and FALSE are aliases for 1 and 0, respectively.  Connector/C++ returns what you get when you create a BOOLEAN column. You get a TINYINT(1) in your database. Connector/C++ returns what you see  when you check the schema definition of a  table with a TINYINT(1) column: type tinyint. Connector/J seems to define TINYINT(1) == BOOLEAN. That means, Connector/J cannot distinguish between a numeric column TINYINT(1) and a TINYINT(1) column that is intended to be a BOOLEAN. If a user creates a TINYINT(1) column with Connector/J, Connector/J will report BOOLEAN. There is no solution for handling the MySQL Server data type alias BOOLEAN (= converted implicitly into TINYINT(1)). The only thing you can do it is either to disallow the usage of BOOLEAN or TINYINT(1) in Base (= in Connector/OO.org) to solve the lack of clarity.&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject is not used.&lt;br /&gt;
&lt;br /&gt;
getExportedKeys seems to be used in the form wizard, to properly set up sub forms. Given that this currently [http://www.openoffice.org/issues/show_bug.cgi?id=101463 doesn&amp;#039;t work for MySQL/JDBC], either, this does qualify as severity 1.x.&lt;br /&gt;
&lt;br /&gt;
The other ones are not used.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122681</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122681"/>
		<updated>2009-05-05T11:00:11Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* DatabseMetaData::getColumns() DECIMAL_DIGITS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; analyze reason, and suggest possible solution: &amp;quot;emulate&amp;quot; BOOL like the JDBC driver does (might yield other problems), or drop BOOL from the list of supported types&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject - not sure.&lt;br /&gt;
&lt;br /&gt;
The other three are not used, I think.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Frank):&amp;lt;/span&amp;gt; confirm which ones are needed, actually&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems/Fixed&amp;diff=122680</id>
		<title>Database/Drivers/MySQL Native/Known Problems/Fixed</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems/Fixed&amp;diff=122680"/>
		<updated>2009-05-05T11:00:09Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Fixed Problems}}&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;Ulf:&amp;lt;/span&amp;gt; can not reproduce with 1.0 alpha&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;Ulf:&amp;lt;/span&amp;gt; works with 1.0 alpha&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
(CLU): please fix this issue preferred, because this is a potential &amp;#039;showstopper&amp;#039; for even an alpha release and also hinder further testing.&lt;br /&gt;
&lt;br /&gt;
(Mechtilde) After testing the alpha version I found this problem only with currency values. It stays as 0.00. In my test all other values work&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INVALID :)&lt;br /&gt;
When you add a new column to a table, then you need to fill it with unique values, before declaring it as primary key. When you do so, changing the PK to this column works perfectly.&lt;br /&gt;
&lt;br /&gt;
(CLU): no new column is added, just the pk is changed in table edit view (in this case the field is empty) .. sure the content must be unique, else i would await an error message ;)&lt;br /&gt;
&lt;br /&gt;
clu: .. and error message comes ;)&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk ? invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cannot reproduce in latest builds. What happens, though, is that e.g. VARCHAR columns get a wrong length (tripled). This is the well-known problem of wrong column lengths being reported by the driver.&lt;br /&gt;
&lt;br /&gt;
(CLU): cannot check at the moment .. but i do not understand, what an invalid error message has to do with wrong lenght of varchar columns? do you think it could have caused this message?&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: works as expected now. As Ulf and /me agreed, C/OOo will not expose the I_S at all.&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish ? java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The wizard tries to create a table in the INFORMATION_SCHEMA schema. Bad idea. However, how would a better idea look like? There&amp;#039;s no such thing as a &amp;quot;default schema&amp;quot; which could be used, so the wizard picks the first schema which it encounters, which happens to be INFORMATION_SCHEMA.&lt;br /&gt;
&lt;br /&gt;
Note that the problem does not happen when connecting via the JDBC driver, since here a) schemas are in fact reported as catalogs, and there &amp;#039;&amp;#039;is&amp;#039;&amp;#039; such a thing as a default/current catalog (namely [http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html#getCatalog Connection.getCatalog]), which is used and respected by the wizard.&lt;br /&gt;
&lt;br /&gt;
FS: Fixed. Since the Connector/OOo does not expose the INFORMATION_SCHEMA anymore, the wizard cannot pick it ...&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
FS: fixed with the usage of the SDBCX wrapper, which is also employed for MySQL via ODBC/JDBC.&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
(CLU): as the driver should work as good as jdbc/odbc driver or better, we have to think about a solution in future versions (how about deleting and creating new?)&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: fixed with the usage of the SDBCX wrapper driver. Note that for undprivileged users (which cannot select from the users table), there&amp;#039;s still the error message that user administration is not supported. This is actually wrong, but the error of the missing privileges is not propagated to the user here.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: fixed meanwhile. Was most probably a duplicate of the other &amp;quot;can&amp;#039;t insert data&amp;quot; issue&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
FS: fixed meanwhile. Probably was a duplicate of another issue, which was caused by wrong translations from C/C++&amp;#039;s sql::SQLException to C/OOo&amp;#039;s css.sdbc.SQLException.&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
FS: fixed. Replaced all occurrences of OUString::createFromAscii, which was applied to a C/Cpp-provided string, with proper decoding assuming UTF-8.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
FS: fixed in a recent build, where Andrey&amp;#039;s normalization of data types landed&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: Fixed in a recent build, where Andrey&amp;#039;s performance fixes to C/C++&amp;#039;s result sets landed. Now the performance is on the same level as with the JDBC driver, further performance improvements will happen on the Base side, independent from the MySQL native driver.&lt;br /&gt;
&lt;br /&gt;
=== Creating view not possible ===&lt;br /&gt;
&lt;br /&gt;
create any view in design mode &amp;amp; save -&amp;gt; error message: &amp;#039;CREATE VIEW command denied to user ..&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: cannot reproduce in current build (as of 2009-04-30)&lt;br /&gt;
&lt;br /&gt;
=== OPreparedStatement::getMetaData is not implemented ===&lt;br /&gt;
&lt;br /&gt;
OPreparedStatement::getMetaData is not implemented currently. Per API spec, it is expected to retrieve the meta data of the result set which the prepared statement would, well, result in, when executed. There are places in the API (SingleSelectQueryComposer, for instance), which make use of this functionality, and might fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception not converted ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sql.SQLException not handled in C/OO.org and not converted into SQLException.&lt;br /&gt;
&lt;br /&gt;
 .MSG: Calling DatabaseMetaData.getImportedKeys&lt;br /&gt;
 ERROR: Unexpected Exception exception type not found: sql.SQLException&lt;br /&gt;
&lt;br /&gt;
Same for getIndex().&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OO.org bug&lt;br /&gt;
&lt;br /&gt;
FS: Raised the severity to &amp;quot;required&amp;quot;, since on Unix platforms, throwing an exception which is not part of the method&amp;#039;s exception specification will abort the process.&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: classified as feature by now ...&lt;br /&gt;
&lt;br /&gt;
=== Definition of catalog and schema ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connector/J and Connector/C++ use differen meanings for schema and catalog. See getCatalogTerm(). This may impact assorted methods with *catalog*() and *schema*() in their names and also their result sets. In the result sets the meaning of columns like TABLE_CAT and TABLE_SCHEM may differ with Connector/J and Connector/C++. &lt;br /&gt;
&lt;br /&gt;
All C/OO.org methods need to be checked against this and implement whatever logic Base wants.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
FS: Base doesn&amp;#039;t really want a particular logic. If a database supports only schemas, that&amp;#039;s fine, if it supports only catalogs, that&amp;#039;s fine, if it supports both, that&amp;#039;s fine, too. The only requirement is that the responses of the driver should be consistent.&lt;br /&gt;
The fact that the JDBC driver exposes MySQL databases as catalogs is, finally, an implementation detail of the JDBC driver. As far as I know, the decision to mirror MySQL databases as schema instead of catalogs is younger than the current C/J.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we stay with C/OOo mapping databases to schemas, I seem to remember from talks with Georg that this is the preferred way nowadays.&lt;br /&gt;
&lt;br /&gt;
FS: as agreed with Ulf, the current situation, where MySQL DBs are mapped to schemas, is perfectly okay.&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/C++) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
FS: fixed in current version (C/C++ GA), according to Ulf&lt;br /&gt;
&lt;br /&gt;
=== Get the Mac version running ===&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;s currently no working Mac version (though versions for Windows, Solaris Sparc, Solaris x86, Linux 32bit). Since Mac is one of the standard platforms of OOo, this needs to be fixed ...&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: Building the lib is no problem, and I also managed to employ the install_name_tool to fix the lib paths in the C/OOo and C/C++ libs, but somehow ... this things doesn&amp;#039;t register so far ...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122679</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122679"/>
		<updated>2009-05-05T10:59:19Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* DatabseMetaData::getColumns() COLUMN_SIZE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; analyze reason, and suggest possible solution: &amp;quot;emulate&amp;quot; BOOL like the JDBC driver does (might yield other problems), or drop BOOL from the list of supported types&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject - not sure.&lt;br /&gt;
&lt;br /&gt;
The other three are not used, I think.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Frank):&amp;lt;/span&amp;gt; confirm which ones are needed, actually&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check if still applicable&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems/Fixed&amp;diff=122678</id>
		<title>Database/Drivers/MySQL Native/Known Problems/Fixed</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems/Fixed&amp;diff=122678"/>
		<updated>2009-05-05T10:59:17Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Fixed Problems}}&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;Ulf:&amp;lt;/span&amp;gt; works with 1.0 alpha&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
(CLU): please fix this issue preferred, because this is a potential &amp;#039;showstopper&amp;#039; for even an alpha release and also hinder further testing.&lt;br /&gt;
&lt;br /&gt;
(Mechtilde) After testing the alpha version I found this problem only with currency values. It stays as 0.00. In my test all other values work&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INVALID :)&lt;br /&gt;
When you add a new column to a table, then you need to fill it with unique values, before declaring it as primary key. When you do so, changing the PK to this column works perfectly.&lt;br /&gt;
&lt;br /&gt;
(CLU): no new column is added, just the pk is changed in table edit view (in this case the field is empty) .. sure the content must be unique, else i would await an error message ;)&lt;br /&gt;
&lt;br /&gt;
clu: .. and error message comes ;)&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk ? invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cannot reproduce in latest builds. What happens, though, is that e.g. VARCHAR columns get a wrong length (tripled). This is the well-known problem of wrong column lengths being reported by the driver.&lt;br /&gt;
&lt;br /&gt;
(CLU): cannot check at the moment .. but i do not understand, what an invalid error message has to do with wrong lenght of varchar columns? do you think it could have caused this message?&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: works as expected now. As Ulf and /me agreed, C/OOo will not expose the I_S at all.&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish ? java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The wizard tries to create a table in the INFORMATION_SCHEMA schema. Bad idea. However, how would a better idea look like? There&amp;#039;s no such thing as a &amp;quot;default schema&amp;quot; which could be used, so the wizard picks the first schema which it encounters, which happens to be INFORMATION_SCHEMA.&lt;br /&gt;
&lt;br /&gt;
Note that the problem does not happen when connecting via the JDBC driver, since here a) schemas are in fact reported as catalogs, and there &amp;#039;&amp;#039;is&amp;#039;&amp;#039; such a thing as a default/current catalog (namely [http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html#getCatalog Connection.getCatalog]), which is used and respected by the wizard.&lt;br /&gt;
&lt;br /&gt;
FS: Fixed. Since the Connector/OOo does not expose the INFORMATION_SCHEMA anymore, the wizard cannot pick it ...&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
FS: fixed with the usage of the SDBCX wrapper, which is also employed for MySQL via ODBC/JDBC.&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
(CLU): as the driver should work as good as jdbc/odbc driver or better, we have to think about a solution in future versions (how about deleting and creating new?)&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: fixed with the usage of the SDBCX wrapper driver. Note that for undprivileged users (which cannot select from the users table), there&amp;#039;s still the error message that user administration is not supported. This is actually wrong, but the error of the missing privileges is not propagated to the user here.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: fixed meanwhile. Was most probably a duplicate of the other &amp;quot;can&amp;#039;t insert data&amp;quot; issue&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
FS: fixed meanwhile. Probably was a duplicate of another issue, which was caused by wrong translations from C/C++&amp;#039;s sql::SQLException to C/OOo&amp;#039;s css.sdbc.SQLException.&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
FS: fixed. Replaced all occurrences of OUString::createFromAscii, which was applied to a C/Cpp-provided string, with proper decoding assuming UTF-8.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
FS: fixed in a recent build, where Andrey&amp;#039;s normalization of data types landed&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;fixed in current version&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: Fixed in a recent build, where Andrey&amp;#039;s performance fixes to C/C++&amp;#039;s result sets landed. Now the performance is on the same level as with the JDBC driver, further performance improvements will happen on the Base side, independent from the MySQL native driver.&lt;br /&gt;
&lt;br /&gt;
=== Creating view not possible ===&lt;br /&gt;
&lt;br /&gt;
create any view in design mode &amp;amp; save -&amp;gt; error message: &amp;#039;CREATE VIEW command denied to user ..&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: cannot reproduce in current build (as of 2009-04-30)&lt;br /&gt;
&lt;br /&gt;
=== OPreparedStatement::getMetaData is not implemented ===&lt;br /&gt;
&lt;br /&gt;
OPreparedStatement::getMetaData is not implemented currently. Per API spec, it is expected to retrieve the meta data of the result set which the prepared statement would, well, result in, when executed. There are places in the API (SingleSelectQueryComposer, for instance), which make use of this functionality, and might fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exception not converted ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sql.SQLException not handled in C/OO.org and not converted into SQLException.&lt;br /&gt;
&lt;br /&gt;
 .MSG: Calling DatabaseMetaData.getImportedKeys&lt;br /&gt;
 ERROR: Unexpected Exception exception type not found: sql.SQLException&lt;br /&gt;
&lt;br /&gt;
Same for getIndex().&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OO.org bug&lt;br /&gt;
&lt;br /&gt;
FS: Raised the severity to &amp;quot;required&amp;quot;, since on Unix platforms, throwing an exception which is not part of the method&amp;#039;s exception specification will abort the process.&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: classified as feature by now ...&lt;br /&gt;
&lt;br /&gt;
=== Definition of catalog and schema ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connector/J and Connector/C++ use differen meanings for schema and catalog. See getCatalogTerm(). This may impact assorted methods with *catalog*() and *schema*() in their names and also their result sets. In the result sets the meaning of columns like TABLE_CAT and TABLE_SCHEM may differ with Connector/J and Connector/C++. &lt;br /&gt;
&lt;br /&gt;
All C/OO.org methods need to be checked against this and implement whatever logic Base wants.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
FS: Base doesn&amp;#039;t really want a particular logic. If a database supports only schemas, that&amp;#039;s fine, if it supports only catalogs, that&amp;#039;s fine, if it supports both, that&amp;#039;s fine, too. The only requirement is that the responses of the driver should be consistent.&lt;br /&gt;
The fact that the JDBC driver exposes MySQL databases as catalogs is, finally, an implementation detail of the JDBC driver. As far as I know, the decision to mirror MySQL databases as schema instead of catalogs is younger than the current C/J.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we stay with C/OOo mapping databases to schemas, I seem to remember from talks with Georg that this is the preferred way nowadays.&lt;br /&gt;
&lt;br /&gt;
FS: as agreed with Ulf, the current situation, where MySQL DBs are mapped to schemas, is perfectly okay.&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/C++) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
FS: fixed in current version (C/C++ GA), according to Ulf&lt;br /&gt;
&lt;br /&gt;
=== Get the Mac version running ===&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;s currently no working Mac version (though versions for Windows, Solaris Sparc, Solaris x86, Linux 32bit). Since Mac is one of the standard platforms of OOo, this needs to be fixed ...&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: Building the lib is no problem, and I also managed to employ the install_name_tool to fix the lib paths in the C/OOo and C/C++ libs, but somehow ... this things doesn&amp;#039;t register so far ...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122670</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=122670"/>
		<updated>2009-05-05T09:48:41Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Currency Value */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo. A list of fixed problems is also [[Database/Drivers/MySQL_Native/Known_Problems/Fixed|available]].&lt;br /&gt;
&lt;br /&gt;
== required for 1.0 release ==&lt;br /&gt;
&lt;br /&gt;
=== On windows, the extension crashs on some systems ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-04-09&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On some Windows systems, if you install and use the extension, it will crash OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The extension ships an own version of &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;. When Windows loads the driver library (&amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt;), it also implicitly loads the &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, which &amp;lt;code&amp;gt;mysqlc.uno.dll&amp;lt;/code&amp;gt; is linked against. Unfortunately, Windows first searches in the folders specified by your &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; environment variable. If it finds a &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; in one of those folders, this one is used - no matter whether it is really compatible.&lt;br /&gt;
&lt;br /&gt;
Suggested solutions:&lt;br /&gt;
* rename &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt;, and link against this renamed version. Argh, not really.&lt;br /&gt;
* link &amp;lt;code&amp;gt;libmysql.dll&amp;lt;/code&amp;gt; statically&lt;br /&gt;
* load libmysql.dll explicitly (using &amp;lt;code&amp;gt;LoadLibrary&amp;lt;/code&amp;gt;). In this case, we would have control over where the lib is taken from&lt;br /&gt;
* make libmysql a managed assembly, having a identifer, and a version, which changes with every incompatible API/ABI change (and differs between the debug and the release version). In this case, Windows would ignore all libmysql.dll versions found in the &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; which do not proper version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Andrey):&amp;lt;/span&amp;gt; fix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;strike&amp;gt;Currency Value&amp;lt;/strike&amp;gt; DECIMAL columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Mechtilde&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This note relate to 4.2. I can&amp;#039;t input currency values. I get there 0.00.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Chris):&amp;lt;/span&amp;gt; i can confirm similar behavior:&lt;br /&gt;
&lt;br /&gt;
1. create a table with a decimal field with two decimal places (&amp;amp; pk)&amp;lt;br&amp;gt;&lt;br /&gt;
2. open the table and insert some values (f.e. currency)&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; after leaving the row the input is changed to &amp;#039;0&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(the same with every text or decimal field)&lt;br /&gt;
=&amp;gt; no senseful inserting is possible&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;(Ulf):&amp;lt;/span&amp;gt; this is about DECIMAL not Currency. Works with DOUBLE. &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unclassified/TODO ==&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check what problems we actually have here, and how severe they are (compared with a connection vis ODBC/JDBC).&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
(CLU): agree with FS .. every proposed type has to work, any unsupported type must not be shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; analyze reason, and suggest possible solution: &amp;quot;emulate&amp;quot; BOOL like the JDBC driver does (might yield other problems), or drop BOOL from the list of supported types&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; do we still/really have a problem here? Severity?&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject - not sure.&lt;br /&gt;
&lt;br /&gt;
The other three are not used, I think.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Frank):&amp;lt;/span&amp;gt; confirm which ones are needed, actually&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check if still applicable&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#FFC0C0&amp;quot;&amp;gt;TODO (Ulf):&amp;lt;/span&amp;gt; check if still applicable&lt;br /&gt;
&lt;br /&gt;
== Post-1.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
clu: works also wrong with native mysql driver -&amp;gt; works fine with odbc driver&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() (C/OOo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#F0EEC0; padding:3px&amp;quot;&amp;gt;reported by FS on 2009-01-29&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C/OOo&amp;#039;s getWarnings is implemented as dummy only. It should at least retrieve the warnings from the underlying C/C++ connection, and concert them to css.sdbc.SQLWarnings as appropriate.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Beta&amp;diff=119039</id>
		<title>Database/Drivers/MySQL Native/Beta</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Beta&amp;diff=119039"/>
		<updated>2009-04-09T13:45:37Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Known Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
MySQL Connector/OpenOffice.org is a MySQL driver for [http://www.openoffice.org/ OpenOffice.org]. It can be used to connect from OpenOffice.org 3.1 to a MySQL server 5.1 or newer.&lt;br /&gt;
&lt;br /&gt;
Before MySQL Connector/OpenOffice.org became available you&amp;#039;d have to use [http://dev.mysql.com/downloads/connector/j/ MySQL Connector/J (JDBC)] or [http://dev.mysql.com/downloads/connector/odbc/ MySQL Connector/ODBC] to connect to a MySQL server.&lt;br /&gt;
&lt;br /&gt;
Therefore the driver is also referred to as a native driver in the context of OpenOffice.org. The term native driver clashes with the MySQL definition of a native driver. MySQL Connector/OpenOffice.org does not implement the MySQL Client Server protocol. Technically speaking the MySQL Connector/OpenOffice.org is implemented as a proxy on top of the [http://dev.mysql.com/doc/refman/5.1/en/connector-cpp.html MySQL Connector/C++].&lt;br /&gt;
&lt;br /&gt;
The driver is delivered as an OpenOffice.org extension.&lt;br /&gt;
&lt;br /&gt;
=== Advantages ===&lt;br /&gt;
&lt;br /&gt;
Using MySQL Connector/OpenOffice.org has the following advantages:&lt;br /&gt;
&lt;br /&gt;
* Easy installation through the OpenOffice.org Extension Manager.&lt;br /&gt;
* Seamless integration into OpenOffice.org.&lt;br /&gt;
* No need to go through an additional Connector installation routine (ODBC/JDBC)&lt;br /&gt;
* No need to configure or register an additional Connector (ODBC)&lt;br /&gt;
* No need to install or configure a driver manager (ODBC)&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
&lt;br /&gt;
Please note, the MySQL Connector/OpenOffice.org is released as an alpha version. We do not recommend using the driver in production environments or systems with critical data. Please note, official support is not available.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Install or upgrade to OpenOffice.org 3.1 ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org 3.1 is available as a Release Candidate at [http://download.openoffice.org/next/index.html http://download.openoffice.org/next/index.html]. The driver does not work together with any other OpenOffice.org version.&lt;br /&gt;
&lt;br /&gt;
Caution: The installation wizard of OpenOffice.org 3.1 will remove older OpenOffice.org installations from your system by default. If you wo not want this, check out for the corresponding settings of the installation wizard.&lt;br /&gt;
&lt;br /&gt;
=== Download MySQL Connector/OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
The alpha version is available as a QA build from [ftp://qa-upload.services.openoffice.org/MySQLNative/ ftp://qa-upload.services.openoffice.org/MySQLNative/] -&lt;br /&gt;
&lt;br /&gt;
The extension is available for the following platforms:&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-windows-x86-32bit.oxt Windows x86, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-linux-x86-32bit.oxt Linux x86, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-solaris-sparc-32bit.oxt Solaris SPARC, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-solaris-x86-32bit.oxt Solaris x86, 32bit]&lt;br /&gt;
&lt;br /&gt;
Save the download to a location of your choice, for example &amp;lt;code&amp;gt;My Documents&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;~/Documents&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing the extension ===&lt;br /&gt;
&lt;br /&gt;
Add the &amp;lt;code&amp;gt;.oxt&amp;lt;/code&amp;gt; extension through the Extension Manager of OpenOffice.org. In OpenOffice.org, select &amp;lt;code&amp;gt;Tools, Extension Manager...&amp;lt;/code&amp;gt; and specify the &amp;lt;code&amp;gt;.oxt&amp;lt;/code&amp;gt; file as a new extension. When done, MySQL Connector/OpenOffice.org should show up as a new extension under &amp;lt;code&amp;gt;My Extensions&amp;lt;/code&amp;gt;.&lt;br /&gt;
: &amp;lt;br/&amp;gt;[[Image:Conn_ooo_alpha_extensions.jpg]]&lt;br /&gt;
&lt;br /&gt;
Restart OpenOffice.org to complete the installation.&lt;br /&gt;
&lt;br /&gt;
== Getting Started: Connecting to MySQL ==&lt;br /&gt;
&lt;br /&gt;
MySQL Connector/OpenOffice.org allows you to access the MySQL Server and its schemata from the OpenOffice.org suite.&lt;br /&gt;
&lt;br /&gt;
The following example demonstrates the creation of a new OpenOffice.org Base database which uses a local MySQL Server for storage and the new connector for connecting.&lt;br /&gt;
&lt;br /&gt;
=== Select the database ===&lt;br /&gt;
&lt;br /&gt;
Create a new database (&amp;lt;code&amp;gt;File, New, Database&amp;lt;/code&amp;gt;). This starts a wizard that allows you to create a new, open an existing, or connect to existing database. Select the latter option.&lt;br /&gt;
&lt;br /&gt;
From the drop-down list, select &amp;lt;code&amp;gt;MySQL&amp;lt;/code&amp;gt;. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard1.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Select the type of the driver ===&lt;br /&gt;
&lt;br /&gt;
You can use three different MySQL drivers for connecting to MySQL from OpenOffice.org. You can choose a generic ODBC or JDBC connection method or the native driver. Select &amp;lt;code&amp;gt;Connect native&amp;lt;/code&amp;gt;. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard2.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Setting up the database connection ===&lt;br /&gt;
&lt;br /&gt;
Set up the database connection. Put the schema (database) you want to connect to into &amp;lt;code&amp;gt;Name of the database&amp;lt;/code&amp;gt;. Enter the URL (host name), Port and Socket of your MySQL Server. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Fill in user credentials ===&lt;br /&gt;
&lt;br /&gt;
Provide the user credentials for connecting to your MySQL Server. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Save and proceed ===&lt;br /&gt;
&lt;br /&gt;
Finish the wizard. All defaults are a safe choice. Click &amp;lt;code&amp;gt;Finish&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard5.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Getting Started: Usage Examples ==&lt;br /&gt;
=== Listing Tables ===&lt;br /&gt;
In the Database area of the Base main window, select Tables. If this is the first time you&amp;#039;re accessing the database you&amp;#039;ll be prompted for your credentials (username and password); you can store these settings for your current Base session.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_base.jpg]]&lt;br /&gt;
&lt;br /&gt;
Depending on your connection settings you will now see all databases with all their tables, or just the database you&amp;#039;ve specified in the connection settings.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.openoffice.org/ OpenOffice.org website] for documentation of the office suite and its Extension Manager.&lt;br /&gt;
&lt;br /&gt;
== Known Bugs ==&lt;br /&gt;
&lt;br /&gt;
If you discover a bug in Connector/OpenOffice.org [http://wiki.services.openoffice.org/wiki/Database/Drivers/MySQL_Native/Known_Problems please add it to this list] and send an email to [mailto:users@dba.openoffice.org users@dba.openoffice.org].&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
To discuss the new MySQL Connector/OpenOffice.org, please subscribe to the mailing list [http://dba.openoffice.org/servlets/ProjectMailingListList users@dba.openoffice.org]. It is a low-volume list with less than 10 mails per day.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Beta&amp;diff=119038</id>
		<title>Database/Drivers/MySQL Native/Beta</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Beta&amp;diff=119038"/>
		<updated>2009-04-09T13:36:01Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Known Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
MySQL Connector/OpenOffice.org is a MySQL driver for [http://www.openoffice.org/ OpenOffice.org]. It can be used to connect from OpenOffice.org 3.1 to a MySQL server 5.1 or newer.&lt;br /&gt;
&lt;br /&gt;
Before MySQL Connector/OpenOffice.org became available you&amp;#039;d have to use [http://dev.mysql.com/downloads/connector/j/ MySQL Connector/J (JDBC)] or [http://dev.mysql.com/downloads/connector/odbc/ MySQL Connector/ODBC] to connect to a MySQL server.&lt;br /&gt;
&lt;br /&gt;
Therefore the driver is also referred to as a native driver in the context of OpenOffice.org. The term native driver clashes with the MySQL definition of a native driver. MySQL Connector/OpenOffice.org does not implement the MySQL Client Server protocol. Technically speaking the MySQL Connector/OpenOffice.org is implemented as a proxy on top of the [http://dev.mysql.com/doc/refman/5.1/en/connector-cpp.html MySQL Connector/C++].&lt;br /&gt;
&lt;br /&gt;
The driver is delivered as an OpenOffice.org extension.&lt;br /&gt;
&lt;br /&gt;
=== Advantages ===&lt;br /&gt;
&lt;br /&gt;
Using MySQL Connector/OpenOffice.org has the following advantages:&lt;br /&gt;
&lt;br /&gt;
* Easy installation through the OpenOffice.org Extension Manager.&lt;br /&gt;
* Seamless integration into OpenOffice.org.&lt;br /&gt;
* No need to go through an additional Connector installation routine (ODBC/JDBC)&lt;br /&gt;
* No need to configure or register an additional Connector (ODBC)&lt;br /&gt;
* No need to install or configure a driver manager (ODBC)&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
&lt;br /&gt;
Please note, the MySQL Connector/OpenOffice.org is released as an alpha version. We do not recommend using the driver in production environments or systems with critical data. Please note, official support is not available.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Install or upgrade to OpenOffice.org 3.1 ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org 3.1 is available as a Release Candidate at [http://download.openoffice.org/next/index.html http://download.openoffice.org/next/index.html]. The driver does not work together with any other OpenOffice.org version.&lt;br /&gt;
&lt;br /&gt;
Caution: The installation wizard of OpenOffice.org 3.1 will remove older OpenOffice.org installations from your system by default. If you wo not want this, check out for the corresponding settings of the installation wizard.&lt;br /&gt;
&lt;br /&gt;
=== Download MySQL Connector/OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
The alpha version is available as a QA build from [ftp://qa-upload.services.openoffice.org/MySQLNative/ ftp://qa-upload.services.openoffice.org/MySQLNative/] -&lt;br /&gt;
&lt;br /&gt;
The extension is available for the following platforms:&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-windows-x86-32bit.oxt Windows x86, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-linux-x86-32bit.oxt Linux x86, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-solaris-sparc-32bit.oxt Solaris SPARC, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-solaris-x86-32bit.oxt Solaris x86, 32bit]&lt;br /&gt;
&lt;br /&gt;
Save the download to a location of your choice, for example &amp;lt;code&amp;gt;My Documents&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;~/Documents&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing the extension ===&lt;br /&gt;
&lt;br /&gt;
Add the &amp;lt;code&amp;gt;.oxt&amp;lt;/code&amp;gt; extension through the Extension Manager of OpenOffice.org. In OpenOffice.org, select &amp;lt;code&amp;gt;Tools, Extension Manager...&amp;lt;/code&amp;gt; and specify the &amp;lt;code&amp;gt;.oxt&amp;lt;/code&amp;gt; file as a new extension. When done, MySQL Connector/OpenOffice.org should show up as a new extension under &amp;lt;code&amp;gt;My Extensions&amp;lt;/code&amp;gt;.&lt;br /&gt;
: &amp;lt;br/&amp;gt;[[Image:Conn_ooo_alpha_extensions.jpg]]&lt;br /&gt;
&lt;br /&gt;
Restart OpenOffice.org to complete the installation.&lt;br /&gt;
&lt;br /&gt;
== Getting Started: Connecting to MySQL ==&lt;br /&gt;
&lt;br /&gt;
MySQL Connector/OpenOffice.org allows you to access the MySQL Server and its schemata from the OpenOffice.org suite.&lt;br /&gt;
&lt;br /&gt;
The following example demonstrates the creation of a new OpenOffice.org Base database which uses a local MySQL Server for storage and the new connector for connecting.&lt;br /&gt;
&lt;br /&gt;
=== Select the database ===&lt;br /&gt;
&lt;br /&gt;
Create a new database (&amp;lt;code&amp;gt;File, New, Database&amp;lt;/code&amp;gt;). This starts a wizard that allows you to create a new, open an existing, or connect to existing database. Select the latter option.&lt;br /&gt;
&lt;br /&gt;
From the drop-down list, select &amp;lt;code&amp;gt;MySQL&amp;lt;/code&amp;gt;. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard1.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Select the type of the driver ===&lt;br /&gt;
&lt;br /&gt;
You can use three different MySQL drivers for connecting to MySQL from OpenOffice.org. You can choose a generic ODBC or JDBC connection method or the native driver. Select &amp;lt;code&amp;gt;Connect native&amp;lt;/code&amp;gt;. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard2.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Setting up the database connection ===&lt;br /&gt;
&lt;br /&gt;
Set up the database connection. Put the schema (database) you want to connect to into &amp;lt;code&amp;gt;Name of the database&amp;lt;/code&amp;gt;. Enter the URL (host name), Port and Socket of your MySQL Server. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Fill in user credentials ===&lt;br /&gt;
&lt;br /&gt;
Provide the user credentials for connecting to your MySQL Server. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Save and proceed ===&lt;br /&gt;
&lt;br /&gt;
Finish the wizard. All defaults are a safe choice. Click &amp;lt;code&amp;gt;Finish&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard5.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Getting Started: Usage Examples ==&lt;br /&gt;
=== Listing Tables ===&lt;br /&gt;
In the Database area of the Base main window, select Tables. If this is the first time you&amp;#039;re accessing the database you&amp;#039;ll be prompted for your credentials (username and password); you can store these settings for your current Base session.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_base.jpg]]&lt;br /&gt;
&lt;br /&gt;
Depending on your connection settings you will now see all databases with all their tables, or just the database you&amp;#039;ve specified in the connection settings.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.openoffice.org/ OpenOffice.org website] for documentation of the office suite and its Extension Manager.&lt;br /&gt;
&lt;br /&gt;
== Known Bugs ==&lt;br /&gt;
&lt;br /&gt;
If you discover a bug in Connector/OpenOffice.org [http://wiki.services.openoffice.org/wiki/Database/Drivers/MySQL_Native/Known_Problems please add it to this list] and send an email to [mailto:users@dba.openoffice.org users@dba.openoffice.org]. You need to be logged in with an OpenOffice.org account for both; see [http://dba.openoffice.org/servlets/ProjectMailingListList http://dba.openoffice.org/servlets/ProjectMailingListList] for details.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
To discuss the new MySQL Connector/OpenOffice.org, please subscribe to the mailing list [http://dba.openoffice.org/servlets/ProjectMailingListList users@dba.openoffice.org]. It is a low-volume list with less than 10 mails per day.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Beta&amp;diff=119037</id>
		<title>Database/Drivers/MySQL Native/Beta</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Beta&amp;diff=119037"/>
		<updated>2009-04-09T13:34:45Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
MySQL Connector/OpenOffice.org is a MySQL driver for [http://www.openoffice.org/ OpenOffice.org]. It can be used to connect from OpenOffice.org 3.1 to a MySQL server 5.1 or newer.&lt;br /&gt;
&lt;br /&gt;
Before MySQL Connector/OpenOffice.org became available you&amp;#039;d have to use [http://dev.mysql.com/downloads/connector/j/ MySQL Connector/J (JDBC)] or [http://dev.mysql.com/downloads/connector/odbc/ MySQL Connector/ODBC] to connect to a MySQL server.&lt;br /&gt;
&lt;br /&gt;
Therefore the driver is also referred to as a native driver in the context of OpenOffice.org. The term native driver clashes with the MySQL definition of a native driver. MySQL Connector/OpenOffice.org does not implement the MySQL Client Server protocol. Technically speaking the MySQL Connector/OpenOffice.org is implemented as a proxy on top of the [http://dev.mysql.com/doc/refman/5.1/en/connector-cpp.html MySQL Connector/C++].&lt;br /&gt;
&lt;br /&gt;
The driver is delivered as an OpenOffice.org extension.&lt;br /&gt;
&lt;br /&gt;
=== Advantages ===&lt;br /&gt;
&lt;br /&gt;
Using MySQL Connector/OpenOffice.org has the following advantages:&lt;br /&gt;
&lt;br /&gt;
* Easy installation through the OpenOffice.org Extension Manager.&lt;br /&gt;
* Seamless integration into OpenOffice.org.&lt;br /&gt;
* No need to go through an additional Connector installation routine (ODBC/JDBC)&lt;br /&gt;
* No need to configure or register an additional Connector (ODBC)&lt;br /&gt;
* No need to install or configure a driver manager (ODBC)&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
&lt;br /&gt;
Please note, the MySQL Connector/OpenOffice.org is released as an alpha version. We do not recommend using the driver in production environments or systems with critical data. Please note, official support is not available.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Install or upgrade to OpenOffice.org 3.1 ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org 3.1 is available as a Release Candidate at [http://download.openoffice.org/next/index.html http://download.openoffice.org/next/index.html]. The driver does not work together with any other OpenOffice.org version.&lt;br /&gt;
&lt;br /&gt;
Caution: The installation wizard of OpenOffice.org 3.1 will remove older OpenOffice.org installations from your system by default. If you wo not want this, check out for the corresponding settings of the installation wizard.&lt;br /&gt;
&lt;br /&gt;
=== Download MySQL Connector/OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
The alpha version is available as a QA build from [ftp://qa-upload.services.openoffice.org/MySQLNative/ ftp://qa-upload.services.openoffice.org/MySQLNative/] -&lt;br /&gt;
&lt;br /&gt;
The extension is available for the following platforms:&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-windows-x86-32bit.oxt Windows x86, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-linux-x86-32bit.oxt Linux x86, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-solaris-sparc-32bit.oxt Solaris SPARC, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-solaris-x86-32bit.oxt Solaris x86, 32bit]&lt;br /&gt;
&lt;br /&gt;
Save the download to a location of your choice, for example &amp;lt;code&amp;gt;My Documents&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;~/Documents&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing the extension ===&lt;br /&gt;
&lt;br /&gt;
Add the &amp;lt;code&amp;gt;.oxt&amp;lt;/code&amp;gt; extension through the Extension Manager of OpenOffice.org. In OpenOffice.org, select &amp;lt;code&amp;gt;Tools, Extension Manager...&amp;lt;/code&amp;gt; and specify the &amp;lt;code&amp;gt;.oxt&amp;lt;/code&amp;gt; file as a new extension. When done, MySQL Connector/OpenOffice.org should show up as a new extension under &amp;lt;code&amp;gt;My Extensions&amp;lt;/code&amp;gt;.&lt;br /&gt;
: &amp;lt;br/&amp;gt;[[Image:Conn_ooo_alpha_extensions.jpg]]&lt;br /&gt;
&lt;br /&gt;
Restart OpenOffice.org to complete the installation.&lt;br /&gt;
&lt;br /&gt;
== Getting Started: Connecting to MySQL ==&lt;br /&gt;
&lt;br /&gt;
MySQL Connector/OpenOffice.org allows you to access the MySQL Server and its schemata from the OpenOffice.org suite.&lt;br /&gt;
&lt;br /&gt;
The following example demonstrates the creation of a new OpenOffice.org Base database which uses a local MySQL Server for storage and the new connector for connecting.&lt;br /&gt;
&lt;br /&gt;
=== Select the database ===&lt;br /&gt;
&lt;br /&gt;
Create a new database (&amp;lt;code&amp;gt;File, New, Database&amp;lt;/code&amp;gt;). This starts a wizard that allows you to create a new, open an existing, or connect to existing database. Select the latter option.&lt;br /&gt;
&lt;br /&gt;
From the drop-down list, select &amp;lt;code&amp;gt;MySQL&amp;lt;/code&amp;gt;. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard1.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Select the type of the driver ===&lt;br /&gt;
&lt;br /&gt;
You can use three different MySQL drivers for connecting to MySQL from OpenOffice.org. You can choose a generic ODBC or JDBC connection method or the native driver. Select &amp;lt;code&amp;gt;Connect native&amp;lt;/code&amp;gt;. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard2.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Setting up the database connection ===&lt;br /&gt;
&lt;br /&gt;
Set up the database connection. Put the schema (database) you want to connect to into &amp;lt;code&amp;gt;Name of the database&amp;lt;/code&amp;gt;. Enter the URL (host name), Port and Socket of your MySQL Server. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Fill in user credentials ===&lt;br /&gt;
&lt;br /&gt;
Provide the user credentials for connecting to your MySQL Server. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Save and proceed ===&lt;br /&gt;
&lt;br /&gt;
Finish the wizard. All defaults are a safe choice. Click &amp;lt;code&amp;gt;Finish&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard5.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Getting Started: Usage Examples ==&lt;br /&gt;
=== Listing Tables ===&lt;br /&gt;
In the Database area of the Base main window, select Tables. If this is the first time you&amp;#039;re accessing the database you&amp;#039;ll be prompted for your credentials (username and password); you can store these settings for your current Base session.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_base.jpg]]&lt;br /&gt;
&lt;br /&gt;
Depending on your connection settings you will now see all databases with all their tables, or just the database you&amp;#039;ve specified in the connection settings.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.openoffice.org/ OpenOffice.org website] for documentation of the office suite and its Extension Manager.&lt;br /&gt;
&lt;br /&gt;
== Known Bugs ==&lt;br /&gt;
&lt;br /&gt;
If you discover a bug in Connector/OpenOffice.org [http://wiki.services.openoffice.org/wiki/Database/Drivers/MySQL_Native#Known_issues please add it to this list] and send an email to [mailto:users@dba.openoffice.org users@dba.openoffice.org]. You need to be logged in with an OpenOffice.org account for both; see [http://dba.openoffice.org/servlets/ProjectMailingListList http://dba.openoffice.org/servlets/ProjectMailingListList] for details.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
To discuss the new MySQL Connector/OpenOffice.org, please subscribe to the mailing list [http://dba.openoffice.org/servlets/ProjectMailingListList users@dba.openoffice.org]. It is a low-volume list with less than 10 mails per day.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Beta&amp;diff=119036</id>
		<title>Database/Drivers/MySQL Native/Beta</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Beta&amp;diff=119036"/>
		<updated>2009-04-09T13:34:07Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: New page: Category:MySQLDevelopment Category:Software_Preview == Introduction ==  MySQL Connector/OpenOffice.org is a MySQL driver for [http://www.openoffice.org/ OpenOffice.org]. It can be ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:MySQLDevelopment]]&lt;br /&gt;
[[Category:Software_Preview]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
MySQL Connector/OpenOffice.org is a MySQL driver for [http://www.openoffice.org/ OpenOffice.org]. It can be used to connect from OpenOffice.org 3.1 to a MySQL server 5.1 or newer.&lt;br /&gt;
&lt;br /&gt;
Before MySQL Connector/OpenOffice.org became available you&amp;#039;d have to use [http://dev.mysql.com/downloads/connector/j/ MySQL Connector/J (JDBC)] or [http://dev.mysql.com/downloads/connector/odbc/ MySQL Connector/ODBC] to connect to a MySQL server.&lt;br /&gt;
&lt;br /&gt;
Therefore the driver is also referred to as a native driver in the context of OpenOffice.org. The term native driver clashes with the MySQL definition of a native driver. MySQL Connector/OpenOffice.org does not implement the MySQL Client Server protocol. Technically speaking the MySQL Connector/OpenOffice.org is implemented as a proxy on top of the [http://dev.mysql.com/doc/refman/5.1/en/connector-cpp.html MySQL Connector/C++].&lt;br /&gt;
&lt;br /&gt;
The driver is delivered as an OpenOffice.org extension.&lt;br /&gt;
&lt;br /&gt;
=== Advantages ===&lt;br /&gt;
&lt;br /&gt;
Using MySQL Connector/OpenOffice.org has the following advantages:&lt;br /&gt;
&lt;br /&gt;
* Easy installation through the OpenOffice.org Extension Manager.&lt;br /&gt;
* Seamless integration into OpenOffice.org.&lt;br /&gt;
* No need to go through an additional Connector installation routine (ODBC/JDBC)&lt;br /&gt;
* No need to configure or register an additional Connector (ODBC)&lt;br /&gt;
* No need to install or configure a driver manager (ODBC)&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
&lt;br /&gt;
Please note, the MySQL Connector/OpenOffice.org is released as an alpha version. We do not recommend using the driver in production environments or systems with critical data. Please note, official support is not available.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Install or upgrade to OpenOffice.org 3.1 ===&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org 3.1 is available as a Release Candidate at [http://download.openoffice.org/next/index.html http://download.openoffice.org/next/index.html]. The driver does not work together with any other OpenOffice.org version.&lt;br /&gt;
&lt;br /&gt;
Caution: The installation wizard of OpenOffice.org 3.1 will remove older OpenOffice.org installations from your system by default. If you wo not want this, check out for the corresponding settings of the installation wizard.&lt;br /&gt;
&lt;br /&gt;
=== Download MySQL Connector/OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
The alpha version is available as a QA build from [ftp://qa-upload.services.openoffice.org/MySQLNative/ ftp://qa-upload.services.openoffice.org/MySQLNative/] -&lt;br /&gt;
&lt;br /&gt;
The extension is available for the following platforms:&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-windows-x86-32bit.oxt Windows x86, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-linux-x86-32bit.oxt Linux x86, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-solaris-sparc-32bit.oxt Solaris SPARC, 32bit]&lt;br /&gt;
* [ftp://qa-upload.services.openoffice.org/MySQLNative/mysql-connector-ooo-alpha-2-solaris-x86-32bit.oxt Solaris x86, 32bit]&lt;br /&gt;
&lt;br /&gt;
Save the download to a location of your choice, for example &amp;lt;code&amp;gt;My Documents&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;~/Documents&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing the extension ===&lt;br /&gt;
&lt;br /&gt;
Add the &amp;lt;code&amp;gt;.oxt&amp;lt;/code&amp;gt; extension through the Extension Manager of OpenOffice.org. In OpenOffice.org, select &amp;lt;code&amp;gt;Tools, Extension Manager...&amp;lt;/code&amp;gt; and specify the &amp;lt;code&amp;gt;.oxt&amp;lt;/code&amp;gt; file as a new extension. When done, MySQL Connector/OpenOffice.org should show up as a new extension under &amp;lt;code&amp;gt;My Extensions&amp;lt;/code&amp;gt;.&lt;br /&gt;
: &amp;lt;br/&amp;gt;[[Image:Conn_ooo_alpha_extensions.jpg]]&lt;br /&gt;
&lt;br /&gt;
Restart OpenOffice.org to complete the installation.&lt;br /&gt;
&lt;br /&gt;
== Getting Started: Connecting to MySQL ==&lt;br /&gt;
&lt;br /&gt;
MySQL Connector/OpenOffice.org allows you to access the MySQL Server and its schemata from the OpenOffice.org suite.&lt;br /&gt;
&lt;br /&gt;
The following example demonstrates the creation of a new OpenOffice.org Base database which uses a local MySQL Server for storage and the new connector for connecting.&lt;br /&gt;
&lt;br /&gt;
=== Select the database ===&lt;br /&gt;
&lt;br /&gt;
Create a new database (&amp;lt;code&amp;gt;File, New, Database&amp;lt;/code&amp;gt;). This starts a wizard that allows you to create a new, open an existing, or connect to existing database. Select the latter option.&lt;br /&gt;
&lt;br /&gt;
From the drop-down list, select &amp;lt;code&amp;gt;MySQL&amp;lt;/code&amp;gt;. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard1.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Select the type of the driver ===&lt;br /&gt;
&lt;br /&gt;
You can use three different MySQL drivers for connecting to MySQL from OpenOffice.org. You can choose a generic ODBC or JDBC connection method or the native driver. Select &amp;lt;code&amp;gt;Connect native&amp;lt;/code&amp;gt;. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard2.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Setting up the database connection ===&lt;br /&gt;
&lt;br /&gt;
Set up the database connection. Put the schema (database) you want to connect to into &amp;lt;code&amp;gt;Name of the database&amp;lt;/code&amp;gt;. Enter the URL (host name), Port and Socket of your MySQL Server. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Fill in user credentials ===&lt;br /&gt;
&lt;br /&gt;
Provide the user credentials for connecting to your MySQL Server. Click &amp;lt;code&amp;gt;Next&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Save and proceed ===&lt;br /&gt;
&lt;br /&gt;
Finish the wizard. All defaults are a safe choice. Click &amp;lt;code&amp;gt;Finish&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_wizard5.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Getting Started: Usage Examples ==&lt;br /&gt;
=== Listing Tables ===&lt;br /&gt;
In the Database area of the Base main window, select Tables. If this is the first time you&amp;#039;re accessing the database you&amp;#039;ll be prompted for your credentials (username and password); you can store these settings for your current Base session.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conn_ooo_alpha_base.jpg]]&lt;br /&gt;
&lt;br /&gt;
Depending on your connection settings you will now see all databases with all their tables, or just the database you&amp;#039;ve specified in the connection settings.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.openoffice.org/ OpenOffice.org website] for documentation of the office suite and its Extension Manager.&lt;br /&gt;
&lt;br /&gt;
== Known Bugs ==&lt;br /&gt;
&lt;br /&gt;
If you discover a bug in Connector/OpenOffice.org [http://wiki.services.openoffice.org/wiki/Database/Drivers/MySQL_Native#Known_issues please add it to this list] and send an email to [mailto:users@dba.openoffice.org users@dba.openoffice.org]. You need to be logged in with an OpenOffice.org account for both; see [http://dba.openoffice.org/servlets/ProjectMailingListList http://dba.openoffice.org/servlets/ProjectMailingListList] for details.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
To discuss the new MySQL Connector/OpenOffice.org, please subscribe to the mailing list [http://dba.openoffice.org/servlets/ProjectMailingListList users@dba.openoffice.org]. It is a low-volume list with less than 10 mails per day.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=110323</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=110323"/>
		<updated>2009-02-02T10:53:00Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Configure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m39&lt;br /&gt;
 cd DEV300_m39&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m39&lt;br /&gt;
 cd DEV300_m39&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;M39&amp;#039;&amp;#039;&amp;#039;: configure seems broken. &lt;br /&gt;
&lt;br /&gt;
Fix set_soenv.in, if need be. In my case its necessary to modify SYSTEM_HSQLDB to:&lt;br /&gt;
  ToFile( &amp;quot;SYSTEM_HSQLDB&amp;quot;,     &amp;quot;NO&amp;quot;,    &amp;quot;e&amp;quot; ); &lt;br /&gt;
Also, mysqlcppconn did not compile out-of-the box. It did not find mysql.h and shows the to be expected follow-up errors like mysql_&amp;lt;funcname&amp;gt; not found. I fixed it by modifying LinuxX86Env.sh to &amp;quot;emulate&amp;quot; --with-system-mysql.&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
Check the build message for the location of the extension, for example:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 [...]&lt;br /&gt;
 cp -f /tmp/mkdF4yFR.mysql-native_.oxt  ./unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 rm -f /tmp/mkdF4yFR.mysql-native_.oxt&lt;br /&gt;
 -------------&lt;br /&gt;
 rmdir /tmp/11964&lt;br /&gt;
 deliver -- version: 1.130&lt;br /&gt;
 Module &amp;#039;mysqlc&amp;#039; delivered successfully. 0 files copied, 1 files unchanged&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;System build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This describes a set up where you compile the extension against the MySQL Connector/C++ installed on the system. The usage of --with-system-mysqlcppconn may or may not work. We are focussing on the &amp;quot;standalone&amp;quot; build for the moment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: There seems to be a dispute in the OpenOffice.org developer group if --with-system* refers to build or to build and compile time. The question is if --with-system* is set, should an extension contain all libraries it depends on or not. For example, if --with-system-mysqlcppconn is set, should the MySQL Connector/C++ libraries be part of the extension or not. However, this is a question that goes beyond the scope of the MySQL driver. Its a general question to be discussed on a general level.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
Also flip the default setting for generating debug output in &amp;lt;code&amp;gt;driver/mysql_debug.cpp&amp;lt;/code&amp;gt;. Modify the constructor and set tracing to true:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 /* {{{ MySQL_DebugLogger::MySQL_DebugLogger() -I- */&lt;br /&gt;
 MySQL_DebugLogger::MySQL_DebugLogger()&lt;br /&gt;
   : tracing(true)&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 /* }}} */&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
When building &amp;lt;code&amp;gt;mysqlc&amp;lt;/code&amp;gt;, don&amp;#039;t forget to enable C/OOo debug output using:&lt;br /&gt;
&lt;br /&gt;
  cd mysqlc&lt;br /&gt;
  build --all debug=&amp;quot;something&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=110322</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=110322"/>
		<updated>2009-02-02T10:52:23Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Configure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m39&lt;br /&gt;
 cd DEV300_m39&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m39&lt;br /&gt;
 cd DEV300_m39&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;M39&amp;#039;&amp;#039;: configure seems broken. Fix set_soenv.in, if need be. In my case its necessary to modify SYSTEM_HSQLDB to:&lt;br /&gt;
  ToFile( &amp;quot;SYSTEM_HSQLDB&amp;quot;,     &amp;quot;NO&amp;quot;,    &amp;quot;e&amp;quot; ); &lt;br /&gt;
Also, mysqlcppconn did not compile out-of-the box. It did not find mysql.h and shows the to be expected follow-up errors like mysql_&amp;lt;funcname&amp;gt; not found. I fixed it by modifying LinuxX86Env.sh to &amp;quot;emulate&amp;quot; --with-system-mysql.&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
Check the build message for the location of the extension, for example:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 [...]&lt;br /&gt;
 cp -f /tmp/mkdF4yFR.mysql-native_.oxt  ./unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 rm -f /tmp/mkdF4yFR.mysql-native_.oxt&lt;br /&gt;
 -------------&lt;br /&gt;
 rmdir /tmp/11964&lt;br /&gt;
 deliver -- version: 1.130&lt;br /&gt;
 Module &amp;#039;mysqlc&amp;#039; delivered successfully. 0 files copied, 1 files unchanged&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;System build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This describes a set up where you compile the extension against the MySQL Connector/C++ installed on the system. The usage of --with-system-mysqlcppconn may or may not work. We are focussing on the &amp;quot;standalone&amp;quot; build for the moment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: There seems to be a dispute in the OpenOffice.org developer group if --with-system* refers to build or to build and compile time. The question is if --with-system* is set, should an extension contain all libraries it depends on or not. For example, if --with-system-mysqlcppconn is set, should the MySQL Connector/C++ libraries be part of the extension or not. However, this is a question that goes beyond the scope of the MySQL driver. Its a general question to be discussed on a general level.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
Also flip the default setting for generating debug output in &amp;lt;code&amp;gt;driver/mysql_debug.cpp&amp;lt;/code&amp;gt;. Modify the constructor and set tracing to true:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 /* {{{ MySQL_DebugLogger::MySQL_DebugLogger() -I- */&lt;br /&gt;
 MySQL_DebugLogger::MySQL_DebugLogger()&lt;br /&gt;
   : tracing(true)&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 /* }}} */&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
When building &amp;lt;code&amp;gt;mysqlc&amp;lt;/code&amp;gt;, don&amp;#039;t forget to enable C/OOo debug output using:&lt;br /&gt;
&lt;br /&gt;
  cd mysqlc&lt;br /&gt;
  build --all debug=&amp;quot;something&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=109816</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=109816"/>
		<updated>2009-01-29T17:21:41Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Get sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m39&lt;br /&gt;
 cd DEV300_m39&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m39&lt;br /&gt;
 cd DEV300_m39&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
Check the build message for the location of the extension, for example:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 [...]&lt;br /&gt;
 cp -f /tmp/mkdF4yFR.mysql-native_.oxt  ./unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 rm -f /tmp/mkdF4yFR.mysql-native_.oxt&lt;br /&gt;
 -------------&lt;br /&gt;
 rmdir /tmp/11964&lt;br /&gt;
 deliver -- version: 1.130&lt;br /&gt;
 Module &amp;#039;mysqlc&amp;#039; delivered successfully. 0 files copied, 1 files unchanged&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;System build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This describes a set up where you compile the extension against the MySQL Connector/C++ installed on the system. The usage of --with-system-mysqlcppconn may or may not work. We are focussing on the &amp;quot;standalone&amp;quot; build for the moment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: There seems to be a dispute in the OpenOffice.org developer group if --with-system* refers to build or to build and compile time. The question is if --with-system* is set, should an extension contain all libraries it depends on or not. For example, if --with-system-mysqlcppconn is set, should the MySQL Connector/C++ libraries be part of the extension or not. However, this is a question that goes beyond the scope of the MySQL driver. Its a general question to be discussed on a general level.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
Also flip the default setting for generating debug output in &amp;lt;code&amp;gt;driver/mysql_debug.cpp&amp;lt;/code&amp;gt;. Modify the constructor and set tracing to true:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 /* {{{ MySQL_DebugLogger::MySQL_DebugLogger() -I- */&lt;br /&gt;
 MySQL_DebugLogger::MySQL_DebugLogger()&lt;br /&gt;
   : tracing(true)&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 /* }}} */&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
When building &amp;lt;code&amp;gt;mysqlc&amp;lt;/code&amp;gt;, don&amp;#039;t forget to enable C/OOo debug output using:&lt;br /&gt;
&lt;br /&gt;
  cd mysqlc&lt;br /&gt;
  build --all debug=&amp;quot;something&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109421</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109421"/>
		<updated>2009-01-27T14:56:25Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Template for new entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Pointer: MySQL ODBC file utitlity.c get_column_size&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Exception not converted ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sql.SQLException not handled in C/OO.org and not converted into SQLException.&lt;br /&gt;
&lt;br /&gt;
 .MSG: Calling DatabaseMetaData.getImportedKeys&lt;br /&gt;
 ERROR: Unexpected Exception exception type not found: sql.SQLException&lt;br /&gt;
&lt;br /&gt;
Same for getIndex().&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OO.org bug&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Definition of catalog and schema ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connector/J and Connector/C++ use differen meanings for schema and catalog. See getCatalogTerm(). This may impact assorted methods with *catalog*() and *schema*() in their names and also their result sets. In the result sets the meaning of columns like TABLE_CAT and TABLE_SCHEM may differ with Connector/J and Connector/C++. &lt;br /&gt;
&lt;br /&gt;
All C/OO.org methods need to be checked against this and implement whatever logic Base wants.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== XCloseable::close throws wrong exception ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following sequence does not issue a SQLEception but a DisposedException as it seems:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 statement.close()&lt;br /&gt;
 statement.executeQuery()&lt;br /&gt;
&lt;br /&gt;
It should throw SQLException, accoding to http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XCloseable.html&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: The DisposedException is the usual exception when you try to work with a, well, disposed object. The XCloseable documentation linked above only mentions that an SQLException is thrown in case of a &amp;quot;database access error&amp;quot;, anyway. Also, I bet that in the sequence above, the exception is really thrown during executeQuery - which would be correct. In short: I don&amp;#039;t see an issue here.&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject - not sure.&lt;br /&gt;
&lt;br /&gt;
The other three are not used, I think.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INVALID :)&lt;br /&gt;
When you add a new column to a table, then you need to fill it with unique values, before declaring it as primary key. When you do so, changing the PK to this column works perfectly.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk ? invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cannot reproduce in latest builds. What happens, though, is that e.g. VARCHAR columns get a wrong length (tripled). This is the well-known problem of wrong column lengths being reported by the driver.&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: works as expected now. As Ulf and /me agreed, C/OOo will not expose the I_S at all.&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish ? java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The wizard tries to create a table in the INFORMATION_SCHEMA schema. Bad idea. However, how would a better idea look like? There&amp;#039;s no such thing as a &amp;quot;default schema&amp;quot; which could be used, so the wizard picks the first schema which it encounters, which happens to be INFORMATION_SCHEMA.&lt;br /&gt;
&lt;br /&gt;
Note that the problem does not happen when connecting via the JDBC driver, since here a) schemas are in fact reported as catalogs, and there &amp;#039;&amp;#039;is&amp;#039;&amp;#039; such a thing as a default/current catalog (namely [http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html#getCatalog Connection.getCatalog]), which is used and respected by the wizard.&lt;br /&gt;
&lt;br /&gt;
FS: Fixed. Since the Connector/OOo does not expose the INFORMATION_SCHEMA anymore, the wizard cannot pick it ...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109420</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109420"/>
		<updated>2009-01-27T14:55:37Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Template for new entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Pointer: MySQL ODBC file utitlity.c get_column_size&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getProcedureColumns is a stub ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://pastebin.com/m75809&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sql.SQLException not handled in C/OO.org and not converted into SQLException.&lt;br /&gt;
&lt;br /&gt;
 .MSG: Calling DatabaseMetaData.getImportedKeys&lt;br /&gt;
 ERROR: Unexpected Exception exception type not found: sql.SQLException&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OO.org bug&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Definition of catalog and schema ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connector/J and Connector/C++ use differen meanings for schema and catalog. See getCatalogTerm(). This may impact assorted methods with *catalog*() and *schema*() in their names and also their result sets. In the result sets the meaning of columns like TABLE_CAT and TABLE_SCHEM may differ with Connector/J and Connector/C++. &lt;br /&gt;
&lt;br /&gt;
All C/OO.org methods need to be checked against this and implement whatever logic Base wants.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== XCloseable::close throws wrong exception ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following sequence does not issue a SQLEception but a DisposedException as it seems:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 statement.close()&lt;br /&gt;
 statement.executeQuery()&lt;br /&gt;
&lt;br /&gt;
It should throw SQLException, accoding to http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XCloseable.html&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: The DisposedException is the usual exception when you try to work with a, well, disposed object. The XCloseable documentation linked above only mentions that an SQLException is thrown in case of a &amp;quot;database access error&amp;quot;, anyway. Also, I bet that in the sequence above, the exception is really thrown during executeQuery - which would be correct. In short: I don&amp;#039;t see an issue here.&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject - not sure.&lt;br /&gt;
&lt;br /&gt;
The other three are not used, I think.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INVALID :)&lt;br /&gt;
When you add a new column to a table, then you need to fill it with unique values, before declaring it as primary key. When you do so, changing the PK to this column works perfectly.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk ? invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cannot reproduce in latest builds. What happens, though, is that e.g. VARCHAR columns get a wrong length (tripled). This is the well-known problem of wrong column lengths being reported by the driver.&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: works as expected now. As Ulf and /me agreed, C/OOo will not expose the I_S at all.&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish ? java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The wizard tries to create a table in the INFORMATION_SCHEMA schema. Bad idea. However, how would a better idea look like? There&amp;#039;s no such thing as a &amp;quot;default schema&amp;quot; which could be used, so the wizard picks the first schema which it encounters, which happens to be INFORMATION_SCHEMA.&lt;br /&gt;
&lt;br /&gt;
Note that the problem does not happen when connecting via the JDBC driver, since here a) schemas are in fact reported as catalogs, and there &amp;#039;&amp;#039;is&amp;#039;&amp;#039; such a thing as a default/current catalog (namely [http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html#getCatalog Connection.getCatalog]), which is used and respected by the wizard.&lt;br /&gt;
&lt;br /&gt;
FS: Fixed. Since the Connector/OOo does not expose the INFORMATION_SCHEMA anymore, the wizard cannot pick it ...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109410</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109410"/>
		<updated>2009-01-27T14:28:36Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Template for new entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Pointer: MySQL ODBC file utitlity.c get_column_size&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The wizard tries to create a table in the INFORMATION_SCHEMA schema. Bad idea. However, how would a better idea look like? There&amp;#039;s no such thing as a &amp;quot;default schema&amp;quot; which could be used, so the wizard picks the first schema which it encounters, which happens to be INFORMATION_SCHEMA.&lt;br /&gt;
&lt;br /&gt;
Note that the problem does not happen when connecting via the JDBC driver, since here a) schemas are in fact reported as catalogs, and there &amp;#039;&amp;#039;is&amp;#039;&amp;#039; such a thing as a default/current catalog (namely [http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html#getCatalog Connection.getCatalog]), which is used and respected by the wizard.&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sql.SQLException not handled in C/OO.org and not converted into SQLException.&lt;br /&gt;
&lt;br /&gt;
 .MSG: Calling DatabaseMetaData.getImportedKeys&lt;br /&gt;
 ERROR: Unexpected Exception exception type not found: sql.SQLException&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OO.org bug&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Definition of catalog and schema ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connector/J and Connector/C++ use differen meanings for schema and catalog. See getCatalogTerm(). This may impact assorted methods with *catalog*() and *schema*() in their names and also their result sets. In the result sets the meaning of columns like TABLE_CAT and TABLE_SCHEM may differ with Connector/J and Connector/C++. &lt;br /&gt;
&lt;br /&gt;
All C/OO.org methods need to be checked against this and implement whatever logic Base wants.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== XCloseable::close throws wrong exception ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following sequence does not issue a SQLEception but a DisposedException as it seems:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 statement.close()&lt;br /&gt;
 statement.executeQuery()&lt;br /&gt;
&lt;br /&gt;
It should throw SQLException, accoding to http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XCloseable.html&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: The DisposedException is the usual exception when you try to work with a, well, disposed object. The XCloseable documentation linked above only mentions that an SQLException is thrown in case of a &amp;quot;database access error&amp;quot;, anyway. Also, I bet that in the sequence above, the exception is really thrown during executeQuery - which would be correct. In short: I don&amp;#039;t see an issue here.&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject - not sure.&lt;br /&gt;
&lt;br /&gt;
The other three are not used, I think.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INVALID :)&lt;br /&gt;
When you add a new column to a table, then you need to fill it with unique values, before declaring it as primary key. When you do so, changing the PK to this column works perfectly.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk ? invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cannot reproduce in latest builds. What happens, though, is that e.g. VARCHAR columns get a wrong length (tripled). This is the well-known problem of wrong column lengths being reported by the driver.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109409</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109409"/>
		<updated>2009-01-27T14:22:48Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Template for new entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Pointer: MySQL ODBC file utitlity.c get_column_size&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The wizard tries to create a table in the INFORMATION_SCHEMA schema. Bad idea. However, how would a better idea look like? There&amp;#039;s no such thing as a &amp;quot;default schema&amp;quot; which could be used, so the wizard picks the first schema which it encounters, which happens to be INFORMATION_SCHEMA.&lt;br /&gt;
&lt;br /&gt;
Note that the problem does not happen when connecting via the JDBC driver, since here a) schemas are in fact reported as catalogs, and there &amp;#039;&amp;#039;is&amp;#039;&amp;#039; such a thing as a default/current catalog (namely [http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html#getCatalog Connection.getCatalog]), which is used and respected by the wizard.&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getImportedKeys()/getExportedKeys() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most likely Connector/C++ does not distinguish between &amp;quot;&amp;quot; and NULL parameter values for catalog and schema as requested by the JDBC specs. Do we need the differentiation?&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Definition of catalog and schema ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-27 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connector/J and Connector/C++ use differen meanings for schema and catalog. See getCatalogTerm(). This may impact assorted methods with *catalog*() and *schema*() in their names and also their result sets. In the result sets the meaning of columns like TABLE_CAT and TABLE_SCHEM may differ with Connector/J and Connector/C++. &lt;br /&gt;
&lt;br /&gt;
All C/OO.org methods need to be checked against this and implement whatever logic Base wants.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== XCloseable::close throws wrong exception ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following sequence does not issue a SQLEception but a DisposedException as it seems:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 statement.close()&lt;br /&gt;
 statement.executeQuery()&lt;br /&gt;
&lt;br /&gt;
It should throw SQLException, accoding to http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XCloseable.html&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: The DisposedException is the usual exception when you try to work with a, well, disposed object. The XCloseable documentation linked above only mentions that an SQLException is thrown in case of a &amp;quot;database access error&amp;quot;, anyway. Also, I bet that in the sequence above, the exception is really thrown during executeQuery - which would be correct. In short: I don&amp;#039;t see an issue here.&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject - not sure.&lt;br /&gt;
&lt;br /&gt;
The other three are not used, I think.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INVALID :)&lt;br /&gt;
When you add a new column to a table, then you need to fill it with unique values, before declaring it as primary key. When you do so, changing the PK to this column works perfectly.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk ? invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cannot reproduce in latest builds. What happens, though, is that e.g. VARCHAR columns get a wrong length (tripled). This is the well-known problem of wrong column lengths being reported by the driver.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109403</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109403"/>
		<updated>2009-01-27T13:26:21Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Do we need any of those? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Pointer: MySQL ODBC file utitlity.c get_column_size&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The wizard tries to create a table in the INFORMATION_SCHEMA schema. Bad idea. However, how would a better idea look like? There&amp;#039;s no such thing as a &amp;quot;default schema&amp;quot; which could be used, so the wizard picks the first schema which it encounters, which happens to be INFORMATION_SCHEMA.&lt;br /&gt;
&lt;br /&gt;
Note that the problem does not happen when connecting via the JDBC driver, since here a) schemas are in fact reported as catalogs, and there &amp;#039;&amp;#039;is&amp;#039;&amp;#039; such a thing as a default/current catalog (namely [http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html#getCatalog Connection.getCatalog]), which is used and respected by the wizard.&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
(FS): Really, if there is no BOOL type, I tend to think the driver should not offer it. This way, users are not tempted to use it. Finally, this is a dedicated MySQL driver, it must not necessarily emulate features it does not really have.&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== XCloseable::close throws wrong exception ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following sequence does not issue a SQLEception but a DisposedException as it seems:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 statement.close()&lt;br /&gt;
 statement.executeQuery()&lt;br /&gt;
&lt;br /&gt;
It should throw SQLException, accoding to http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XCloseable.html&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FS: The DisposedException is the usual exception when you try to work with a, well, disposed object. The XCloseable documentation linked above only mentions that an SQLException is thrown in case of a &amp;quot;database access error&amp;quot;, anyway. Also, I bet that in the sequence above, the exception is really thrown during executeQuery - which would be correct. In short: I don&amp;#039;t see an issue here.&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getExportedKeys: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
FS: supportsIntegrityEnhancementFacility is used to determine relationship support, but there&amp;#039;s meanwhile an exception in the code which enables relationships for MySQL, regardless. (using this method is incorrect, speaking strictly, anyway.)&lt;br /&gt;
supportsResultSetConcurrency is not used by default, but its usage can be enabled by the user on a per-database basis. So, it might be better to implement it.&lt;br /&gt;
&lt;br /&gt;
getObject - not sure.&lt;br /&gt;
&lt;br /&gt;
The other three are not used, I think.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INVALID :)&lt;br /&gt;
When you add a new column to a table, then you need to fill it with unique values, before declaring it as primary key. When you do so, changing the PK to this column works perfectly.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk ? invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cannot reproduce in latest builds. What happens, though, is that e.g. VARCHAR columns get a wrong length (tripled). This is the well-known problem of wrong column lengths being reported by the driver.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109282</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109282"/>
		<updated>2009-01-26T15:43:41Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Do we need any of those? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Pointer: MySQL ODBC file utitlity.c get_column_size&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The wizard tries to create a table in the INFORMATION_SCHEMA schema. Bad idea. However, how would a better idea look like? There&amp;#039;s no such thing as a &amp;quot;default schema&amp;quot; which could be used, so the wizard picks the first schema which it encounters, which happens to be INFORMATION_SCHEMA.&lt;br /&gt;
&lt;br /&gt;
Note that the problem does not happen when connecting via the JDBC driver, since here a) schemas are in fact reported as catalogs, and there &amp;#039;&amp;#039;is&amp;#039;&amp;#039; such a thing as a default/current catalog (namely [http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html#getCatalog Connection.getCatalog]), which is used and respected by the wizard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following sequence does not issue a SQLEception but a DisposedException as it seems:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 statement.close()&lt;br /&gt;
 statement.executeQuery()&lt;br /&gt;
&lt;br /&gt;
It should throw SQLException, accoding to http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XCloseable.html&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org, OTypeInfo.hxx(?)&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception: OResultSet::getObject: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INVALID :)&lt;br /&gt;
When you add a new column to a table, then you need to fill it with unique values, before declaring it as primary key. When you do so, changing the PK to this column works perfectly.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk ? invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cannot reproduce in latest builds. What happens, though, is that e.g. VARCHAR columns get a wrong length (tripled). This is the well-known problem of wrong column lengths being reported by the driver.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109207</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109207"/>
		<updated>2009-01-26T11:08:22Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Template for new entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Pointer: MySQL ODBC file utitlity.c get_column_size&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk → invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following sequence does not issue a SQLEception but a DisposedException as it seems:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 statement.close()&lt;br /&gt;
 statement.executeQuery()&lt;br /&gt;
&lt;br /&gt;
It should throw SQLException, accoding to http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XCloseable.html&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org, OTypeInfo.hxx(?)&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does not happen anymore in latest builds, probably fixed while fixing some of the type info problems.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109204</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=109204"/>
		<updated>2009-01-26T10:38:29Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Do we need any of those? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== severe character set problems ===&lt;br /&gt;
&lt;br /&gt;
Tables columns containing non-ASCII characters in their name are improperly named in OOo.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: C/OOo is flooded with OUString::createFromAscii usage, not only for column names. It seems that C/Cpp has a 8-bit api, and conversion from/to those API often happens assuming an ASCII encoding, sometimes using an encoding set at the connection (where I currently do not know where it originates from).&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d say we have a serious problem here.&lt;br /&gt;
&lt;br /&gt;
=== Binary columns are reported as text ===&lt;br /&gt;
&lt;br /&gt;
Columns of type &amp;quot;LONG (VAR)BINARY&amp;quot; are reported as &amp;quot;LONG (VAR)CHAR&amp;quot; in the table designer&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: MySQL-internally, binary columns re-use existing types, e.g. MYSQL_TYPE_VAR_STRING for a VARBINARY column. The fact that the column is not text, but binary, is recorded in an additional per-column flag, where the BINARY_FLAG bit is set.&lt;br /&gt;
Unfortunately, this information is not transported via C/Cpp. Instead, the DATA_TYPE column of DatabaseMetaData.getColumns returns the untouched MYSQL_TYPE_, which alone is not sufficient to determine the proper column type.&lt;br /&gt;
&lt;br /&gt;
Suggested solution: Either, DatabaseMetaData.getColumns must return additional information, e.g. an additional result set column, taking the column flags. Alternatively, the content of the DATA_TYPE column returned in getColumns must be &amp;quot;normalized&amp;quot;, so that VARBINARY and VARCHAR in fact have different data types.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d somehow prefer the latter, as this is more future-proof. Also, since C/Cpp claims to have a JDBC-compliant API, it would be the better solution: In JDBC, [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) DATA_TYPE is defined] to contain a value from the java.sql.Types class, which already is a normalization we need ...&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Pointer: MySQL ODBC file utitlity.c get_column_size&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk → invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on 2009-mm-dd - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== getWarnings() ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 2009-01-26 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
getWarnings() always returns a warning object, regardless if there is one or not. Should it return NULL? JDBC compliance test expects NULL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Connector/OO.org&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT/VARCHAR.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
=== Perfoemance problem when accessing big tables ===&lt;br /&gt;
&lt;br /&gt;
Open a table with more then 1000 rows. Jump to last one. =&amp;gt; 2 min.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
FIXED: Error message: Database not support relations.&lt;br /&gt;
ERROR: Still not possible to create new relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: column is reported as &amp;lt;code&amp;gt;MYSQL_TYPE_NEWDECIMAL&amp;lt;/code&amp;gt;, which wasn&amp;#039;t covered in C/OOo (which only had a case for &amp;lt;code&amp;gt;MYSQL_TYPE_DECIMAL&amp;lt;/code&amp;gt;)&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does not happen anymore in latest builds, probably fixed while fixing some of the type info problems.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=108838</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=108838"/>
		<updated>2009-01-23T09:47:35Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Do we need any of those? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m 95% sure C/C++ and C/OOo report a proper column type.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk → invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getCrossReference: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getProcedures: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::getUDTs: feature not implemented.&lt;br /&gt;
 ERROR: SQL exception ODatabaseMetaData::supportsIntegrityEnhancementFacility: feature not implemented.&lt;br /&gt;
 ERROR: SQL Exception ODatabaseMetaData::supportsResultSetConcurrency: feature not implemented.&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
Error message: Database not support relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=108836</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=108836"/>
		<updated>2009-01-23T09:34:19Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* INSERT does not work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: missing SDBCX support of the driver. In general, tables can only be renamed when there is a css.sdbcx.Table object representing a single table, which supports the XRename interface.&lt;br /&gt;
&lt;br /&gt;
=== (JDBC) Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: Removing records from views is in general not possible in Base. The fact that &amp;quot;Edit/Delete record&amp;quot; is enabled for a view (as in any table which the user does not have the DELETE privilege for) is a bug, which I fixed in the CWS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m 95% sure C/C++ and C/OOo report a proper column type.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that&amp;#039;s not nice, but consistent with other DB/Drivers. For this purpose, there&amp;#039;s View/Refresh Tables ...&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: The driver does not support &amp;lt;code&amp;gt;XAlterTable&amp;lt;/code&amp;gt; (and more SDBCX-level interfaces)&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk → invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== Do we need any of those? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;br /&gt;
&lt;br /&gt;
== fixed ==&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
Error message: Database not support relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Investigation: The driver currently returns an empty result set when being asked for the table privileges: &amp;lt;code&amp;gt;getTablePrivileges( null, &amp;quot;schema&amp;quot;, &amp;quot;table&amp;quot; )&amp;lt;/code&amp;gt;.  Debugging deeper seems to indicate that parsing the result of a &amp;quot;SHOW GRANTS&amp;quot; query is flawed.&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
Investigation: This is a general problem currently, &amp;lt;code&amp;gt;DatabaseMetaData::getTablePrivileges&amp;lt;/code&amp;gt; returns wrong data (all the time? sometimes? andrey claimed to have fixed this, but the fix does not work for me). If I fake the getTablePrivileges implementation to return the full set of privileges regardless the table being asked for, then the problem does not happen.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108498</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108498"/>
		<updated>2009-01-21T12:11:52Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Debug hints */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
Check the build message for the location of the extension, for example:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 [...]&lt;br /&gt;
 cp -f /tmp/mkdF4yFR.mysql-native_.oxt  ./unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 rm -f /tmp/mkdF4yFR.mysql-native_.oxt&lt;br /&gt;
 -------------&lt;br /&gt;
 rmdir /tmp/11964&lt;br /&gt;
 deliver -- version: 1.130&lt;br /&gt;
 Module &amp;#039;mysqlc&amp;#039; delivered successfully. 0 files copied, 1 files unchanged&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;System build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This describes a set up where you compile the extension against the MySQL Connector/C++ installed on the system. The usage of --with-system-mysqlcppconn may or may not work. We are focussing on the &amp;quot;standalone&amp;quot; build for the moment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: There seems to be a dispute in the OpenOffice.org developer group if --with-system* refers to build or to build and compile time. The question is if --with-system* is set, should an extension contain all libraries it depends on or not. For example, if --with-system-mysqlcppconn is set, should the MySQL Connector/C++ libraries be part of the extension or not. However, this is a question that goes beyond the scope of the MySQL driver. Its a general question to be discussed on a general level.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
Also flip the default setting for generating debug output in &amp;lt;code&amp;gt;driver/mysql_debug.cpp&amp;lt;/code&amp;gt;. Modify the constructor and set tracing to true:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 /* {{{ MySQL_DebugLogger::MySQL_DebugLogger() -I- */&lt;br /&gt;
 MySQL_DebugLogger::MySQL_DebugLogger()&lt;br /&gt;
   : tracing(true)&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 /* }}} */&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
When building &amp;lt;code&amp;gt;mysqlc&amp;lt;/code&amp;gt;, don&amp;#039;t forget to enable C/OOo debug output using:&lt;br /&gt;
&lt;br /&gt;
  cd mysqlc&lt;br /&gt;
  build --all debug=&amp;quot;something&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108497</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108497"/>
		<updated>2009-01-21T12:07:46Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Debug hints */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
Check the build message for the location of the extension, for example:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 [...]&lt;br /&gt;
 cp -f /tmp/mkdF4yFR.mysql-native_.oxt  ./unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 rm -f /tmp/mkdF4yFR.mysql-native_.oxt&lt;br /&gt;
 -------------&lt;br /&gt;
 rmdir /tmp/11964&lt;br /&gt;
 deliver -- version: 1.130&lt;br /&gt;
 Module &amp;#039;mysqlc&amp;#039; delivered successfully. 0 files copied, 1 files unchanged&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;System build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This describes a set up where you compile the extension against the MySQL Connector/C++ installed on the system. The usage of --with-system-mysqlcppconn may or may not work. We are focussing on the &amp;quot;standalone&amp;quot; build for the moment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: There seems to be a dispute in the OpenOffice.org developer group if --with-system* refers to build or to build and compile time. The question is if --with-system* is set, should an extension contain all libraries it depends on or not. For example, if --with-system-mysqlcppconn is set, should the MySQL Connector/C++ libraries be part of the extension or not. However, this is a question that goes beyond the scope of the MySQL driver. Its a general question to be discussed on a general level.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
Also flip the default setting for generating debug output in driver/mysql_debug.cpp. Modify the constructor and set tracing to true:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 /* {{{ MySQL_DebugLogger::MySQL_DebugLogger() -I- */&lt;br /&gt;
 MySQL_DebugLogger::MySQL_DebugLogger()&lt;br /&gt;
   : tracing(true)&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 /* }}} */&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108217</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108217"/>
		<updated>2009-01-19T15:45:24Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* &amp;quot;System build&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
Check the build message for the location of the extension, for example:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 [...]&lt;br /&gt;
 cp -f /tmp/mkdF4yFR.mysql-native_.oxt  ./unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 rm -f /tmp/mkdF4yFR.mysql-native_.oxt&lt;br /&gt;
 -------------&lt;br /&gt;
 rmdir /tmp/11964&lt;br /&gt;
 deliver -- version: 1.130&lt;br /&gt;
 Module &amp;#039;mysqlc&amp;#039; delivered successfully. 0 files copied, 1 files unchanged&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;System build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This describes a set up where you compile the extension against the MySQL Connector/C++ installed on the system. The usage of --with-system-mysqlcppconn may or may not work. We are focussing on the &amp;quot;standalone&amp;quot; build for the moment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO&amp;#039;&amp;#039;&amp;#039;: There seems to be a dispute in the OpenOffice.org developer group if --with-system* refers to build or to build and compile time. The question is if --with-system* is set, should an extension contain all libraries it depends on or not. For example, if --with-system-mysqlcppconn is set, should the MySQL Connector/C++ libraries be part of the extension or not. However, this is a question that goes beyond the scope of the MySQL driver. Its a general question to be discussed on a general level.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108216</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108216"/>
		<updated>2009-01-19T15:45:01Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Compiling the driver (manually) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
Check the build message for the location of the extension, for example:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 [...]&lt;br /&gt;
 cp -f /tmp/mkdF4yFR.mysql-native_.oxt  ./unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 rm -f /tmp/mkdF4yFR.mysql-native_.oxt&lt;br /&gt;
 -------------&lt;br /&gt;
 rmdir /tmp/11964&lt;br /&gt;
 deliver -- version: 1.130&lt;br /&gt;
 Module &amp;#039;mysqlc&amp;#039; delivered successfully. 0 files copied, 1 files unchanged&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;System build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This describes a set up where you compile the extension against the MySQL Connector/C++ installed on the system. The usage of --with-system-mysqlcppconn may or may not work. We are focussing on the &amp;quot;standalone&amp;quot; build for the moment.&lt;br /&gt;
&lt;br /&gt;
TODO: There seems to be a dispute in the OpenOffice.org developer group if --with-system* refers to build or to build and compile time. The question is if --with-system* is set, should an extension contain all libraries it depends on or not. For example, if --with-system-mysqlcppconn is set, should the MySQL Connector/C++ libraries be part of the extension or not. However, this is a question that goes beyond the scope of the MySQL driver. Its a general question to be discussed on a general level.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108213</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108213"/>
		<updated>2009-01-19T15:25:10Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* &amp;quot;Standalone build&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
Check the build message for the location of the extension, for example:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 [...]&lt;br /&gt;
 cp -f /tmp/mkdF4yFR.mysql-native_.oxt  ./unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 rm -f /tmp/mkdF4yFR.mysql-native_.oxt&lt;br /&gt;
 -------------&lt;br /&gt;
 rmdir /tmp/11964&lt;br /&gt;
 deliver -- version: 1.130&lt;br /&gt;
 Module &amp;#039;mysqlc&amp;#039; delivered successfully. 0 files copied, 1 files unchanged&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108212</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108212"/>
		<updated>2009-01-19T15:22:26Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* &amp;quot;Standalone build&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72: MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73: MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78: MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79: MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
 DEV300_m37/mysqlc&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108211</id>
		<title>Database/Drivers/MySQL Native/OOoBuildEnvironment</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/OOoBuildEnvironment&amp;diff=108211"/>
		<updated>2009-01-19T15:21:07Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Compiling the driver (manually) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to set up an OpenOffice.org Build environment for C/OOo development =&lt;br /&gt;
&lt;br /&gt;
= SuSE Linux =&lt;br /&gt;
&lt;br /&gt;
== SuSE 11 ==&lt;br /&gt;
&lt;br /&gt;
SuSE 11 does not use Sun Java by default. The default installation will come with GNU Java and javac = GCC. Don&amp;#039;t use the GNU stuff, use Sun&amp;#039;s Java SDK 1.5. Deinstall GNU Java, search for java and gcj in Yast. OpenOffice 3.0 M28 might fail to detect GNU Java and might not come up with any proper error message during configure.&lt;br /&gt;
&lt;br /&gt;
== Beware ==&lt;br /&gt;
&lt;br /&gt;
If your connection is not OC-192 ;), then you might want to log into a server with a fast connection and do the following there. The just pack the sources and download them locally using scp.&lt;br /&gt;
&lt;br /&gt;
==  Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This list is based on what is needed to be additionally installed on a virgin Ubuntu 8.10 Interpid/Debian 4r6 Etch system. If might be different for you, meaning you might need to install more packages. However, be sure you have these to skip some iterations of [configure [, install ]]+&lt;br /&gt;
&lt;br /&gt;
* libarchive-zip-perl (Perl Archive/Zip)&lt;br /&gt;
* libcupsys2-dev&lt;br /&gt;
* libpam0g-dev&lt;br /&gt;
* sdk-java 1.5&lt;br /&gt;
* gperf&lt;br /&gt;
* libfreetype6-dev&lt;br /&gt;
* libxaw7-dev&lt;br /&gt;
* libfontconfig1-dev&lt;br /&gt;
* libxrandr-dev&lt;br /&gt;
* libgconf2-dev&lt;br /&gt;
* libgnomevfs2-dev&lt;br /&gt;
* libgdk-pixbuf-dev&lt;br /&gt;
* ant&lt;br /&gt;
* bison&lt;br /&gt;
* flex&lt;br /&gt;
* zip&lt;br /&gt;
* unzip&lt;br /&gt;
&lt;br /&gt;
== Get sources ==&lt;br /&gt;
&lt;br /&gt;
* Without a key&lt;br /&gt;
 svn checkout svn://svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn://svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
* Get sources - with a key&lt;br /&gt;
 svn checkout svn+ssh://svn@svn.services.openoffice.org/ooo/tags/DEV300_m37&lt;br /&gt;
 cd DEV300_m37&lt;br /&gt;
 svn switch svn+ssh://svn@svn.services.openoffice.org/ooo/cws/mysqlnative&lt;br /&gt;
&lt;br /&gt;
== Configure ==&lt;br /&gt;
&lt;br /&gt;
* Get unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll and use it&lt;br /&gt;
 cp /path/to/download/of/unowinreg.dll external/unowinreg/&lt;br /&gt;
&lt;br /&gt;
* Get 3 zips from http://tools.openoffice.org/moz_prebuild/680/ and use them&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIinc.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIlib.zip moz/zipped/&lt;br /&gt;
 cp /path/to/download/of/LINUXGCCIruntime.zip moz/zipped/&lt;br /&gt;
&lt;br /&gt;
OpenOffice will search for &amp;lt;OS&amp;gt;&amp;lt;COM&amp;gt;&amp;lt;CPU&amp;gt;{inc,lib,runtime}.zip in moz/zipped/ . You might have to rename the download files. Watch out for error messages returned by configure (see below).&lt;br /&gt;
&lt;br /&gt;
* Configure (distribution build - &amp;quot;pro&amp;quot; build)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash&lt;br /&gt;
&lt;br /&gt;
* Configure (debug build, with asserts - &amp;quot;non-pro&amp;quot;)&lt;br /&gt;
 cd config_office&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --enable-dbgutil&lt;br /&gt;
&lt;br /&gt;
I was able to configure on openSuSE11.0 with the following command, after installing all needed libraries :&lt;br /&gt;
 ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-system-freetype \&lt;br /&gt;
 --with-system-stdlibs --with-system-cairo --with-system-zlib  --with-system-openssl --with-system-jpeg \&lt;br /&gt;
 --with-system-expat --with-system-freetype --with-system-libwpd --with-system-libxml --with-system-python \&lt;br /&gt;
 --with-system-icu --with-system-db --with-system-lucene  --with-system-hsqldb --with-system-beanshell \&lt;br /&gt;
 --with-system-libxslt --with-system-odbc-headers --with-system-sane-header --with-system-curl \&lt;br /&gt;
 --with-system-boost  --with-system-vigra --with-system-neon&lt;br /&gt;
&lt;br /&gt;
I tried --with-system-libs but got into problems finding some packages. If you get libegg problems (I do) add --disable-systray&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
* Follow the messages, probably you have to do the following, if you have used bash as shell for the build in the configure line. For tcsch use LinuxX86Env.Set:&lt;br /&gt;
 cd ..&lt;br /&gt;
 source LinuxX86Env.Set.sh&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* If you have dual or quad-core, or SMP, run the following and adjust for your configuration&lt;br /&gt;
 export MAXPROCESS=3&lt;br /&gt;
&lt;br /&gt;
* ccache is very recommended, go install it. Then configure it to have enough space. By default it stores data in your home directory. This is configurable like  (I have CC and CXX changed in .bashrc but some people prefer to do a symlink):&lt;br /&gt;
&lt;br /&gt;
 export CCACHE_DIR=&amp;quot;/path/to/ccache/dir/for/oo.org/build&amp;quot;&lt;br /&gt;
 ccache -M 2G -F 100000&lt;br /&gt;
 export CC=&amp;quot;ccache gcc&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;ccache g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* dmake should have been boostrapped. Now just run the following and go get a 6h sleep :)&lt;br /&gt;
 dmake&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
On Unix or Windows/cygwin a SSH identity (private/public key pair) is generated with:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t dsa&lt;br /&gt;
You&amp;#039;ll be asked for pass phrase which protects your private key. Per default the public key is named $HOME/.ssh/id_dsa.pub. Note that SSH keys created between September 2006 and May 2008 on Debian or Debian derived systems like Ubuntu may be insecure. Please use recent SSH tools. If you want a dedicated identity for just OOo SVN usage, generate a specially named key pair:&lt;br /&gt;
 ssh-keygen -t dsa -f ~/.ssh/id_dsa_ooo_svn &lt;br /&gt;
and instruct Subversion to use this identity (key pair) with the following configuration entry in $HOME/.subversion/config:&lt;br /&gt;
 [tunnels]&lt;br /&gt;
 ssh = ssh -i /home/andrey/.ssh/id_dsa_ooo_svn&lt;br /&gt;
&lt;br /&gt;
=== RPM Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
 rpm -Uhv ./instsetoo_native/unxlngi6.pro/URE/rpm/install/en-US/RPMS/openoffice.org-ure-1.4.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core01-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core02-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core03-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core04-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core05-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core06-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-core07-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooofonts-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-images-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-testtool-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-impress-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-pyuno-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-javafilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-xsltfilter-3.1.0-9367.i586.rpm  ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-graphicfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-ooolinguistic-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-help-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-writer-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-impress-3.1.0-9367.i586.rpm instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-binfilter-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-calc-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-math-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-draw-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-res-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/ooobasis3.1-en-US-base-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-en-US-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice_SDK/rpm/install/en-US/RPMS/ooobasis3.1-sdk-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/openoffice.org3-dict-en-3.1.0-9367.i586.rpm ./instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/openoffice.org3.0-suse-menus-3.0-9367.noarch.rpm ./sysui/unxlngi6.pro/bin/desktop-integration/broffice.org3.0-suse-menus-3.0-9367.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== DEB Installation ===&lt;br /&gt;
&lt;br /&gt;
Something like this...&lt;br /&gt;
&lt;br /&gt;
cd instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
cd desktop_integration&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&lt;br /&gt;
Then the programs are in /opt/openoffice3/program/&lt;br /&gt;
&lt;br /&gt;
= Compiling the driver =&lt;br /&gt;
&lt;br /&gt;
Ok, you got OpenOffice.org to compile, and it has finished compiling after 3-6 hours. &lt;br /&gt;
&lt;br /&gt;
== Patching the CWS (&amp;#039;&amp;#039;&amp;#039;you need this if you don&amp;#039;t use m37 or up&amp;#039;&amp;#039;&amp;#039;) ==&lt;br /&gt;
&lt;br /&gt;
The latest driver code is still not in the CWS. You need to fetch it from bazaar. We will streamline compiling and commit the source into the CWS as soon as possible. Make sure that you have the OOo build environment set up when compiling the driver (source LinuxX86Env.Set.sh etc.)&lt;br /&gt;
&lt;br /&gt;
Add the MySQL driver to the source tree:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; cd connectivity/source/drivers/&lt;br /&gt;
 DEV300_m35/connectivity/source/drivers&amp;gt; bzr clone bzr+ssh://&amp;lt;user&amp;gt;@bk-internal.mysql.com/bzrroot/public/connector-ooo-bzr/trunk/&lt;br /&gt;
&lt;br /&gt;
Add the driver to the OOo build process by patching connectivity/prj/build.lst:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m35&amp;gt; nano connectivity/prj/build.lst&lt;br /&gt;
&lt;br /&gt;
Add a line to the build list for compiling the mysql driver, for example:&lt;br /&gt;
&lt;br /&gt;
 cn  connectivity\source\drivers\trunk               nmake   -   all cn_mysqlc cn_dbtools cn_inc NULL&lt;br /&gt;
&lt;br /&gt;
=== Compiling the driver (manually) ===&lt;br /&gt;
&lt;br /&gt;
The configure flags --enable-mysql-driver, --with-system-mysql and --with-system-mysqlcppconn are work in progress. They may or may not work when you read this. The first goal is to get the driver compile at all. Later on, we can make it user-friendly and Linux distribution-friendly. Manual fine-tuning of makefiles is to be expected - &amp;#039;&amp;#039;for now&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Standalone build&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
Builds the driver with as little external requirements as possible. In this configuration you will create a static build. The driver will be build against the MySQL Connector/C++ sources contained in the CWS. &lt;br /&gt;
&lt;br /&gt;
However, you must have the MySQL Server installed on your system. At the time of writing, you should use --with-system-mysql on Linux. Use grep to ensure that its set and, if not, set SYSTEM_MYSQL=&amp;quot;YES&amp;quot; in your environment:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep SYSTEM_MYSQL LinuxX86Env.Set.sh&lt;br /&gt;
 SYSTEM_MYSQL=&amp;quot;YES&amp;quot;&lt;br /&gt;
 SYSTEM_MYSQL_CPPCONN=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows you should use SYSTEM_MYSQL=&amp;quot;NO&amp;quot; and consequently omit --with-system-mysql when configuring OO.org. You will need to edit mysqlc/makefile.mk and patch it to point to your MySQL installation directory and the location of the MySQL Client Server Library:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; grep -n &amp;quot;MYSQL_.*DIR&amp;quot; mysqlc/makefile.mk&lt;br /&gt;
 72:  MYSQL_LIBDIR=D:$/mysql-5.1.24-rc-win32$/lib$/debug&lt;br /&gt;
 73:  MYSQL_INCDIR=D:$/mysql-5.1.24-rc-win32$/include&lt;br /&gt;
 78:    MYSQL_LIBDIR=/export/home/oj93728/mysql/lib&lt;br /&gt;
 79:    MYSQL_INCDIR=/export/home/oj93728/mysql/include&lt;br /&gt;
&lt;br /&gt;
The basic steps are:&lt;br /&gt;
* Install the MySQL Server on your build host&lt;br /&gt;
* Build and deliver mysqlcppconn/ (the MySQL Connector/C++ used by the OO.org driver)&lt;br /&gt;
* Build and deliver connectivity/&lt;br /&gt;
* Build and deliver mysqlc/ (the MySQL native driver for OO.org)&lt;br /&gt;
&lt;br /&gt;
On the command line it looks like:&lt;br /&gt;
&lt;br /&gt;
 DEV300_m37&amp;gt; cd mysqlcppconn/&lt;br /&gt;
 DEV300_m37/mysqlcppconn&amp;gt; dmake killobj &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../connectivity&lt;br /&gt;
 DEV300_m37/connectivity&amp;gt;  rm -rf unxlng* &amp;amp;&amp;amp; build --all &amp;amp;&amp;amp; deliver&lt;br /&gt;
 DEV300_m37&amp;gt; cd ../mysqlc&lt;br /&gt;
&lt;br /&gt;
Hint: usually you can omit &amp;quot;dmake killobj&amp;quot; and &amp;quot;rm -rf unxlng*&amp;quot; to clear compile caches.&lt;br /&gt;
&lt;br /&gt;
=== Driver/extension installation ===&lt;br /&gt;
&lt;br /&gt;
You can either install the extension in the GUI or use &amp;quot;unopkg&amp;quot;. If you want to use &amp;quot;unopkg&amp;quot; make sure that you run it in a shell that does NOT have the build environment set up (source LinuxX86Env.Set.sh etc. must NOT have been run before).&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg list&lt;br /&gt;
 all deployed user packages:&lt;br /&gt;
 Identifier: org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
  Version: 0.0.1&lt;br /&gt;
  URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt&lt;br /&gt;
  is registered: yes&lt;br /&gt;
  Media-Type: application/vnd.sun.star.package-bundle&lt;br /&gt;
  Description:&lt;br /&gt;
  bundled Packages: {&lt;br /&gt;
      URL: vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE/uno_packages/JjWiOU_/mysql-native.oxt/mysqlc.so&lt;br /&gt;
      is registered: yes&lt;br /&gt;
      Media-Type: application/vnd.sun.star.uno-component;type=native;platform=Linux_x86&lt;br /&gt;
      Description:&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg remove org.openoffice.legacy.mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; /opt/openoffice.org3/program/unopkg add ~/DEV300_m35/connectivity/unxlngi6.pro/bin/mysql-native.oxt&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
 MysqlCDriver::getSupportedServiceNames_Static&lt;br /&gt;
 MysqlCDriver::getImplementationName_Static&lt;br /&gt;
&lt;br /&gt;
=== Debug hints ===&lt;br /&gt;
&lt;br /&gt;
If you follow the above instructions you create a debug build.&lt;br /&gt;
&lt;br /&gt;
You can enable the libmysql and Connector/C++ internal traces. To enable the Connector/C++ trace (should be on by default ATM), patch driver/mysql_debug.h:&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 #ifndef _MYSQL_DEBUG_H_&lt;br /&gt;
 #define _MYSQL_DEBUG_H_&lt;br /&gt;
&lt;br /&gt;
 #if 1&lt;br /&gt;
 #define CPP_ENTER(msg)                  MySQL_DebugLogger * __l = this-&amp;gt;logger? this-&amp;gt;logger-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, logger)&lt;br /&gt;
 #define CPP_ENTER_WL(l, msg)    MySQL_DebugLogger * __l = (l)? (l)-&amp;gt;get():NULL;(void)__l;\&lt;br /&gt;
                                                                MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))&lt;br /&gt;
 #define CPP_INFO(msg)           {if (__l) __l-&amp;gt;log(&amp;quot;INF&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_INFO_FMT(...)       {if (__l) __l-&amp;gt;log_va(&amp;quot;INF&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #define CPP_ERR(msg)            {if (__l) __l-&amp;gt;log(&amp;quot;ERR&amp;quot;, msg); }&lt;br /&gt;
 #define CPP_ERR_FMT(...)        {if (__l) __l-&amp;gt;log_va(&amp;quot;ERR&amp;quot;, __VA_ARGS__); }&lt;br /&gt;
 #else&lt;br /&gt;
 [...]&lt;br /&gt;
&lt;br /&gt;
= OpenSolaris notes (OUTDATED) =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE: I&amp;#039;m still fighting with OpenSolaris issues&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
NOTE: The OOo team works only on Solaris 8(!).&lt;br /&gt;
&lt;br /&gt;
* Install OpenSolaris from 2008.05 CD image (Sun Microsystems Inc.   SunOS 5.11      snv_86  January 2008)&lt;br /&gt;
* Update OpenSolaris to current version&lt;br /&gt;
&lt;br /&gt;
The update will download approx. 1.5 - 2 GB. Accordingly it will take some time. &lt;br /&gt;
&lt;br /&gt;
 pfexec pkg refresh&lt;br /&gt;
 export PKG_CLIENT_TIMEOUT=300&lt;br /&gt;
 pfexec pkg install SUNWipkg&lt;br /&gt;
 pfexec pkg image-update&lt;br /&gt;
 su&lt;br /&gt;
 pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt&lt;br /&gt;
 pfexec /mnt/boot/solaris/bin/update_grub -R /mnt&lt;br /&gt;
 pfexec reboot&lt;br /&gt;
&lt;br /&gt;
At the time of writing you will end up with SunOS opensolaris 5.11 snv_95 .&lt;br /&gt;
&lt;br /&gt;
* Install additional packages required for compiling OOo 3.0&lt;br /&gt;
&lt;br /&gt;
Start with SunStudio (ss-dev) and assorted development libraries/tools. That&amp;#039;s another ~700MB to download.&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install SUNWcvs ss-dev SUNWxorg-headers SUNWgnu-gperf SUNWcurl&lt;br /&gt;
 pfexec pkg install SUNWgnome-common-devel SUNWxwinc SUNWant SUNWlxml SUNWicu&lt;br /&gt;
&lt;br /&gt;
There is a bug in OpenSolaris and SUNWxorg-headers will not install all required X headers/libraries! You need to install old versions of the FSWxorg-headers package. You must use old versions because newer versions are empty - their binaries conflict with SUNWxorg-headers and OpenSolaris decided to silently distribute empty packages. Use pfexec pkg contents FSWxorg-headers to check wheter this has been fixed... if not:&lt;br /&gt;
&lt;br /&gt;
 pfexec pkg install FSWxorg-data@0.5.11-0.79  FSWxorg-headers@0.5.11-0.79&lt;br /&gt;
&lt;br /&gt;
* Fix/Hack libXaw installation&lt;br /&gt;
&lt;br /&gt;
As explained the FSWxorg* and SUNWxorg* packages might conflict. You need some header from FSWxorg* including libXaw. However, you need to compile libXaw manually although some of its headers are part of FSWxorg-headers.&lt;br /&gt;
&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 wget http://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.4.tar.bz2&lt;br /&gt;
 bunzip2 libXaw-1.0.4.tar.bz2&lt;br /&gt;
 tar xvf libXaw-1.0.4.tar&lt;br /&gt;
 cd libXaw-1.0.4&lt;br /&gt;
 CC=cc ./configure --prefix=/usr/X11&lt;br /&gt;
 make;&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Install missing Perl packages&lt;br /&gt;
&lt;br /&gt;
OOo needs some Perl packages. You will need to install at least Archive::Zip. Some Archive::Zip dependencies might require a C compiler. If you run into issues make sure that you give Perl whatever C compiler it wants. If possible go for the Sun Compiler (CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC).&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
 shell&amp;gt; install Archive::Zip&lt;br /&gt;
&lt;br /&gt;
* Install OpenOffice.org sources as described for Linux&lt;br /&gt;
* Patch configure&lt;br /&gt;
&lt;br /&gt;
The OOo team does use one Solaris 8 reference system to cover all *Solaris* versions. Naturally this means that configure will not work out-of-the-box on OpenSolaris. You will need to fix several issues manually. Check out for:&lt;br /&gt;
&lt;br /&gt;
** SunStudio C Compiler wrong version - found 5.10 needs 5.9&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s nothing but a stinky configure. Add a test for 5.10 to configure and make configure accept 5.10.&lt;br /&gt;
&lt;br /&gt;
** Wrong ANT version 1.6.5 needs at least 1.6.0&lt;br /&gt;
&lt;br /&gt;
You need to set the JAVA_HOME through --with-jdk-home=/usr/jdk/latest &lt;br /&gt;
&lt;br /&gt;
** Cannot find ANT libraries&lt;br /&gt;
&lt;br /&gt;
Check the location of ant.jar using &lt;br /&gt;
&lt;br /&gt;
  pfexec pkg search -r ant.jar &lt;br /&gt;
&lt;br /&gt;
As you will see, the path it has changed over time. OOo does not search any of the OpenSolaris places by default. Find out the current location using&lt;br /&gt;
&lt;br /&gt;
  pkg contents -t file SUNWant  | grep ant.jar&lt;br /&gt;
&lt;br /&gt;
At the time of writing its usr/share/lib/ant/ant.jar . Either patch configure or set ANT_HOME - export ANT_HOME=/usr/share/lib/ant&lt;br /&gt;
&lt;br /&gt;
* Run configure&lt;br /&gt;
&lt;br /&gt;
You are getting closer to running configure... Make sure you say &amp;quot;bash&amp;quot;. For whatever reason it sets the appropriate path to the GNU patch utility.&lt;br /&gt;
&lt;br /&gt;
 bash&lt;br /&gt;
 cd oo.org-m28/config-office&lt;br /&gt;
 export PATH=$PATH:/opt/SunStudioExpress/bin/:/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/local/bin/&lt;br /&gt;
 CC=cc CXX=CC ./configure --disable-build-mozilla --disable-mediawiki --with-use-shell=bash --with-jdk-home=/usr/jdk/latest/ --with-system-curl&lt;br /&gt;
 &lt;br /&gt;
See above on known configure issues. &lt;br /&gt;
&lt;br /&gt;
* Source &amp;amp;&amp;amp; Bootstrap&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28/config_office$ cd ..&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ source  SolarisX86Env.Set.sh&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Start building OOo using dmake&lt;br /&gt;
&lt;br /&gt;
 nixnutz@opensolaris:~/oo.org-m28$ dmake&lt;br /&gt;
&lt;br /&gt;
Most likely this will fail! Why? OOo will invoke the make utility with GNU make specific flags. Even more: OOo might try to build icu and the bundled icu will not build with Sun make at all. You might need to use GNU make. I have no idea how to tell OOo that it shall use /usr/gnu/bin/make instead of /usr/ccs/bin/make. I modified the soft link /usr/ccs/bin/make - blame me...&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108182</id>
		<title>Database/Drivers/MySQL Native/Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108182"/>
		<updated>2009-01-19T11:32:31Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Status and Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MySQL driver for OpenOffice.org ==&lt;br /&gt;
&lt;br /&gt;
The MySQL driver for OpenOffice.org (also called Connector/OO.org) is a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org. Before the development of the Conenctor/OO.org, OO.org has used JDBC/ODBC to connect to the MySQL Server. JDBC/ODBC adds an extra level of indirection to the connection and is generally speaking more difficult to install but Connector/OO.org.&lt;br /&gt;
&lt;br /&gt;
Please note that this page is not part of the end-user documentation, check [[http://forge.mysql.com/wiki/Connector_OpenOffice MySQL Forge Connector/OpenOffice] for end-user documentation.. This page is part of the project documentation and used by the development team to coordinate their work.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
Develop a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org which is at least as feature-complete as other drivers. Complete the task before the release of OO.org 3.0. &lt;br /&gt;
&lt;br /&gt;
== Status and Releases ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Media:Mysql_native_driver_roadmap_rev1.pdf|Development Roadmap of the MySQL native driver for OpenOffice.org / MySQL Connector/OpenOffice.org]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* 04/2009 - GA&lt;br /&gt;
* 03/2009 - Beta&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;01/2009 - Working towards Alpha&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 12/2008 - Internal redesign to run on MySQL Connector/C++&lt;br /&gt;
* 05/2008 - 11/2008 - Almost no active development&lt;br /&gt;
* 04/2008 - Preview version released for OO.org 2.4&lt;br /&gt;
* 02/2008 - Kick-Off Meeting Hamburg&lt;br /&gt;
* Before - Native driver development by Georg Richter&lt;br /&gt;
&lt;br /&gt;
== Development team ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Primary contact person&amp;#039;&amp;#039; shown in bold letters.&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org/StarOffice Base ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Frank Schoenheit&amp;#039;&amp;#039;&amp;#039;, Technical Lead OpenOffice.org/StarOffice Base, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
* Ocke Janssen, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
&lt;br /&gt;
* Georg Richter, Development Manager - Connectors &amp;amp; Client Connectivity, firstname at mysql dot com, (Development)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ulf Wendel&amp;#039;&amp;#039;&amp;#039;, Senior Software Engineer, uwendel at mysql dot com, (QA, Documentation)&lt;br /&gt;
* Andrey Hristov, Software Engineer, firstname at mysql dot com, (Development)&lt;br /&gt;
* Lawrenty Novitsky, Software Developer, lawrin at mysql dot com, (QA, Development)&lt;br /&gt;
&lt;br /&gt;
== Meetings ==&lt;br /&gt;
&lt;br /&gt;
* 22.05.2008 - Technical Meeting of the entire Development team&lt;br /&gt;
* 29.04.2008 - [[Database/Drivers/MySQL_Native/Meeting_Minutes | Technical Meeting, Hamburg]]&lt;br /&gt;
* 12.02.2008 - Non public Kick-Off Meeting, Hamburg&lt;br /&gt;
&lt;br /&gt;
== Technical Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL Native/TestingIdeas|Ideas for testing]]&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
&lt;br /&gt;
* Mailinglists and IRC&lt;br /&gt;
** dev@openoffice.org&lt;br /&gt;
** irc.freenode.org - #dev.openoffice.org&lt;br /&gt;
&lt;br /&gt;
* OpenOffice 3 CVS&lt;br /&gt;
** checkout: cvs -d :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout  -r DEV300_m10 OpenOffice3&lt;br /&gt;
** update to CWS code status:  cvs update -r cws_dev300_mysqlnative&lt;br /&gt;
&lt;br /&gt;
* [[CWS|CWS (child workspace)]] of Connector/OO.org&lt;br /&gt;
** [http://www.openoffice.org/scdocs/ddSSHGuide CVS/SSH instructions]&lt;br /&gt;
** Web interface - EIS (Environment Information System) link to CWS: [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fmysqlnative  mysqlnative]&lt;br /&gt;
* Build environment on lsmy3 (MySQL internal)&lt;br /&gt;
** [http://tools.openoffice.org/ Introduction on Building OOo]&lt;br /&gt;
** For general questions ask on the OOo community mailing lists&lt;br /&gt;
&lt;br /&gt;
* MySQL Connector/OpenOffice.org&lt;br /&gt;
** [[Database/Drivers/MySQL Native/Connector/C-OOo-Connect-URL | Connection-URL]]&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/Architecture|OpenOffice.org/StarOffice Base - database driver architecture overview]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%29_Interface|SDBC(X) Interface which has to be supported]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%292MySQL|Mapping of SDBC(X) and MySQL interface]]&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108181</id>
		<title>Database/Drivers/MySQL Native/Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108181"/>
		<updated>2009-01-19T11:32:00Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Status and Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MySQL driver for OpenOffice.org ==&lt;br /&gt;
&lt;br /&gt;
The MySQL driver for OpenOffice.org (also called Connector/OO.org) is a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org. Before the development of the Conenctor/OO.org, OO.org has used JDBC/ODBC to connect to the MySQL Server. JDBC/ODBC adds an extra level of indirection to the connection and is generally speaking more difficult to install but Connector/OO.org.&lt;br /&gt;
&lt;br /&gt;
Please note that this page is not part of the end-user documentation, check [[http://forge.mysql.com/wiki/Connector_OpenOffice MySQL Forge Connector/OpenOffice] for end-user documentation.. This page is part of the project documentation and used by the development team to coordinate their work.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
Develop a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org which is at least as feature-complete as other drivers. Complete the task before the release of OO.org 3.0. &lt;br /&gt;
&lt;br /&gt;
== Status and Releases ==&lt;br /&gt;
&lt;br /&gt;
[[Media:Mysql_native_driver_roadmap_rev1.pdf|Development Roadmap of the MySQL native driver for OpenOffice.org / MySQL Connector/OpenOffice.org]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;01/2009 - Working towards Alpha&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 12/2008 - Internal redesign to run on MySQL Connector/C++&lt;br /&gt;
* 05/2008 - 11/2008 - Almost no active development&lt;br /&gt;
* 04/2008 - Preview version released for OO.org 2.4&lt;br /&gt;
* 02/2008 - Kick-Off Meeting Hamburg&lt;br /&gt;
* Before - Native driver development by Georg Richter&lt;br /&gt;
&lt;br /&gt;
== Development team ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Primary contact person&amp;#039;&amp;#039; shown in bold letters.&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org/StarOffice Base ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Frank Schoenheit&amp;#039;&amp;#039;&amp;#039;, Technical Lead OpenOffice.org/StarOffice Base, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
* Ocke Janssen, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
&lt;br /&gt;
* Georg Richter, Development Manager - Connectors &amp;amp; Client Connectivity, firstname at mysql dot com, (Development)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ulf Wendel&amp;#039;&amp;#039;&amp;#039;, Senior Software Engineer, uwendel at mysql dot com, (QA, Documentation)&lt;br /&gt;
* Andrey Hristov, Software Engineer, firstname at mysql dot com, (Development)&lt;br /&gt;
* Lawrenty Novitsky, Software Developer, lawrin at mysql dot com, (QA, Development)&lt;br /&gt;
&lt;br /&gt;
== Meetings ==&lt;br /&gt;
&lt;br /&gt;
* 22.05.2008 - Technical Meeting of the entire Development team&lt;br /&gt;
* 29.04.2008 - [[Database/Drivers/MySQL_Native/Meeting_Minutes | Technical Meeting, Hamburg]]&lt;br /&gt;
* 12.02.2008 - Non public Kick-Off Meeting, Hamburg&lt;br /&gt;
&lt;br /&gt;
== Technical Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL Native/TestingIdeas|Ideas for testing]]&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
&lt;br /&gt;
* Mailinglists and IRC&lt;br /&gt;
** dev@openoffice.org&lt;br /&gt;
** irc.freenode.org - #dev.openoffice.org&lt;br /&gt;
&lt;br /&gt;
* OpenOffice 3 CVS&lt;br /&gt;
** checkout: cvs -d :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout  -r DEV300_m10 OpenOffice3&lt;br /&gt;
** update to CWS code status:  cvs update -r cws_dev300_mysqlnative&lt;br /&gt;
&lt;br /&gt;
* [[CWS|CWS (child workspace)]] of Connector/OO.org&lt;br /&gt;
** [http://www.openoffice.org/scdocs/ddSSHGuide CVS/SSH instructions]&lt;br /&gt;
** Web interface - EIS (Environment Information System) link to CWS: [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fmysqlnative  mysqlnative]&lt;br /&gt;
* Build environment on lsmy3 (MySQL internal)&lt;br /&gt;
** [http://tools.openoffice.org/ Introduction on Building OOo]&lt;br /&gt;
** For general questions ask on the OOo community mailing lists&lt;br /&gt;
&lt;br /&gt;
* MySQL Connector/OpenOffice.org&lt;br /&gt;
** [[Database/Drivers/MySQL Native/Connector/C-OOo-Connect-URL | Connection-URL]]&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/Architecture|OpenOffice.org/StarOffice Base - database driver architecture overview]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%29_Interface|SDBC(X) Interface which has to be supported]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%292MySQL|Mapping of SDBC(X) and MySQL interface]]&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108180</id>
		<title>Database/Drivers/MySQL Native/Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108180"/>
		<updated>2009-01-19T11:31:24Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Status and Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MySQL driver for OpenOffice.org ==&lt;br /&gt;
&lt;br /&gt;
The MySQL driver for OpenOffice.org (also called Connector/OO.org) is a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org. Before the development of the Conenctor/OO.org, OO.org has used JDBC/ODBC to connect to the MySQL Server. JDBC/ODBC adds an extra level of indirection to the connection and is generally speaking more difficult to install but Connector/OO.org.&lt;br /&gt;
&lt;br /&gt;
Please note that this page is not part of the end-user documentation, check [[http://forge.mysql.com/wiki/Connector_OpenOffice MySQL Forge Connector/OpenOffice] for end-user documentation.. This page is part of the project documentation and used by the development team to coordinate their work.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
Develop a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org which is at least as feature-complete as other drivers. Complete the task before the release of OO.org 3.0. &lt;br /&gt;
&lt;br /&gt;
== Status and Releases ==&lt;br /&gt;
&lt;br /&gt;
[[Media:Mysql_native_driver_roadmap_rev1.pdf]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;01/2009 - Working towards Alpha&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 12/2008 - Internal redesign to run on MySQL Connector/C++&lt;br /&gt;
* 05/2008 - 11/2008 - Almost no active development&lt;br /&gt;
* 04/2008 - Preview version released for OO.org 2.4&lt;br /&gt;
* 02/2008 - Kick-Off Meeting Hamburg&lt;br /&gt;
* Before - Native driver development by Georg Richter&lt;br /&gt;
&lt;br /&gt;
== Development team ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Primary contact person&amp;#039;&amp;#039; shown in bold letters.&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org/StarOffice Base ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Frank Schoenheit&amp;#039;&amp;#039;&amp;#039;, Technical Lead OpenOffice.org/StarOffice Base, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
* Ocke Janssen, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
&lt;br /&gt;
* Georg Richter, Development Manager - Connectors &amp;amp; Client Connectivity, firstname at mysql dot com, (Development)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ulf Wendel&amp;#039;&amp;#039;&amp;#039;, Senior Software Engineer, uwendel at mysql dot com, (QA, Documentation)&lt;br /&gt;
* Andrey Hristov, Software Engineer, firstname at mysql dot com, (Development)&lt;br /&gt;
* Lawrenty Novitsky, Software Developer, lawrin at mysql dot com, (QA, Development)&lt;br /&gt;
&lt;br /&gt;
== Meetings ==&lt;br /&gt;
&lt;br /&gt;
* 22.05.2008 - Technical Meeting of the entire Development team&lt;br /&gt;
* 29.04.2008 - [[Database/Drivers/MySQL_Native/Meeting_Minutes | Technical Meeting, Hamburg]]&lt;br /&gt;
* 12.02.2008 - Non public Kick-Off Meeting, Hamburg&lt;br /&gt;
&lt;br /&gt;
== Technical Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL Native/TestingIdeas|Ideas for testing]]&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
&lt;br /&gt;
* Mailinglists and IRC&lt;br /&gt;
** dev@openoffice.org&lt;br /&gt;
** irc.freenode.org - #dev.openoffice.org&lt;br /&gt;
&lt;br /&gt;
* OpenOffice 3 CVS&lt;br /&gt;
** checkout: cvs -d :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout  -r DEV300_m10 OpenOffice3&lt;br /&gt;
** update to CWS code status:  cvs update -r cws_dev300_mysqlnative&lt;br /&gt;
&lt;br /&gt;
* [[CWS|CWS (child workspace)]] of Connector/OO.org&lt;br /&gt;
** [http://www.openoffice.org/scdocs/ddSSHGuide CVS/SSH instructions]&lt;br /&gt;
** Web interface - EIS (Environment Information System) link to CWS: [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fmysqlnative  mysqlnative]&lt;br /&gt;
* Build environment on lsmy3 (MySQL internal)&lt;br /&gt;
** [http://tools.openoffice.org/ Introduction on Building OOo]&lt;br /&gt;
** For general questions ask on the OOo community mailing lists&lt;br /&gt;
&lt;br /&gt;
* MySQL Connector/OpenOffice.org&lt;br /&gt;
** [[Database/Drivers/MySQL Native/Connector/C-OOo-Connect-URL | Connection-URL]]&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/Architecture|OpenOffice.org/StarOffice Base - database driver architecture overview]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%29_Interface|SDBC(X) Interface which has to be supported]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%292MySQL|Mapping of SDBC(X) and MySQL interface]]&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108178</id>
		<title>Database/Drivers/MySQL Native/Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108178"/>
		<updated>2009-01-19T11:28:04Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Status and Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MySQL driver for OpenOffice.org ==&lt;br /&gt;
&lt;br /&gt;
The MySQL driver for OpenOffice.org (also called Connector/OO.org) is a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org. Before the development of the Conenctor/OO.org, OO.org has used JDBC/ODBC to connect to the MySQL Server. JDBC/ODBC adds an extra level of indirection to the connection and is generally speaking more difficult to install but Connector/OO.org.&lt;br /&gt;
&lt;br /&gt;
Please note that this page is not part of the end-user documentation, check [[http://forge.mysql.com/wiki/Connector_OpenOffice MySQL Forge Connector/OpenOffice] for end-user documentation.. This page is part of the project documentation and used by the development team to coordinate their work.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
Develop a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org which is at least as feature-complete as other drivers. Complete the task before the release of OO.org 3.0. &lt;br /&gt;
&lt;br /&gt;
== Status and Releases ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;01/2009 - Working towards Alpha&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 12/2008 - Internal redesign to run on MySQL Connector/C++&lt;br /&gt;
* 05/2008 - 11/2008 - Almost no active development&lt;br /&gt;
* 04/2008 - Preview version released for OO.org 2.4&lt;br /&gt;
* 02/2008 - Kick-Off Meeting Hamburg&lt;br /&gt;
* Before - Native driver development by Georg Richter&lt;br /&gt;
&lt;br /&gt;
== Development team ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Primary contact person&amp;#039;&amp;#039; shown in bold letters.&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org/StarOffice Base ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Frank Schoenheit&amp;#039;&amp;#039;&amp;#039;, Technical Lead OpenOffice.org/StarOffice Base, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
* Ocke Janssen, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
&lt;br /&gt;
* Georg Richter, Development Manager - Connectors &amp;amp; Client Connectivity, firstname at mysql dot com, (Development)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ulf Wendel&amp;#039;&amp;#039;&amp;#039;, Senior Software Engineer, uwendel at mysql dot com, (QA, Documentation)&lt;br /&gt;
* Andrey Hristov, Software Engineer, firstname at mysql dot com, (Development)&lt;br /&gt;
* Lawrenty Novitsky, Software Developer, lawrin at mysql dot com, (QA, Development)&lt;br /&gt;
&lt;br /&gt;
== Meetings ==&lt;br /&gt;
&lt;br /&gt;
* 22.05.2008 - Technical Meeting of the entire Development team&lt;br /&gt;
* 29.04.2008 - [[Database/Drivers/MySQL_Native/Meeting_Minutes | Technical Meeting, Hamburg]]&lt;br /&gt;
* 12.02.2008 - Non public Kick-Off Meeting, Hamburg&lt;br /&gt;
&lt;br /&gt;
== Technical Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL Native/TestingIdeas|Ideas for testing]]&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
&lt;br /&gt;
* Mailinglists and IRC&lt;br /&gt;
** dev@openoffice.org&lt;br /&gt;
** irc.freenode.org - #dev.openoffice.org&lt;br /&gt;
&lt;br /&gt;
* OpenOffice 3 CVS&lt;br /&gt;
** checkout: cvs -d :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout  -r DEV300_m10 OpenOffice3&lt;br /&gt;
** update to CWS code status:  cvs update -r cws_dev300_mysqlnative&lt;br /&gt;
&lt;br /&gt;
* [[CWS|CWS (child workspace)]] of Connector/OO.org&lt;br /&gt;
** [http://www.openoffice.org/scdocs/ddSSHGuide CVS/SSH instructions]&lt;br /&gt;
** Web interface - EIS (Environment Information System) link to CWS: [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fmysqlnative  mysqlnative]&lt;br /&gt;
* Build environment on lsmy3 (MySQL internal)&lt;br /&gt;
** [http://tools.openoffice.org/ Introduction on Building OOo]&lt;br /&gt;
** For general questions ask on the OOo community mailing lists&lt;br /&gt;
&lt;br /&gt;
* MySQL Connector/OpenOffice.org&lt;br /&gt;
** [[Database/Drivers/MySQL Native/Connector/C-OOo-Connect-URL | Connection-URL]]&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/Architecture|OpenOffice.org/StarOffice Base - database driver architecture overview]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%29_Interface|SDBC(X) Interface which has to be supported]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%292MySQL|Mapping of SDBC(X) and MySQL interface]]&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108177</id>
		<title>Database/Drivers/MySQL Native/Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Overview&amp;diff=108177"/>
		<updated>2009-01-19T11:27:43Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* Status and Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MySQL driver for OpenOffice.org ==&lt;br /&gt;
&lt;br /&gt;
The MySQL driver for OpenOffice.org (also called Connector/OO.org) is a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org. Before the development of the Conenctor/OO.org, OO.org has used JDBC/ODBC to connect to the MySQL Server. JDBC/ODBC adds an extra level of indirection to the connection and is generally speaking more difficult to install but Connector/OO.org.&lt;br /&gt;
&lt;br /&gt;
Please note that this page is not part of the end-user documentation, check [[http://forge.mysql.com/wiki/Connector_OpenOffice MySQL Forge Connector/OpenOffice] for end-user documentation.. This page is part of the project documentation and used by the development team to coordinate their work.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
Develop a &amp;quot;native&amp;quot; MySQL driver for OpenOffice.org which is at least as feature-complete as other drivers. Complete the task before the release of OO.org 3.0. &lt;br /&gt;
&lt;br /&gt;
== Status and Releases ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;* 01/2009 - Working towards Alpha&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 12/2008 - Internal redesign to run on MySQL Connector/C++&lt;br /&gt;
* 05/2008 - 11/2008 - Almost no active development&lt;br /&gt;
* 04/2008 - Preview version released for OO.org 2.4&lt;br /&gt;
* 02/2008 - Kick-Off Meeting Hamburg&lt;br /&gt;
* Before - Native driver development by Georg Richter&lt;br /&gt;
&lt;br /&gt;
== Development team ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Primary contact person&amp;#039;&amp;#039; shown in bold letters.&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org/StarOffice Base ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Frank Schoenheit&amp;#039;&amp;#039;&amp;#039;, Technical Lead OpenOffice.org/StarOffice Base, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
* Ocke Janssen, firstname dot lastname at sun dot com, (Development)&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
&lt;br /&gt;
* Georg Richter, Development Manager - Connectors &amp;amp; Client Connectivity, firstname at mysql dot com, (Development)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ulf Wendel&amp;#039;&amp;#039;&amp;#039;, Senior Software Engineer, uwendel at mysql dot com, (QA, Documentation)&lt;br /&gt;
* Andrey Hristov, Software Engineer, firstname at mysql dot com, (Development)&lt;br /&gt;
* Lawrenty Novitsky, Software Developer, lawrin at mysql dot com, (QA, Development)&lt;br /&gt;
&lt;br /&gt;
== Meetings ==&lt;br /&gt;
&lt;br /&gt;
* 22.05.2008 - Technical Meeting of the entire Development team&lt;br /&gt;
* 29.04.2008 - [[Database/Drivers/MySQL_Native/Meeting_Minutes | Technical Meeting, Hamburg]]&lt;br /&gt;
* 12.02.2008 - Non public Kick-Off Meeting, Hamburg&lt;br /&gt;
&lt;br /&gt;
== Technical Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL Native/TestingIdeas|Ideas for testing]]&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
&lt;br /&gt;
* Mailinglists and IRC&lt;br /&gt;
** dev@openoffice.org&lt;br /&gt;
** irc.freenode.org - #dev.openoffice.org&lt;br /&gt;
&lt;br /&gt;
* OpenOffice 3 CVS&lt;br /&gt;
** checkout: cvs -d :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout  -r DEV300_m10 OpenOffice3&lt;br /&gt;
** update to CWS code status:  cvs update -r cws_dev300_mysqlnative&lt;br /&gt;
&lt;br /&gt;
* [[CWS|CWS (child workspace)]] of Connector/OO.org&lt;br /&gt;
** [http://www.openoffice.org/scdocs/ddSSHGuide CVS/SSH instructions]&lt;br /&gt;
** Web interface - EIS (Environment Information System) link to CWS: [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fmysqlnative  mysqlnative]&lt;br /&gt;
* Build environment on lsmy3 (MySQL internal)&lt;br /&gt;
** [http://tools.openoffice.org/ Introduction on Building OOo]&lt;br /&gt;
** For general questions ask on the OOo community mailing lists&lt;br /&gt;
&lt;br /&gt;
* MySQL Connector/OpenOffice.org&lt;br /&gt;
** [[Database/Drivers/MySQL Native/Connector/C-OOo-Connect-URL | Connection-URL]]&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org ===&lt;br /&gt;
&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/Architecture|OpenOffice.org/StarOffice Base - database driver architecture overview]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%29_Interface|SDBC(X) Interface which has to be supported]]&lt;br /&gt;
* [[Database/Drivers/MySQL_Native/SDBC%28X%292MySQL|Mapping of SDBC(X) and MySQL interface]]&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=107234</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=107234"/>
		<updated>2009-01-12T20:05:45Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* change table fildtype in edit view not possible */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m 95% sure C/C++ and C/OOo report a proper column type.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Is this really an issue? There&amp;#039;s &amp;lt;code&amp;gt;View/Refresh Tables&amp;lt;/code&amp;gt;, if needed.&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
Error message: Database not support relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== change table fieldtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fieldtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk → invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=107228</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=107228"/>
		<updated>2009-01-12T17:40:31Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* fildtype is changed after saving */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m 95% sure C/C++ and C/OOo report a proper column type.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Is this really an issue? There&amp;#039;s &amp;lt;code&amp;gt;View/Refresh Tables&amp;lt;/code&amp;gt;, if needed.&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
Error message: Database not support relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== change table fildtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fildtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== fieldtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate and not an error in C/C++. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk → invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=107227</id>
		<title>Database/Drivers/MySQL Native/Known Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Database/Drivers/MySQL_Native/Known_Problems&amp;diff=107227"/>
		<updated>2009-01-12T17:39:45Z</updated>

		<summary type="html">&lt;p&gt;Nixnutz: /* fildtype is changed after saving */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MySQL Native Driver: Known Problems}}&lt;br /&gt;
&lt;br /&gt;
This page lists the currently known problems with the MySQL Native Driver, aka MySQL Connector/OOo.&lt;br /&gt;
&lt;br /&gt;
== End User Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects issues as observed by end users&lt;br /&gt;
&lt;br /&gt;
=== Template for new entries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Description goes here.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Copying tables may not work properly ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by NAME on xx/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Needs further and systematic testing!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Original table:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
  `id` int(11) NOT NULL,&lt;br /&gt;
  `col1` int(11) NOT NULL,&lt;br /&gt;
  `col2` char(1) default NULL,&lt;br /&gt;
  `col3` varchar(50) default NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`),&lt;br /&gt;
  KEY `idx_col1` (`col1`),&lt;br /&gt;
  KEY `idx_col2` (`col2`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Copy:&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source2` (&lt;br /&gt;
  `id` int(10) NOT NULL,&lt;br /&gt;
  `col1` int(10) default NULL,&lt;br /&gt;
  `col2` char(3) default NULL,&lt;br /&gt;
  `col3` varchar(150) NOT NULL,&lt;br /&gt;
  PRIMARY KEY  (`id`)&lt;br /&gt;
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
* Wrong column definitions (known issue)&lt;br /&gt;
* NOT NULL not properly handled&lt;br /&gt;
* Index information not copyied (same with JDBC, might be a Base issue)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Wrong column width reported for text/binary columns ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We discussed this before and it might be fixed in the current source, but I work on an older snapshot. We return number of bytes, OO.org wants number of characters. A typical follow-up error is that copying tables may fail and/or give wrong results.&lt;br /&gt;
&lt;br /&gt;
From an earlier mail exchange:&lt;br /&gt;
&lt;br /&gt;
  Hintergrund: für eine VARBINARY(10)-Spalte in MySQL liefern wir aktuell&lt;br /&gt;
  40, für eine INTEGER-Spalte in MySQL liefern wir aktuell 11. Wir liefern&lt;br /&gt;
  momentan 40 für VARBINARY(10), weil das Feld maximal 10 Zeichen aufnehmen kann, die maximal 4 Bytes für das Encoding benötigen. Für ein  VARCHAR(255) wird sogar VARCHAR(255) der Wert von 3060 geliefert, weil hier der MySQL Server nochmal in einem seiner Datenfelder einen Mul  tiplikator von 3 einbaut (255 * 3 * 4 = 3060). &lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
  Später am Abend fiel es mir wieder ein... wir ziehen getColumnDisplaySize() intern im Connector/C++ ran für ConnectionMetaData::getColumns() -&amp;gt; COLUMN_SIZE.&lt;br /&gt;
  rs_data.push_back(my_i_to_a(buf, sizeof(buf)-1, (long) rs3_meta-&amp;gt;getColumnDisplaySize(i))); // Column size &lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the native driver: Its not possible to rename a view, the UI does not offer the context menu item when selecting the view in the table list.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Renaming a view &amp;quot;makes&amp;quot; it a table ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 09/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with the JDBC driver. Create a view and rename it in Base. Base changes the icon in the table list and shows the renamed object as a table :-)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;low&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Removing records from views fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removing records from SQL views neither works with the JDBC driver nor with the native driver. Base sends a misformed query like: &amp;quot;DELETE FROM `test`.`v` W&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== Tools-&amp;gt;SQL does not show error message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the SQL execution wizard by invoking Tools-&amp;gt;SQL. Run an invalid SQL query, for example, &amp;quot;create table foo&amp;quot;. Base prints a new line &amp;quot;n:&amp;quot; in the status part of the window but it shows no error message.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;unclassified&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== New tables shown after &amp;quot;refresh tables&amp;quot; but (delete) rights/grants wrong? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by Ulf on 08/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create some tables in MySQL. Start Base and browse the table list. Create a new table in MySQL (not in Base!), make sure it has a PK, add some records. Select View-&amp;gt;Refresh tables. Base will show the new table. Try to remove a row from the newly created table. Base rejects the delete operation stating that the user as insufficient rights.&lt;br /&gt;
&lt;br /&gt;
=== Empty schemata not shown ===&lt;br /&gt;
&lt;br /&gt;
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not shown.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: OOo calls getTables() - no tables - schema not displayed. Setting might even be cached - verify that database becomes visible after creating table (from mysql prompt) in schema.&lt;br /&gt;
&lt;br /&gt;
=== DECIMAL shown as TEXT ===&lt;br /&gt;
&lt;br /&gt;
Base shows numerical DECIMAL columns as TEXT (in the table editor?).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m 95% sure C/C++ and C/OOo report a proper column type.&lt;br /&gt;
&lt;br /&gt;
=== SMALLINT shown as REAL ===&lt;br /&gt;
&lt;br /&gt;
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base (in the table editor?)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OOo shows unrelated databases/schemata ===&lt;br /&gt;
&lt;br /&gt;
Create a new Base database that connects to a MySQL schemata &amp;quot;test&amp;quot;. Have &amp;quot;test&amp;quot; in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas, and also display all those tables.&lt;br /&gt;
&lt;br /&gt;
As a consequence the user will see all schemata he has access to not only the schemata/database &amp;quot;test&amp;quot; as requested in the connection settings&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No default schema on table creation ===&lt;br /&gt;
&lt;br /&gt;
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a certain schema by specifying it in the connection settings.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;desired&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No way to set MySQL specific table attributes ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Base does not recognize schema changes ===&lt;br /&gt;
&lt;br /&gt;
After connecting to a database and opening a table once, Base will not recognize changes applied to the DB schema meanwhile when opening the table in the table editor again.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Is this really an issue? There&amp;#039;s &amp;lt;code&amp;gt;View/Refresh Tables&amp;lt;/code&amp;gt;, if needed.&lt;br /&gt;
&lt;br /&gt;
=== Table column comments not synced between MySQL and Base ===&lt;br /&gt;
&lt;br /&gt;
Base table column comments are not synchronized with the MySQL DB and its schema. Existing comments are not displayed in Base, and entering comments in the table editor is not propagated to MySQL.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#C0C0FF; padding:3px&amp;quot;&amp;gt;later&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s a known issue with all database types. The column description as displayed in Base is purely client-side, and stored within the .odb file only. There&amp;#039;s also an issue for this, but I&amp;#039;m too lazy too search for it right now ...&lt;br /&gt;
&lt;br /&gt;
=== Violation of FK constraint gives two errors instead of one ===&lt;br /&gt;
&lt;br /&gt;
Create two tables. Have one table &amp;quot;derived&amp;quot; reference entries in the other table &amp;quot;source&amp;quot;. Try to remove a referenced record from the table &amp;quot;source&amp;quot;. MySQL will report an error stating that you are violating a FK constrain. When using the MySQL JDBC driver the Base shows one requester with stating something like &amp;quot;Error - (error message from MySQL)&amp;quot;. When using the native driver you get an requester stating &amp;quot;error&amp;quot; and you can proceed to an error details dialog. In the details dialog you will find two errors. The first has no message, the second shows the error message provided by MySQL.&lt;br /&gt;
&lt;br /&gt;
This is a common pattern. Cause any SQL error and you can see up to three errors when you quit the initial requester using the button &amp;quot;more&amp;quot;. Quite annoying, for example, when writing SQL statements for a Base &amp;quot;Query&amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The empty error message is ugly, but not the only one within Base, so that&amp;#039;s nothing which will block an 1.0 release ... (Ulf) But why does it work fine with the JDBC driver?&lt;br /&gt;
&lt;br /&gt;
=== Default values not properly processed ===&lt;br /&gt;
&lt;br /&gt;
The Base table editor neither properly sets default values nor does it re-engineer default values properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#c0ffc0; padding:3px&amp;quot;&amp;gt;1.1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a known issue. The default value displayed in the UI is a so-called &amp;quot;control default&amp;quot;, which is applied to &amp;#039;&amp;#039;controls&amp;#039;&amp;#039; used to enter data into the given field. The DB-side default for a column is a different property, API-wise, and currently not evaluated at all. Probably not even properly fetched by most existing drivers.&lt;br /&gt;
&lt;br /&gt;
Changing this is possible, but probably requires UI changes. First, we would need to define how the control default and the DB default should interact in the UI. A possible scenario would be to drop the UI support for the control default, and always use the DB default (even in controls), as long as the driver supports providing/accepting DB defaults.&lt;br /&gt;
&lt;br /&gt;
=== BIGINT values crippled ===&lt;br /&gt;
&lt;br /&gt;
Large BIGINT values are displayed in Base using scientific notation: 1e+15. If one changes the display format to number #.### the first 14 values of a large number (9223372036854775807) are displayed properly but then some rounding takes place, for example: 9223372036854800000. Connector/C++ can handle long long (L64) values properly and Base does use getLong() nevertheless the displayed value seems wrong.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I bet that&amp;#039;s because of the number formatter ... processing numbers for display is done using a office-wide number formatter component. Unfortunately, it works with double-precision values only, which imposes a precision loss for certain values. This applies to &amp;quot;too-large&amp;quot; values, as well as fractional values with &amp;quot;too many&amp;quot; digits. This is a general problem in Base, and not limited to the MySQL Native Driver.&lt;br /&gt;
&lt;br /&gt;
A possible solution would be to &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039; employ the number formatter for certain column types. (Effectively, this means &amp;#039;&amp;#039;not&amp;#039;&amp;#039; using a &amp;lt;code&amp;gt;FormattedField&amp;lt;/code&amp;gt; for the respective table column in the data view, but a NumericField, which internally works with long integer values of arbitrary (?) length.) This would solve the BIGINT issue, though not the too-many-digits issue for fractional values.&lt;br /&gt;
&lt;br /&gt;
=== Subforms do not work ===&lt;br /&gt;
&lt;br /&gt;
Well, some of them do ... more precisely, SQL statements with named parameters (&amp;quot;:param_name&amp;quot;) do not work in general. The ODBC/JDBC driver wrapper used to replace them with unnamed parameters (&amp;quot;?&amp;quot;), since MySQL does not understand them, but the native driver does not do this, yet. Since subforms usually make heavy use of such named parameters, they currently fail.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixing this should be easy, at least so it is as usable as with other DBs/drivers, in particular with the existing MySQL-(O/J)DBC bridge. Before sending statements to the server, the driver must replace (unless the statement&amp;#039;s &amp;lt;code&amp;gt;EscapeProcessing&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, of course) named parameters with anonymous ones. The disadvantage is that this only works when Base itself can parse the statement, and that it potentially changes the statement. However, both statements are true for all other DBs which do not support named parameters, too.&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; User Administration does not work ===&lt;br /&gt;
&lt;br /&gt;
When you choose &amp;lt;code&amp;gt;Tools/User administration...&amp;lt;/code&amp;gt;, you&amp;#039;re presented with an error.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (remove the menu item)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt; (implement proper user administration)&lt;br /&gt;
&lt;br /&gt;
=== Tools -&amp;gt; Relations... not working ===&lt;br /&gt;
&lt;br /&gt;
Error message: Database not support relations.&lt;br /&gt;
&lt;br /&gt;
We should hint MySQL users in the driver documentation that Base takes no(?) measures to clean up no longer needed indexes. MySQL&amp;#039;s InnoDB needs some special treatment.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With 3.x, Base is able to administrate MySQL&amp;#039;s relationships (via the ODBC/JDBC bridge), so the native driver should be able to do this, too. At least with approximately the same set of bugs as the &amp;quot;old&amp;quot; driver :)&lt;br /&gt;
&lt;br /&gt;
=== insert data in table not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any table with pk → not possible to insert data into table&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== create table with wizard fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
run table wizard: take default &amp;amp; all field &amp;amp; push finish → java assertion list appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== change pk fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table with pk and change pk to any other field -&amp;gt; error: duplicate entry for key&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: pk not detected?&lt;br /&gt;
&lt;br /&gt;
=== change table fildtype in edit view not possible ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
open table in edit mode -&amp;gt; fildtypes greyed out (not possible to change)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== fildtype is changed after saving ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in table edit view: create a field from f.e. type bool &amp;amp; save → tinyint&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: maybe the same problem like 1.10 &amp;amp; 1.11&lt;br /&gt;
&lt;br /&gt;
(Ulf) Duplicate. There is no boolean type in MySQL. However, its handled in the JDBC driver case, the best we can do is emulate it in the same way.&lt;br /&gt;
&lt;br /&gt;
=== copy table &amp;amp; paste special fails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy table &amp;amp; paste special (change tablename) with pk → invalid error message without text appears&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
=== query wizard shows &amp;#039;query&amp;#039; as &amp;#039;table&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#f0ee00; padding:3px&amp;quot;&amp;gt;reported by [http://wiki.services.openoffice.org/wiki/User:Clu CLU] on 12/01/2009 - needs review&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create any query, open query wizard → tables listbox propose query (also with the other wizards)&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason: unknown&lt;br /&gt;
&lt;br /&gt;
== Developer Observations ==&lt;br /&gt;
&lt;br /&gt;
This section collects observations interesting for developers only. It&amp;#039;s likely the describe the root cause for another problem listed in the &amp;#039;&amp;#039;End User Observations&amp;#039;&amp;#039; section. In this sense, they might be duplicates, but we currently just use this as reminder list whenever we notice a problem ...&lt;br /&gt;
&lt;br /&gt;
=== INSERT does not work ===&lt;br /&gt;
&lt;br /&gt;
Inserting data into a simple table does not work. Works fine when using the JDBC driver.&lt;br /&gt;
&lt;br /&gt;
  CREATE TABLE `source` (&lt;br /&gt;
    `id` int(11) NOT NULL,&lt;br /&gt;
    `col1` int(11) NOT NULL,&lt;br /&gt;
    PRIMARY KEY  (`id`),&lt;br /&gt;
    KEY `idx_col1` (`col1`)&lt;br /&gt;
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== information_schema (I_S) not shown in schema list ===&lt;br /&gt;
&lt;br /&gt;
SHOW DATABASES shows the I_S. When quering the I_S for schema, the I_S will not expose itself. Different versions of Connector/C++ use different ways to fetch schema lists. Until and including Alpha SHOW DATABSES is used.&lt;br /&gt;
&lt;br /&gt;
When using the JDBC driver and specifying no database in the connection URL no schemata are shown at all.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() COLUMN_SIZE ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize().&lt;br /&gt;
&lt;br /&gt;
Affected: DECIMAL/FLOAT.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: DisplaySize is not the same as ColumnSize. The former is a hint for UI processors which are to display the data in a tabular way. Currently, Base does not make use of this attribute.&lt;br /&gt;
The ColumnSize&amp;#039;s semantics is described in the [http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getColumns(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String) Java API], and Base uses it in the very same semantics.&lt;br /&gt;
As a consequence, COLUMN_SIZE is what needs to be tweaked.&lt;br /&gt;
&lt;br /&gt;
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===&lt;br /&gt;
&lt;br /&gt;
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#FF8080; padding:3px&amp;quot;&amp;gt;required&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues ==&lt;br /&gt;
&lt;br /&gt;
This section serves as collection of issues which might become a problem to end users, though we did not yet (bother to) create scenarios where users are hit by those (potential) problems.&lt;br /&gt;
&lt;br /&gt;
=== TIME value range ===&lt;br /&gt;
&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL&amp;#039;s TIME] data type may have a significantly larger value range than the Base counterpart.&lt;br /&gt;
&lt;br /&gt;
Severity: &amp;lt;span style=&amp;quot;background-color:#E0E0E0; padding:3px&amp;quot;&amp;gt;undecided&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TINYINT / BOOLEAN ===&lt;br /&gt;
&lt;br /&gt;
Educate Base users on [http://dev.mysql.com/doc/refman/5.1/en/other-vendor-data-types.html MySQL Server type mappings], for example BOOL[EAN] -&amp;gt; TINYINT.&lt;/div&gt;</summary>
		<author><name>Nixnutz</name></author>
	</entry>
</feed>