- Mar 20, 2019
-
-
Grégory Mantelet authored
`fix_on_fail` in the configuration file. By default, this feature is disabled. _With 15cd5944, this commit finishes the resolution of the GitHub issue #104 ._
-
- Mar 13, 2019
-
-
Grégory Mantelet authored
This new function - ADQLParser.tryQuickFix(...) - fixes the most common issues with ADQL queries: - replace Unicode confusable characters by their ASCII/UTF-8 version, - double-quote SQL reserved words/terms (e.g. `public`, `year`, `date`), - double-quote ADQL function names used a column name/alias (e.g. `distance`, `min`, `avg`), - double-quote invalid regular identifiers (e.g. `_RAJ2000`, `2mass`). The last point is far from being perfect but should work at least for identifiers starting with a digit or an underscore, or an identifier including one of the following character: `?`, `!`, `$`, `@`, `#`, `{`, `}`, `[`, `]`, `~`, `^` and '`'. It should also been noted that double-quoting a column/table name will make it case-sensitive. Then, it is possible that the query does not pass even after the double-quote operation ; the case would have to be checked by the user. Finally, there is no attempt to fix column and table names (i.e. case sensitivity and/or typos) using tables/columns list/metadata. That could be a possible evolution of this function or an additional feature to implement in the parser.
-
- Mar 08, 2019
-
-
Grégory Mantelet authored
`org.json` was included in the sources of UWS-/TAP-Lib because of a manual small correction. This is no longer needed. So this library is now a dependency (included in the generated JAR). This has also been upgraded to the version of August 2018. _This commit aims to reproduce the original content of the Pull Request #38 by @vforchi ._
-
- Mar 06, 2019
-
-
Grégory Mantelet authored
_This commit fixes the GitHub issue #97 ._
-
Grégory Mantelet authored
_This commit fixes the GitHub issue #97 ._
-
Grégory Mantelet authored
The Gradle build file, the ANT build file and the README have also been updating so that reflecting this upgrade as well as the migration from com.oreilly.servlet to Apache Commons File Upload. TAPLib versions of the former commit have also been fixed.
-
Grégory Mantelet authored
Until now, the generated VOTable file was un-readable even by STIL/STILTS/TOPCAT. To fix this, it was needed to temporary store the table to format into FITS so that STIL can read it at least 2 times. _This commit fixes the GitHub issue #43 ._
-
Grégory Mantelet authored
_This commit completes the GitHub issue #106 ._
-
Grégory Mantelet authored
tables. Since commit 3d96c9d9 aliases put on a table without double quotes are put in lower case and then double quoted. This modification was not effective for ORDER BY's column identifiers.
-
Grégory Mantelet authored
The previous commit broke some JUnit tests. It was indeed not any more possible to prefix a column with the fully qualified table name (e.g. `"aSchema"."aTable"`) if the table was automatically aliased. If an alias is set on a table, this table should be referenced only by this alias. The previous commit was not able to replace fully qualified table names with their corresponding alias....and doing that would probably introduce other unexpected parsing/checking behaviors. So, it is better to keep this part of the parsing as simple as now. Just for few DB error messages showing real database names (and only if they are different from the ADQL ones), it does not worth _yet_ making the parsing more complex. _This commit ends the issue #108 ._
-
- Mar 05, 2019
-
-
Grégory Mantelet authored
(i.e. not a subquery). The idea is to avoid ambiguous error messages coming from the database when raising an error on a table or column name having different DB and ADQL names. This commit sets by default an alias on each table reference. This default alias is the ADQL table name as it is used in the ADQL query. _This commit fixes the GitHub issue #108 ._
-
Grégory Mantelet authored
As @vforchi said: > The ANSI standard `||` is supported only by Oracle and Postgres: MySQL uses > `CONCAT` and SQLServer uses `+`. _This commit resolves the issue #70 ._
-
- Feb 19, 2019
-
-
Vincenzo Forchì authored
-
- Jan 28, 2019
-
-
Grégory Mantelet authored
UWSToolBox). _ See GitHub Issue #100 _
-
- Nov 13, 2018
-
-
Grégory Mantelet authored
commit.
-
Grégory Mantelet authored
`upload_max_file_size` and `upload_default_db_limit`.
-
- Nov 08, 2018
-
-
Grégory Mantelet authored
In Java 8, implementing the function remove() of the interface Iterator<E> is no longer required if not implemented. But not in Java 7.
-
- Nov 07, 2018
-
-
Grégory Mantelet authored
The previous text formatting process was storing the entire table in memory.... hence OutOfMemoryError when dealing with large table. Now, this process is done entirely in memory only for a table having less than 1000 lines. For a larger table, its content is stored in a temporary file. This file is deleted after usage or in case of error. This formatting process has been tested under JVM monitoring (both JConsole and VisualVM) and tables larger than 3,000,000 rows, with success. This commit fixes the GitHub issue #40
-
- 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).
-
Grégory Mantelet authored
When defining in the configuration file a different name for TAP_SCHEMA content, the service implementor was also forced to define the same mapping in the database with the column `dbName`. This is no longer necessary. From now on, the `dbName` column will be ignored for all standard TAP_SCHEMA content. Instead, the name specified in the configuration file (if any) will be used instead. This way, the mapping for standard TAP_SCHEMA content is only specified once and at only one place: the configuration file. _This commit resolves the GitHub issue #98_
-
- Oct 22, 2018
-
-
Grégory Mantelet authored
file (actually, replaces the real backup file by the temporary one). Sometimes a temporary backup file (i.e. a file named like `*.backup.temp-*`) is not deleted. This means that the log rotation fails and that, potentially, some jobs have not been updated/deleted. This commit is there is re-enforce the replacement operation.
-
- Sep 21, 2018
-
-
Marc DeXeT authored
-
- Sep 19, 2018
-
-
marcdexet-cnrs authored
-
- Sep 14, 2018
-
-
marcdexet-cnrs authored
-
- 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`).
-
Grégory Mantelet authored
This bug occurred "just" due to an un-desired inverted test, since UWS-1.1 is implemented (UWSLib-4.3 and TAPLib-2.2).
-
- Aug 21, 2018
-
-
Grégory Mantelet authored
Thus, the UPLOAD management is much more stable and relies on a well documented and maintained library (but at the cost of the additionnal size of the final JAR). The most important point is the capability to efficiently limit the size of the incoming file and on the disk/memory management when uploading the file(s) and in case of error during this process (i.e. files must be deleted).
-
Grégory Mantelet authored
attribute. In this way, it is possible to run two different instances of a UWS/TAP service with a different temporary directory in the same JVM.
-
- Aug 20, 2018
-
-
Grégory Mantelet authored
The attribute `version` in the node `job` is never restored ; it is just informative. Thus, it is now silently ignored. The attribute `length` of an upload was badly spelled. The attribute `mime-type` of a result was backuped as `mime-type` but restored as `mime`. Hence the absence of this piece of information when restoring a job.
-
Grégory Mantelet authored
_This latter will soon be removed from UWSLib._
-
- Aug 10, 2018
-
-
Grégory Mantelet authored
Before correction, if two uploaded tables have been submitted by the user with the same name, or if one uploaded table contained duplicated column names, an obscure error message coming from the database was returned to the user. Now, duplicated items (tables and columns) are searched before ingestion in the database. When one is detected, an error is immediately returned to the user and the query is aborted.
-
Grégory Mantelet authored
Files uploaded by the user when creating/executing a synchronous job were never deleted after the job execution. The same problem applied for the tables already uploaded in the database (in `TAP_UPLOAD`) when an error occurred before the end of the UPLOAD process. Now, in case of error when uploading one or more files, or in case of success of the job, all uploaded files and their corresponding database tables are deleted after the end of the job.
-
Grégory Mantelet authored
-
- Aug 07, 2018
-
-
Grégory Mantelet authored
(possibly NULL) was used instead of the class variable (which is NEVER NULL).
-
Grégory Mantelet authored
passed by reference.
-
Grégory Mantelet authored
Then, UWS or TAP implementors are free to use whatever logging system they want (e.g. log4j, logback, ...).
-
- Jul 30, 2018
-
-
Grégory Mantelet authored
This error occurred generally during the backup process while trying to backup the job list of a specific user. If several of his jobs were running and changing state during the backup process, this ConcurrentModificationException was thrown. This generally happens when the same user submits a lot of shorts jobs in the same time. This exception was due to a non thread-safe usage of UWSParameters.additionalParams. To fix this issue, instead of creating it as a normal HashMap, it is now created as a ConcurrentHashMap. The same modification has also been applied to UWSParameters.params. In addition of the replacement of HashMap into ConcurrentHashMap, all `synchronized` blocks have been removed....there should not be needed any more.
-
- Jul 27, 2018
-
-
Grégory Mantelet authored
When enabled, it was generating a file each minute on the day before the specified day of week. For instance: if the log rotation frequency was `W 1 0 0` (so, weekly on Sunday at 00:00). The rotation was performed on Saturday midnight. But, because of a bad index correction, the rotation kept going on the whole day of Saturday. Since the rotated file is suffixed by the timestamp with hours and minutes (no seconds), it actually generated a new log file for each minute of the saturday. Of course, each time the file contained only one line (or 2 with some luck)...which is pretty useless.
-
- Jul 04, 2018
-
-
Grégory Mantelet authored
backup file. The previous commit was only applied on the whole backup file.
-