- 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
- Jan 29, 2016
- Jan 13, 2016
-
-
gmantele authored
request which has initiated the job creation. Actually the HTTP request is generated as before, and then, if a job is created, it is set to the ID of the HTTP request. This modification aims to greatly help the log analysis.
-
- Dec 04, 2015
-
-
gmantele authored
opened by JDBCConnection.executeQuery(...) because a fetch size is set, this transaction was never closed.
-
- 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'.
-
- Oct 16, 2015
-
-
gmantele authored
function ResultSetTableIterator.nextCol(). The formatting is now performed in ResultSetTableIterator.formatColValue(Object).
-
- Sep 10, 2015
-
-
gmantele authored
format. A ClassCastException was thrown about an impossible cast from String to Character.
-
- Sep 01, 2015
-
-
gmantele authored
types. The notion of "unknown type" is different in function of the target object: - a DBType and a FunctionDef have an unknown type if their function isUnknown() returns true. In such case, the other functions such as isNumeric/String/Geometry() will return false. - an ADQLOperand (e.g. ADQLColumn) does NOT have a isUnknown() function. But if the type of the operand is unknown, its functions isNumeric(), isString() and isGeometry() must ALL return true. Otherwise, just one of these functions can return true.
-
- 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
-
- Jun 03, 2015
- Jun 02, 2015
-
-
gmantele authored
[TAP] Fix NullPointerException in TAPConfiguration (this error happens only when a NoSuchMethodException occurs.
-
- Apr 22, 2015
- 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
-
gmantele authored
[UWS,TAP] Add the origin of the main exception after the exception class name in the log entries. This origin includes the class, the method, the file and the line where the exception has been thrown.
-
gmantele authored
-
gmantele authored
[TAP] Fix unterminated thread after a failed UPLOAD. This bug happened when an uploaded VOTable reading was interrupted by an exception (like a ParseException)....the streaming thread was not stopped and was still waiting for a notification in order to read the next row.
-
- Apr 09, 2015
- Apr 08, 2015
- Apr 02, 2015
-
-
gmantele authored
-
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] Change the internal column separator in the Text (human readable table) output. This separator has been choosen for the weak probability to be used in column values and so that avoiding confusion between a column separator and part of a column value. The column separator in the output/display stays the |.
-
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).
-