- Nov 02, 2018
-
-
Grégory Mantelet authored
Before this fix, cancelling a TAP job (async or not) which was formatting the result in ASCII may failed, especially for large results. This was due to a non interruptible alignment process. This process is now checking whether a cancellation has been requested before formatting a new result line/row ; if so, the process is immediately stopped and the job can be cleaning declared as aborted.
-
- Oct 26, 2018
-
-
Grégory Mantelet authored
(see previous commit).
-
- Sep 05, 2018
-
-
Grégory Mantelet authored
The property `upload_default_db_limit` has been deprecated. Indeed, in the current state of the TAP protocol, this makes no sense: the user can not change the limit size (in bytes or rows) for uploaded tables. The property `upload_max_file_size` has been deprecated. It is actually duplicated: `upload_max_db_limit`, if expressed in bytes already lets put a limit on the maximum size of an uploaded table/file. The property `upload_max_request_size` has been added. It lets set a maximum size for a whole HTTP Multipart Request. By default it is set to 250MB. The default value of `upload_max_db_size` is now 1 million rows. The UPLOAD feature is still disabled by default (i.e. `upload_enabled=false`).
-
- Aug 07, 2018
-
-
Grégory Mantelet authored
Then, UWS or TAP implementors are free to use whatever logging system they want (e.g. log4j, logback, ...).
-
- Mar 07, 2018
-
-
gmantele authored
The end of the description of a UDF was not detected when this UDF was followed by another UDF definition. This was due to an incorrect double quote escape in the regular expression of a UDF's definition.
-
- Feb 26, 2018
-
-
gmantele authored
Although the Java code allowed the specification of a description of a User Defined Function, it was not possible to set one in the UDFs listed in the configuration file.
-
- Feb 22, 2018
-
-
gmantele authored
-
- Jan 31, 2018
-
-
gmantele authored
in the TAP configuration file.
-
- 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.
-
- 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
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 03, 2017
-
-
vforchi authored
-
- Mar 02, 2017
-
-
vforchi authored
-
- Mar 01, 2017
-
-
gmantele authored
-
- Sep 01, 2016
-
-
gmantele authored
This is very helpful if TAP_SCHEMA (or some of its tables and their columns) has a different name in the database. The mapping can be specified to JDBCConnection or directly in the configuration file.
-
- Jul 18, 2016
-
-
gmantele authored
-
- Jun 13, 2016
-
-
gmantele authored
-
- Apr 19, 2016
-
-
gmantele authored
See the commit bd621842, for the first part of the fix (which actually did not really fixed the problem: connections "idle in transaction" were still in the database ; the connection being inside an opened transaction, it generates lock issues in the database in addition of probably taking some memory resources).
-
- Apr 12, 2016
-
-
gmantele authored
The transaction and Statement were closed too early before. - Fetching the row was not possible once the first bunch of fetched rows was over. - The problem of "statement is aborted" preventing the re-use of a same DB connection was apparently still there, but occurred less often. Now, any transaction potentially started in a DB connection is always closed after one of the public functions of JDBCConnection is called ; except executeQuery(ADQLQuery) whose the call MUST be wrapped inside a try...catch block in which DBConnection.cancel(true) MUST be called in case of error (in order to effectively end any started transaction).
-
- Feb 08, 2016
- Nov 19, 2015
-
-
gmantele authored
Can be enabled just by providing a file URI in the TAP configuration file using the property "examples". It is also possible to add manually a TAP resource whose the returned name must be "examples" like the new TAP resource is doing: tap.resource.Examples. This latter take a file URI as the TAP configuration file does. The referenced file must respect the DALI 1.0 or TAP Notes 1.0 syntax. No check of the file is performed by the library ; it is up to the author of the referenced file (a XHTML/RDFa file) to write a correct "examples" endpoint content. Check out the examples provided on the GitHub repository in the directory examples/tap/examples_endpoint.
-
- Nov 13, 2015
-
-
gmantele authored
1) [TAP & UWS] ]MAJOR BUG FIX: The abortion of an SQL query is now correctly implemented. Before this fix, 2 mistakes prevented this clean abortion: a/ The thread was not cancelled because the SQL query execution was blocking the thread. Then the thread could not treat the interruption though it was flagged as interrupted. b/ The function UWSJob.isStopped() considered the job as stopped because the interrupted flag was set, even though the thread was still processing (and the database too). Because of that it returned true and the job phase was ABORTED though the thread was still running. NOW: a/ TAPJob calls the function Statement.cancel() (if supported) in order to cancel the SQL query execution properly inside the database. b/ The function UWSJob.isStopped() does not test any more the interrupted flag and returns true only if the thread is really stopped. IN BRIEF: It is now sure that a job in the phase ABORTED is really stopped (that's to say: thread stopped AND DB query execution stopped). 2) [TAP] BUG FIX: When the writing of a result is abnormaly interrupted for any reason, the file which was being written is deleted.
-
- 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
-
- Jun 03, 2015
-
-
gmantele authored
-
- Jun 02, 2015
-
-
gmantele authored
[TAP] Fix NullPointerException in TAPConfiguration (this error happens only when a NoSuchMethodException occurs.
-
- Apr 22, 2015
-
-
gmantele authored
-
- Apr 13, 2015
-
-
gmantele authored
[TAP] Add Javadoc for all TAP configuration file related classes + Improve the function ConfigurableServiceConnection.getFile(...) + Set the default value of limits/durations/periods to the maximum value if the new maximum value is less than the current default value.
-
gmantele authored
[TAP] Incorrect setting of the backup frequency. The documentation was also incomplete about this property, but also wrong concerning the property backup_mode which is actually backup_by_user.
-
gmantele authored
-
- Apr 09, 2015
-
-
gmantele authored
-
- Apr 08, 2015
-
-
gmantele authored
[TAP] Correction of the default value for the upload_enabled property. By default, the UPLOAD feature is disabled.
-
- Mar 26, 2015
-
-
gmantele authored
[TAP] Add the possibility to set the FetchSize on a DB Statement for the execution of ADQL queries. It is also possible to set a fetchSize different for synchronous and asynchronous queries.
-
- Mar 13, 2015
-
-
gmantele authored
-
- Mar 11, 2015
-
-
gmantele authored
[TAP] Add a configuration file property: 'coordinate_systems'. It lets list all allowed coordinate systems. By default, the list is empty, meaning that any is allowed.
-
gmantele authored
[TAP] Automatic research of the TAP configuration file is done only in the classpath, in WEB-INF and in META-INF. The rest is the Web Application directory is ignored, for security considerations (i.e. otherwise, the library would allow TAP administrators to make the configuration file public....only WEB-INF and META-INF are not public).
-
- Mar 10, 2015
-
-
gmantele authored
[TAP] Rename the property 'output_add_formats' into 'output_formats' & Correct the name of the service description in tap_full.properties.
-
- Mar 04, 2015
-
-
gmantele authored
[TAP] Change the default value for output and upload limits ; only negative value must mean 'no restriction' ; 0 must be a normal allowed value.
-