- 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).
-
- Jan 29, 2016
-
-
gmantele authored
log message (i.e. event = "TABLE_CREATED").
-
- Dec 04, 2015
-
-
gmantele authored
opened by JDBCConnection.executeQuery(...) because a fetch size is set, this transaction was never closed.
-
- 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.
-
- Jul 20, 2015
-
-
gmantele authored
(merge with branch 'unknownFctType')
-
- Jul 08, 2015
-
-
gmantele authored
Such value is replaced by NULL while ingesting it into a Postgres database.
-
- Jun 18, 2015
-
-
gmantele authored
-
- Jun 16, 2015
-
-
gmantele authored
[TAP] Small fix: the translated SQL query was logged only after the query execution ; so, in case of error, the SQL query is not logged and can not be checked by service provider.
-
- Jun 08, 2015
-
-
gmantele authored
-
- Apr 22, 2015
-
-
gmantele authored
-
- Apr 13, 2015
-
-
gmantele authored
-
- Apr 02, 2015
-
-
gmantele authored
[UWS,TAP] Errors and log management improvements. Particularly, now TAP and UWS are able to manage correctly HTTP request abortions (i.e. when the user stop the request before the response has been fully sent, or when there is a connection problem or a time-out). Such abortions are considered by UWS and TAP merely as job abortion/cancel. No error is logged any more. In addition of this correction, log entries concerning the execution of a TAP sync/async job have been modified so that having more coherents messages. And stack traces of exception that occurred when executing a job (sync or async, tap or uws) are displayed just once: at the JOB END log entry, and not by the HTTP RESPONSE_SENT entry. And finally, output flush and interruption detection are made more often when writing a query result (the flush is particularly important when combining with fetch-size > 0 in synchronous mode....the sync response is then a streaming output).
-
- 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 10, 2015
-
-
gmantele authored
[TAP] Default TAPSchema DB name set to the ADQL name ; so if the column TAP_SCHEMA.schemas.dbname is NULL or empty, the DB name must be set to the ADQL name. For the moment no empty schema is allowed.
-
- Feb 27, 2015
-
-
gmantele authored
[TAP] Qualify by default the standard TAP schema tables in TAP_SCHEMA.tables & Correct the primary key in TAP_SCHEMA.tables (it must be only 'table_name' and not 'schema_name, table_name').
-
- 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 06, 2015
-
-
gmantele authored
[TAP] Add an XML TableSet parser. The main modification done in JDBCConnection is about the schema prefix of table when the DBMS does not support schemas: now, only standard tables are expected with the prefix 'TAP_SCHEMA_' and the upload tables also with 'TAP_UPLOAD_'.
-
- Dec 09, 2014
-
-
gmantele authored
[TAP] Deal with the DB type 'BOOLEAN' while uploading boolean values in the database => convert the boolean in a short value (1 or 0).
-
- Nov 05, 2014
-
-
gmantele authored
[ADQL,TAP] Add geometry format in output and correct upload of STC-S regions. Geometrical type conversion from and into a DB type is now required in all JDBCTranslator. This allows formatting of geometrical column value coming from the database, but also the translation of STC-S expressions provided in uploaded table into geometrical column values.
-
- Oct 28, 2014
-
-
gmantele authored
[ADQL,TAP] Add STC-S and UDFs support in the ADQL parser. Now, it is possible to provide a list of allowed UDFs, regions and coordinate systems. The ServiceConnection of TAP is now able to provide these lists and to propagate them to the ADQLExecutor. UDFs and allowed regions are now listed automatically in the /capabilities resource of TAP. The type 'geometry' is now fully supported in ADQL. That's why the new function 'isGeometry()' has been added to all ADQLOperand extensions. Now the DBChecker is also able to check roughly types of columns and UDFs (unknown when parsing syntactically a query). The syntax of STC-S regions (expressed in the REGION function) are now checked by DBChecker. However, for the moment, geometries are not serialized in STC-S in the output....but it should be possible in some way in the next commit(s).
-
- Oct 01, 2014
-
-
gmantele authored
[UWS,TAP] Fix timestamp format. Now, each returned date will expressed in UTC and using the ISO8601 format. Any given date is also expected in UTC (or with a time zone offset) and in ISO8601Format. These rules apply also for uploaded tables and for timestamp columns in a query result.
-
- Sep 17, 2014
-
-
gmantele authored
[TAP,UWS] Manage thrown Error properly in synchronous and asynchronous jobs execution + Modify some log messages + Add log messages in JDBCConnection (for add and drop uploaded tables).
-
gmantele authored
[UWS,TAP] Review the exceptions and logs management + Add log file rotation (with a configurable rotation frequency)
-
- Aug 20, 2014
-
-
gmantele authored
-
- Aug 05, 2014
-
-
gmantele authored
[TAP,ADQL] Improve and remake a part of the database connection. Missing javadoc has been added when missing in the modified tables.
-
- Jul 04, 2014
-
-
gmantele authored
-
- Jul 03, 2014
-
-
gmantele authored
[TAP] Remove all generic types + Delete specific (for ResultSet) output formatters + Modify the main output formatter
-
- Jun 27, 2014
-
-
gmantele authored
[TAP] Improve TableIterator + Adapt ResultSetTableIterator (particularly because of the last commit about TAPType and VotType) + Add a TableIterator for VOTable input: VOTableIterator + Add its JUnit test case
-
- Apr 04, 2014
-
-
gmantele authored
TAP: Test better the JDBC connection URL: several syntaxes are possible. Here, the following syntax did not work before this correction: jdbc:postgresql:database (only if it is a local database). Only jdbc:postgresql://host/database and jdbc:postgresql://host:port/database worked! TODO Parsing of JDBC connection URL should rather be checked again!
-
- Apr 03, 2014