Skip to content
  1. Mar 26, 2021
  2. Oct 05, 2020
  3. Jul 02, 2019
  4. May 10, 2019
    • Grégory Mantelet's avatar
      [ADQL,TAP] New parser for ADQL-2.1. · 89418d13
      Grégory Mantelet authored
      - Now, `ADQLParserFactory.createParser(...)` should be used to create a parser
      - Only the new function `LOWER` is supported for the moment
      - Not yet possible to manage the optional features _(next dev to come)_
      => 1st step for ADQL-Lib v2.0
      
      - TAP adapted so that using the last stable version of the ADQL language
        (i.e. 2.0 for the moment)
        - but not yet possible to set the ADQL version to use in the configuration
          file
      89418d13
  5. Mar 20, 2019
  6. Apr 25, 2017
    • gmantele's avatar
      [TAP] Improve the abortion of queries, particularly during the UPLOAD phase. · 714e93fc
      gmantele authored
      Now, it is recommended to throw a DBCancelledException from any DBConnection
      long processing. It is already done for the upload of a table, the execution
      of an ADQL query and the setting of a whole TAP_SCHEMA. The flag
      JDBCConnection#cancelled has now a bit different meaning: it is set even if
      the Statement.cancel() fails so that any JDBCConnection function can see that
      a cancellation has been requested.
      714e93fc
  7. Mar 09, 2017
    • gmantele's avatar
      [TAP] Fix incorrect abortion handling in SYNChronous mode. · 5baff84e
      gmantele authored
      It is also now recommended to make DBConnection.executeQuery(ADQLQuery)
      return NULL if the query has been aborted (indeed, the DBConnection is
      the only one that can reliably know that fact). JDBCConnection has been
      adapted consequently.
      5baff84e
  8. Apr 19, 2016
    • gmantele's avatar
      [TAP] Finish fixing the transaction management bug. · 5ac8f1fb
      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).
      5ac8f1fb
  9. Apr 12, 2016
    • gmantele's avatar
      [TAP] New fix for the transaction management. · bd621842
      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).
      bd621842
  10. Jan 29, 2016
  11. Nov 13, 2015
    • gmantele's avatar
      [TAP & UWS] 2 MAJOR BUGS FIXED (these bugs were affecting performances). · d9041712
      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.
      d9041712
  12. Jun 08, 2015
  13. Apr 22, 2015
  14. Apr 09, 2015
  15. Apr 02, 2015
    • gmantele's avatar
    • gmantele's avatar
      [UWS,TAP] Errors and log management improvements. Particularly, now TAP and... · 998d11f5
      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).
      998d11f5
  16. Mar 26, 2015
  17. Feb 13, 2015
    • gmantele's avatar
      [TAP] Add a new database access method in the configuration file: get a... · e7dff888
      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).
      e7dff888
  18. Dec 09, 2014
    • gmantele's avatar
      [UWS,TAP] 3 MAJOR DEPENDENT FIX: improve significantly the parameters... · 96b3b851
      gmantele authored
      [UWS,TAP] 3 MAJOR DEPENDENT FIX: improve significantly the parameters extraction from HTTP request in UWS (1) AND move the file-upload ability into the UWS library (2) AND the modification of parameters in UWS is now conform with the standard (3). (1) Only application/x-form-urlencoded content-type was supported. However a UWS must accept a request body containing only an XML document as a single byReference parameter. It is now done when the content-type is not known. (2) Besides multipart/form-data is now fully supported in UWS and so is still possible in TAP. (3) In the UWS standard, parameters can not be added after creation: they can just be modified. This rule is now respected in the UWS library.
      96b3b851
  19. Oct 28, 2014
    • gmantele's avatar
      [ADQL,TAP] Add STC-S and UDFs support in the ADQL parser. Now, it is possible... · 496e769c
      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).
      496e769c
  20. Oct 02, 2014
  21. Sep 23, 2014
    • gmantele's avatar
      [TAP,UWS] Small log corrections (for Thread logs, display the thread name... · b40638f4
      gmantele authored
      [TAP,UWS] Small log corrections (for Thread logs, display the thread name rather than the ID ; the job id was forgotten in the log of CHANGE_PHASE ; build a UWSException with the given throwable message as message ; in log TAP for the event EXECUTING, the memory address of the ADQLQuery object was displayed rather than of the ADQL query expression ; display the stack trace of the SQLException.getNextException() when calling logDB)
      b40638f4
  22. Sep 17, 2014
  23. Aug 20, 2014
  24. Aug 08, 2014
  25. Aug 05, 2014
  26. Jul 03, 2014
  27. Apr 10, 2014
  28. Apr 09, 2014
  29. Apr 03, 2014