- Mar 08, 2017
- 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
-
- Sep 02, 2016
-
-
gmantele authored
If a BOOLEAN database column is encountered, its datatype will be considered as SMALLINT (because TAP 1.0 does not support BOOLEAN) and its values will be converted into 0 for FALSE and 1 for TRUE. This last part was missing in the TAP library before this commit.
-
- 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.
-
- Aug 10, 2016
-
-
gmantele authored
This is particularly annoying for numeric functions like sqrt(...) (example query: SELECT TOP 1 sqrt(2) as s2 FROM whatever_table). This bug has been raised by M. Taylor.
-
- Aug 08, 2016
-
-
gmantele authored
Execution duration should be expressed in seconds in this TAP endpoint, but the TAP Library was returning its internal value which is expressed in milliseconds.
-
- Jul 21, 2016
-
-
gmantele authored
Schema were still ordered by schema_name instead of schema_index when this latter exists.
-
- Jul 18, 2016
-
-
gmantele authored
-
- Jul 14, 2016
-
-
gmantele authored
TAPTable.copy(...) and TAPColumn.copy(...) use directly the attribute dbName instead using getDBName() ; indeed getDBName() <> dbName. Because of this bug, queries with aliased tables did not work anymore.
-
gmantele authored
These two columns let recommend an order, respectively, for tables in their schema, and columns in their table. In addition of these new columns, "arraysize" has been also added. All these new columns are already supported when creating a TAP_SCHEMA from an XML file.
-
- Jul 13, 2016
-
-
gmantele authored
column in TAP_SCHEMA. Such names are normalized (without any prefix and without double quotes) when getADQLName() is called, but are returned just trimmed by getRawName(). This latter is just used by TAPMetadata when writing the XML description of all TAP tables.
-
- Jun 16, 2016
- 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
- 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.
-