Skip to content
Snippets Groups Projects
  1. Aug 02, 2017
    • gmantele's avatar
      [ADQL,TAP] Basic MySQL support. · cf721ff2
      gmantele authored
      On the contrary to other DBMS, MySQL supports schemas, but as databases.
      Which means that JDBCConnection gets from the JDBC driver that MySQL does
      not support schemas and so it tries to access TAP_SCHEMA tables with a
      'TAP_SCHEMA_' prefix instead of 'TAP_SCHEMA.' one. Since MySQL does
      behave like it supports schemas, JDBCConnection.supportsSchema must be
      set to 'true' if the DBMS is MySQL.
      
      Besides, since no schemas are returned by the JDBC driver
      (cf DatabaseMetadata.listSchema(...)), the function
      JDBCConnection.isSchemaExisting(String, DatabaseMetaData) must always assume
      that the specified schema exists if the DBMS is MySQL. This is particularly
      important when the existence of 'TAP_UPLOAD' must be checked, because if the
      function returns 'false' the library will attempt to create the database/schema
      'TAP_UPLOAD' and will obviously fail due to a lack of permissions. Of course,
      it means that the TAP implementor must create manually the schema/database
      'TAP_UPLOAD' him-/her-self.
      
      The second particularity of MySQL is the quote character for identifiers.
      It is a back-quote (`) instead of a double quote ("). To reflect this
      difference, JDBCTranslator.appendIdentifier(...) has been overwritten in a new
      JDBCTranslator extension: MySQLTranslator.
      
      The translation of all SQL types and mathematical functions have been adapted to
      MySQL according to the online documentation. Few tests have been done locally
      with a tiny database. This seems to work but further testing should be
      performed in order to ensure the stability of this implementation.
      cf721ff2
  2. Mar 09, 2017
    • gmantele's avatar
      [TAP] Fix and add JUnit tests. Now, they should work on any machine. · 0422fb7d
      gmantele authored
      Two embedded DBMS are used: H2 and a little SQLite. JDBC drivers are provided
      in the `lib` directory. The databases are created and deleted automatically
      by the JUnit tests (see `test/tap/db_testtools/DBTools for more details`).
      
      The ANT and Gradle build scripts have been updated to reflect all these test
      modifications.
      0422fb7d
  3. Oct 22, 2015
  4. Jun 08, 2015
  5. Feb 27, 2015
  6. Feb 18, 2015
    • gmantele's avatar
      [TAP] Add a 3rd possibility to set metadata in the TAP configuration file:... · c790223e
      gmantele authored
      [TAP] Add a 3rd possibility to set metadata in the TAP configuration file: give an extension of TAPMetadata having either an empty constructor or a constructor with a UWSFileManager, a TAPFactory and a TAPLog. & Rename function TAPConfiguration.isClassPath(String) into TAPConfiguration.isClassName(String).
      c790223e
  7. Feb 13, 2015
    • gmantele's avatar
      [TAP] Add a new database access method in the configuration file: get a... · e7dff888
      gmantele authored
      [TAP] Add a new database access method in the configuration file: get a Datasource from JNDI. & Better support of connection pooling (TAPFactory.countFreeConnections() has been removed ; when the creation of a database connection fails with an SQLException, it is considered that no connection are momentarily available...async jobs will be queued and all sync requests will be rejected).
      e7dff888
  8. Feb 09, 2015
  9. Apr 10, 2014
Loading