Database/Drivers/MySQL Native/Known Driver Problems

From Apache OpenOffice Wiki
< Database‎ | Drivers‎ | MySQL Native
Revision as of 10:38, 11 December 2008 by Nixnutz (Talk | contribs)

Jump to: navigation, search

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 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.


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 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.

Personal tools