Difference between revisions of "Database/Drivers/MySQL Native/Known Driver Problems"

From Apache OpenOffice Wiki
< Database‎ | Drivers‎ | MySQL NativeRedirect page
Jump to: navigation, search
(New page: = Connector/OpenOffice.org development issues to discuss with OOo team = == Base related == === Empty schemata not shown === Create an empty schemata/database. Create a new Base databas...)
 
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Connector/OpenOffice.org development issues to discuss with OOo team =
+
#REDIRECT [[Database/Drivers/MySQL Native/Known Problems]]
 
+
== Base related ==
+
 
+
=== Empty schemata not shown ===
+
 
+
Create an empty schemata/database. Create a new Base database which connects to an empty MySQL database. The MySQL database is not show. 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.
+
 
+
=== DECIMAL shown as TEXT ===
+
 
+
Base shows numerical DECIMAL columns as TEXT. I'm 95% sure C/C++ and C/OOo report a proper column type.
+
 
+
=== OOo shows unrelated databases/schemata ===
+
 
+
Create a new Base database that connects to a MySQL schemata "test". Have "test" in the connection settings! OOo will ignore it and query MySQL for all tables in all schematas.
+
 
+
 
+
000514/01/0000116      OConnection::getMetaData
+
0000515/01/0000117      ODatabaseMetaData::getURL
+
0000517/01/0000118      OConnection::getMetaData
+
0000518/01/0000119      ODatabaseMetaData::getTables
+
0000519/01/0000120              >MySQL_ConnectionMetaData::getTables
+
0000520/02/0000121              |  INF: catalog= schemaPattern=% tablePattern=%
+
 
+
As a consequence the user will see all schemata he has access to not only the schemata/database "test" as requested in the connection settings
+
 
+
=== No default schema on table creation ===
+
 
+
Base does not preselect a default schema in the table editor dialog. Its does not even if you connect to a schema (see also OOo shows unrelated databases/schemata)
+
 
+
=== No way to set MySQL specific table attributes ===
+
 
+
The Base table editor does not give access to table attributes. Not even basic ones such as the Engine (MyISAM: non-transactional, InnoDB: transactional).
+
 
+
=== Base does not recognize schema changes ===
+
 
+
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.
+
 
+
=== Base table column comments ===
+
 
+
Likely a Feature Request: Base table column comments are not synchronized with the MySQL DB and its schema.
+
 
+
== Unclassified: Base and/or Driver related ==
+
 
+
=== Default values not properly processed ===
+
 
+
The Base table editor neither properly sets default values nor does it re-engineer default values properly.
+
 
+
=== SMALLINT becomes REAL ===
+
 
+
When loading a table with a SMALLINT column it is shown as a FLOAT/REAL column in Base
+
 
+
=== BIGINT values crippled? ===
+
 
+
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.
+
 
+
=== TIME value range ===
+
 
+
[http://dev.mysql.com/doc/refman/5.1/en/time.html|MySQL's TIME] data type may have a significantly larger value range than the Base counterpart.
+
 
+
== MySQL related ==
+
 
+
=== information_schema (I_S) not shown in schema list ===
+
 
+
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.
+
 
+
=== TINYINT / BOOLEAN ===
+
 
+
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] -> TINYINT.
+
 
+
=== DatabseMetaData::getColumns() COLUMN_SIZE ===
+
 
+
DatabseMetaData::getColumns() takes COLUMN_SIZE from getDisplaySize(). getDisplaySize() returns always 20, which needs to be tweaked on a per-datatype basis.
+
 
+
Affected: DECIMAL/FLOAT.
+
 
+
=== DatabseMetaData::getColumns() DECIMAL_DIGITS ===
+
 
+
DatabseMetaData::getColumns() does not set DECIMAL_DIGITS. Therefore, Base does not show it properly.
+

Latest revision as of 08:52, 8 January 2009

Personal tools