- Mar 17, 2016
-
-
gmantele authored
in first position. This should be totally harmless and should be conform to the behaviour of a NATURAL or USING keywords in DBMS.
-
- Mar 04, 2016
-
-
gmantele authored
This is easily possible for concatenations, string constants and User Defined Functions having a FunctionDef. A new special datatype was needed for numeric functions and operations: UNKNOWN_NUMERIC. This special type can not be set with FunctionDef.parse(...) and it behaves exactly like the type UNKNOWN, except that DBType.isNumeric() returns true (as .isUnknown()). Thus, while writing the metadata of a result in TAP, nothing changes: an UNKNOWN_NUMERIC type will be processed similarly as an UNKNOWN type: to use the type returned from the database ResultSet or to set VARCHAR. (no modification of TAP was needed for that)
-
gmantele authored
Functions whose some parameters are another function were not correctly identified: since the inner functions were not yet identified, their type was UNKNOWN and so it makes the identification of the parent function much easier since an UNKNOWN parameter is not checked. But, it was a problem if the parameter occurs to be finally of the wrong type.
-
gmantele authored
(indeed, a Concatenation object has no name).
-
- Feb 10, 2016
-
-
gmantele authored
set.
-
- 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.
-
gmantele authored
ID set by the TAP library was replaced by the one of the TAP library. The consequence was a possible bad logging and since the ID is a timestamp, the ID of the request was indicating a time posterior to a job creation.
-
- Jan 12, 2016
-
-
gmantele authored
UWS service.
-
- Dec 11, 2015
-
-
gmantele authored
dates with no seconds, but also with no day or month. Representations in days of year or weeks of year were not possible as well. Check out the ISO8601Format class' Javadoc for more details.
-
- Dec 04, 2015
-
-
gmantele authored
opened by JDBCConnection.executeQuery(...) because a fetch size is set, this transaction was never closed.
-
- Dec 01, 2015
-
-
gmantele authored
functions must be casted into NUMERIC. Otherwise Postgres rejects the query.
-
- 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.
-
- Nov 12, 2015
-
-
gmantele authored
This is very useful when getting a stack trace of an exception: without this option, no method and line information can be provided...so, without this option, the stack trace becomes pretty useless. (NOTE: this option increases a little the size of the compiled classes)
-
- Oct 22, 2015
- Oct 16, 2015
-
-
gmantele authored
function ResultSetTableIterator.nextCol(). The formatting is now performed in ResultSetTableIterator.formatColValue(Object).
-
- Sep 30, 2015
-
-
gmantele authored
Now, all occurences of ' are replaced by '' in the SQL translation.
-
- 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.
-
- Aug 27, 2015
-
-
gmantele authored
[ADQL] Fix a Big Bug reported by M.Taylor and M.Demleitner: in ORDER BY, GROUP BY and USING only regular and delimited identifiers are accepted, not qualified column names. For instance: "SELECT table.column_name FROM table ORDER BY table.column_name" is wrong. We should instead write: "SELECT table.column_name FROM table ORDER BY column_name". "SELECT table.column_name AS mycol FROM table ORDER BY mycol" is also correct. Of course, for ORDER BY and GROUP BY, it is still possible to reference a column using its index in the SELECT clause. For instance: "SELECT table.column_name FROM table ORDER BY 1".
-
- Aug 25, 2015
-
-
gmantele authored
when in a table definition (extension of DBTable) no schema is specified, it was possible to prefix the table name by a fake schema name ; it was checked at all: e.g. "SELECT * FROM no_schema.foo". This is no longer possible: if no schema is specified, no schema must be used in an ADQL query. But if one is specified, the schema prefix is optional.
-
- Aug 03, 2015
-
-
gmantele authored
1/ Bad parsing of UDF's parameter type or return type. Database types whose the name has a space (e.g. 'double precision') were not accepted. These type names should be accepted according to TAPRegExt. 2/ An error message thrown by the DBChecker has been modified for the cases the type of a parameter is unknown. Before the returned type was NUMERIC. Now, it will be 'param' followed by the parameter index (e.g. 'param1').
-
- Jul 31, 2015
-
-
gmantele authored
when the content-type was not exactly 'application/x-www-form-urlencoded' for normal POST requests, no parameter was read by the UWS/TAP library. This content-type test has now been modified from a strict equality to a startsWith test. (Note: This bug only concerned the form encoded requests, not the multipart ones)
-
- Jul 20, 2015
- Jul 08, 2015
- Jun 18, 2015
-
-
gmantele authored
-
- Jun 16, 2015
-
-
gmantele authored
-
gmantele authored
-
gmantele authored
[ADQL] Fix the ADQL DEBUG mode ; now ADQLParser.setParser(boolean) is doing what it is supposed to do.
-
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 09, 2015
-
-
gmantele authored
-