Database/Drivers/MySQL Native/Meeting Minutes

From Apache OpenOffice Wiki
Jump to: navigation, search

There are irregular meetings in the team developing the Connector/OOo (as it is called on MySQL side) resp. MySQL Native Driver (as it is called on OOo side). This page contains the minutes of those meetings (if we find somebody to write them).

2008-04-29

Attendees

Ulf Wendel, Ocke Janssen, Frank Schönheit

Discussions

  • introductions
    • People working on MySQL side at the project (in different roles, and to different degrees)
      • Ufl Wendel
      • Andrey Hristov
      • Lawrenty Nowitsky
      • Georg Richter
    • People working on OOo side at the project (ditto)
      • Ocke Janssen
      • Frank Schönheit
  • various discussions on current state, next steps
  • Ulf: we should test/QA different MySQL Client Lib versions with the driver
    • Frank: Necessity will vanish on the long run, since the driver will ship with its own version of the MySQL Client Lib, and be guaranteed to run with this, but no other versions
    • Ulf: I forgot a glory detail which we should be aware of. The MySQL Client Library (libmysql) is backwards compatible but not forward compatible. There is no warranty that a MySQL Client Lib of, for example, the minor version 5.2.1 works on a Server with the minor version 5.2.2. In practice its likely to work fine (as the communication protocol does not change often), but ideally we would update the lib whenever a new MySQL Server gets released.
  • Frank/Ulf: need to start exchanging current versions via version control system
    • AI: Frank: update child workspace mysqlnative to a recent milestone
    • AI: Ulf/Georg: commit current state of the driver to CVS
  • Frank: some administrative stuff needed around the driver:
    • 'cause it's distributed as an extension, it probably needs to be productized (AI: Frank: find a responsible program manager)
    • Legal stuff will finally need to be clarified. Difficult at the moment, since the driver is based on / ships with a MySQL Client Lib, which does not yet exist as separate product, and will probably be replaced before the final release
      (Currently this should not be an issue, since the preliminary extension versions are hosted/distributed by MySQL, which has the rights for this lib, of course)
  • Ulf: Documentation? => we'll add documentation for this to the MySQL Guide, and add references to it from other places, e.g. the OOo Help/Wiki
  • Frank: architecture overview
  • Frank: introduction to OOo-libaries vs. UNO Runtime Environment (URE) libraries
    • URE libs are guaranteed to be compatible forever, OOo libs might change the API/ABI with every single build
    • need to make the driver independent from the OOo-libs, to allow to use it for different versions
    • Ulf: should be one of the first steps then
  • Ulf: ways of testing of OOo code?
    • Frank three levels:
      • automated GUI tests (TestTool-based), black-box tests, provided by QA
      • automatic UNO API tests on interface level, black-box tests, provided by QA
      • complex test cases on UNO API level, white box tests, provided by developers usually
  • goals for the first driver release
    • Frank: in general, the first release of the MySQL native driver should provide the same feature set / functionality as the existing MySQL driver which wraps the ODBC/JDBC driver
    • still the new driver will only be an alternative to the existing driver
  • discussion on currently known issues
    • some of them will be solved automatically when we move to 3.0
    • table column alteration needs promotion of the driver to SDBCX
      • Ocke: can do this by copying the few relevant pieces from the existing MySQL (ODBC/JDBC-based) driver
    • parameter name substitution could be solved by employing Base's own parser, as is done for the other drivers, too
      • con: driver depends on non-URE libs then (could be worked around by introducing an UNO service)
      • con: parameter name substitution would be limited to SQL statements understood by OOo's parser, a lot of MySQL specialities would not be covered
      • Might be sufficient for the most prominent use case of named parameters: sub forms
    • alternatively: MySQL should learn named parameters (AI: Ulf: discuss this with Georg)
    • Linux' socket problem can be solved by introducing additional "socket" setting in the UI
      • AI: Ulf: clarify interaction between socket/port (they're probably mutually exclusive)
      • AI: Ulf/Ocke: agree on URL scheme when socket is specified
    • user administration is also part of the SDBCX layer
      • Frank: might be a less interesting feature, finally MySQL Adminiastrator's GUI offers better possibilities for this
      • Ocke: is cheap to re-enable, so why not

Next Steps

  1. lift CWS mysqlnative to most recent build on the 3.0 codeline (Frank)
  2. commit current driver sources to CWS (Georg)
  3. bring extension to 3.0, to benefit from the dedicated UI it will have there (Ocke)
    (send screenshot to Ulf, who will confirm the new UI contains all the settings needed)
  4. make the driver independent from non-URE libs (Ulf?/Ocke)
  5. testing
    1. check what SDBC-related tests exist in Base's QA (Ocke)
    2. write a SDBC->JDBC wrapper, to be able to (perhaps) apply the JDBC conformance tests to all our SDBC drivers, in particular the MySQL Native driver
  6. add SDBCX layer to the driver (?)
  7. solve the "named parameters" problem (?)
  8. allow specifying the socket in the GUI / respect this setting in the driver (?)
  9. re-enable Base's user administration for the native driver, by implementing XUsers etc.
  10. publish new version which works with OOo 3.0 Beta

Action Items

Ulf
  • [in progress] Make the documentation team with their documentation efforts and cross-link to the Forge/OO.org wikis
  • [in progress] Clearify interaction between socket/port (they're probably mutually exclusive)
  • [in progress] Agree on URL scheme with Ocke when socket is specified
  • Clearify named vs. ordinal parameter - is there a chance that the driver support it?
  • Make the driver code independent from non-URE libs
Georg
  • [in progress] Commit current state of the driver to CVS / CWS
  • Allow specifying the socket in the GUI / respect this setting in the driver
Frank
Ocke
  • Fix alter table issue by copying the few relevant pieces from the existing MySQL (ODBC/JDBC-based) driver
  • [done] Develop SDBC->JDBC wrapper to be able to run (selected?) JDBC compliance tests
  • Check what SDBC-related tests exist in Base's QA
  • Send screenshots of the connection wizard to Ulf, who will confirm the new UI contains all the settings needed
Personal tools