Skip to content
  1. Jul 05, 2017
  2. Jul 04, 2017
  3. Jun 19, 2017
  4. Jun 01, 2017
    • gmantele's avatar
      [ADQL] Fix nasty infinite loop when wrapping matches with SimpleReplaceHandler. · 66304427
      gmantele authored
      This infinite loop occured only when the replacement object is just
      a wrapping of the matching object ; after replacement, the new object was
      inspected for matching objects.
      
      Example: infinite loop if we want to wrap all foo(...) functions with
               the function ROUND in the following query:
          SELECT foo(foo(123)) FROM myTable
      	     Expected result:
          SELECT ROUND(foo(ROUND(foo(123)))) FROM myTable
      	     But generated result was:
          SELECT ROUND(ROUND(ROUND(......foo(foo(123))))) FROM myTable
      66304427
  5. May 10, 2017
  6. Apr 25, 2017
  7. Apr 20, 2017
  8. Apr 04, 2017
    • gmantele's avatar
      [ADQL] Complete commit "Re-Fix GROUP BY's columns handling" · 8e2fa9ff
      gmantele authored
      (https://github.com/gmantele/taplib/commit/7a70c6038cef460ab169682bed391bb5ae1de1e9)
      
      It was not possible to use a GROUP BY with a qualified column name.
      So finally, now, a GROUP BY is a ClauseADQL<ADQLColumn> instead of
      a ClauseADQL<ColumnReference>. Indeed, according to the ADQL's BNF,
      GROUP BY items are only columns as they would appear in the SELECT
      clause (i.e. qualified or not, delimited or not). On the other
      hand an ORDER BY accepts ONLY column index or non-qualified column
      name/alias.
      
      The class ColumnReference is kept for backward compatibility (or in
      case the next version of the ADQL grammar make items of GROUP BY and
      ORDER BY of the same type: index or qualified column). Besides, this
      class is still inherited for the ORDER BY clause items
      (see adql.query.ADQLOrder).
      8e2fa9ff
  9. Apr 03, 2017
  10. Mar 29, 2017
  11. Mar 16, 2017
  12. Mar 10, 2017
    • gmantele's avatar
      [ADQL] Fix handling of delimited column references (e.g. items of ORDER BY). · 118f357a
      gmantele authored
      This error has been raised on the issue #32 by Zarquan.
      118f357a
    • gmantele's avatar
      [TAP] Fix handling of bad uploaded files: · 77132014
      gmantele authored
      - empty file
      - not a valid VOTable document
      
      In such cases, the following error message is returned:
        "The input file is not a valid VOTable document!"
      A cause with more detais (especially the line and column numbers)
      may be appended.
      
      Cases handled with no error:
      
        - If the VOTable document has no rows, an empty table
          is uploaded. No error has to be returned.
      
        - If a row has a different number of columns than the number
          of declared FIELDs, additional values are ignored and missing
          values are replaced by NULL. This is actually nicely handled by
          STIL.
      77132014
    • gmantele's avatar
      [TAP] Use a more standard way to get the DBMS name. · db34b35d
      gmantele authored
      Two comments:
      
      - JDBCConnection.getDBMSName(String url) is now deprecated ; it may disappear
        in a next version of the ADQLLibrary.
      - In case the DBMS name can not be retrieved (generally because of an
        incomplete JDBC driver implementation), NULL will be returned.
      db34b35d
    • gmantele's avatar
      [ADQL] Remove unnecessary ending semicolons from SQL queries. · 63cacfa4
      gmantele authored
      Few useless casts have also been removed.
      63cacfa4
  13. 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
    • gmantele's avatar
      [UWS,TAP] Synchronize access to ISO8601Format. · fa206848
      gmantele authored
      This class is using static attributes of type DecimalFormat.
      Unfortunately this type of objects can NOT be accessed by multiple
      threads simultaneously: it is not thread-safe. Parsing errors,
      mostly during TAP uploads, have been experienced for this reason.
      
      To solve quickly this issue, the main static public functions of
      ISO8601Format have been synchronized.
      fa206848
    • gmantele's avatar
      [TAP] Adapt the JUnit class testing getFile(...), · 36b4a8bf
      gmantele authored
      apply a quick space replacement (by %20) for few URIs of the configuration file
      and remove duplicated entry (encoding) from the Gradle build script.
      
      A special test has also been added in getFile(...) in order to deliver
      a clear error message for users using a former version with URIs in their
      configuration file (only for file_root_path and metadata_file).
      36b4a8bf
    • gmantele's avatar
      [TAP] Fix and add JUnit tests. Now, they should work on any machine. · 0422fb7d
      gmantele authored
      Two embedded DBMS are used: H2 and a little SQLite. JDBC drivers are provided
      in the `lib` directory. The databases are created and deleted automatically
      by the JUnit tests (see `test/tap/db_testtools/DBTools for more details`).
      
      The ANT and Gradle build scripts have been updated to reflect all these test
      modifications.
      0422fb7d
  14. Mar 08, 2017
  15. Mar 03, 2017
  16. Mar 02, 2017
  17. Mar 01, 2017
  18. Feb 24, 2017
  19. Feb 23, 2017
  20. Feb 22, 2017