- Sep 26, 2017
-
-
gmantele authored
standard table. The same for the additional column TAP_SCHEMA.columns.coosys_id.
-
- Sep 25, 2017
- Sep 15, 2017
-
-
gmantele authored
This commit resolves partially the issue #28 Ideally, there should be an implementation of UWSLog and TAPLog working with Log4j and another for SLF4J (and eventually for other logging mechanism). Additionally, an implementation storing log messages in database would be interesting. All these ideas may be implemented in UWSLib and TAPLib in a future version.
-
- Sep 11, 2017
-
-
gmantele authored
and HashMap more generic by returning resp. a List and Map instead.
-
- Aug 24, 2017
-
-
gmantele authored
The previous fix was made against the ObsCore-DM 1.1 because the given IVO-ID was rejected by EuroVO registry. Now that EuroVO registry has fixed its IVO-ID rule, the IVO-ID of ObsCore 1.1 is accepted. Hence this commit.
-
- 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.
-
- Jul 05, 2017
- Jul 04, 2017
- Jun 19, 2017
-
-
gmantele authored
Additionally when an XML document is submitted in an HTTP POST request (i.e. with the Content-Type = (text|application)/(.+-)?xml), this is immediately set as a jobInfo in the created job.
-
- Apr 25, 2017
-
-
gmantele authored
-
gmantele authored
Now, it is recommended to throw a DBCancelledException from any DBConnection long processing. It is already done for the upload of a table, the execution of an ADQL query and the setting of a whole TAP_SCHEMA. The flag JDBCConnection#cancelled has now a bit different meaning: it is set even if the Statement.cancel() fails so that any JDBCConnection function can see that a cancellation has been requested.
-
- Apr 20, 2017
-
-
gmantele authored
-
- Mar 29, 2017
- Mar 16, 2017
- Mar 10, 2017
-
-
gmantele authored
- empty file - not a valid VOTable document In such cases, the following error message is returned: "The input file is not a valid VOTable document!" A cause with more detais (especially the line and column numbers) may be appended. Cases handled with no error: - If the VOTable document has no rows, an empty table is uploaded. No error has to be returned. - If a row has a different number of columns than the number of declared FIELDs, additional values are ignored and missing values are replaced by NULL. This is actually nicely handled by STIL.
-
gmantele authored
Two comments: - JDBCConnection.getDBMSName(String url) is now deprecated ; it may disappear in a next version of the ADQLLibrary. - In case the DBMS name can not be retrieved (generally because of an incomplete JDBC driver implementation), NULL will be returned.
-
gmantele authored
Few useless casts have also been removed.
-
- Mar 09, 2017
-
-
gmantele authored
It is also now recommended to make DBConnection.executeQuery(ADQLQuery) return NULL if the query has been aborted (indeed, the DBConnection is the only one that can reliably know that fact). JDBCConnection has been adapted consequently.
-
gmantele authored
apply a quick space replacement (by %20) for few URIs of the configuration file and remove duplicated entry (encoding) from the Gradle build script. A special test has also been added in getFile(...) in order to deliver a clear error message for users using a former version with URIs in their configuration file (only for file_root_path and metadata_file).
-
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.
-
- Mar 08, 2017
- Mar 03, 2017
-
-
vforchi authored
-
- Mar 02, 2017
-
-
vforchi authored
-
- Mar 01, 2017
-
-
gmantele authored
-
- Feb 23, 2017
-
-
gmantele authored
ResultSetTableIterator (i.e. functions returning unknown numeric values were not set with the right datatype but char* instead).
-
- Feb 22, 2017
- Feb 09, 2017
-
-
vforchi authored
-
- Feb 01, 2017
-
-
gmantele authored
Date and Time are converted into a string with the following resp. formats: 'yyyy-MM-dd' and 'HH:mm:ss'.
-
- Sep 14, 2016
-
-
gmantele authored
job as been interrupted not by a TimeOut (cf executionDuration) but by an IOException.
-
gmantele authored
47d36bfb In the UWS and TAP configuration files the executionDuration has to be provided into milliseconds. But the UWS parameter MUST be in seconds. So now, UWS is still keeping this duration in seconds (in its ExecutionDurationController) but TAP keeps it in milliseconds (in order to avoid unexpected silent modification of the API) and converts it into seconds for its controller (i.e. TAPExecutionDurationController), for the default home page and for the Capabilities page.
-
- Sep 13, 2016
-
-
gmantele authored
68666ccb It happens that the JDBC driver returned an Integer instead of a Short for a Postgres SMALLINT column. This is not a problem for all formats because of implicit cast, except for FITS which requires an exact correct type. This commit ensure that columns declared as SMALLINT in the metadata are always casted as Short.
-
- Sep 09, 2016
-