- Aug 02, 2017
-
-
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.
-
- Mar 09, 2017
-
-
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.
-
- Oct 22, 2015
-
-
gmantele authored
by the TAP configuration file in order to add/remove/change some metadata or to change the output of the TAP resource '/tables'.
-
- Jun 08, 2015
-
-
gmantele authored
-
- Feb 27, 2015
-
-
gmantele authored
-
- Feb 18, 2015
-
-
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).
-
- Feb 13, 2015
-
-
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).
-
- Feb 09, 2015
-
-
gmantele authored
[TAP] Add metadata support in the configuration file. Two methods to get metadata: 1/ Parse an XML file implementing the schema TableSet, and then re-build TAP_SCHEMA in the database, 2/ Get metadata from the database schema TAP_SCHEMA.
-
- Apr 10, 2014
-
-
gmantele authored
+ Add the management of the Output Limit in TAPConfiguration + All the corresponding JUnit Tests + Replacing .properties test files for JUnit by a construction of Properties object + Update of the HTML documentation page and of the Full example file
-
gmantele authored
TAP+TEST: First steps with the TAP configuration file management (Factory, ServiceConnection, but not yet Metadata) + their JUnit tests + documentation (the html file + configuration file examples)
-