Skip to content
Snippets Groups Projects
  1. May 25, 2016
    • gmantele's avatar
      [ADQL] Fix recursive replacement using SimpleReplaceHandler. · ad2acca3
      gmantele authored
      Before correction, if an ADQlObject (e.g. a function or a sub-query) contains
      another ADQLObject and that both (i.e. parent and child) are matching in a
      SimpleReplaceHandler and are asked to be replaced, only the parent
      seemed to have been replaced. However, the child has been replaced, but
      in the former instance of the parent ; and so its replacement is not
      visible in the final query.
      
      For instance:
      if all mathematical functions must be replaced by a dumb UDF named 'foo' in
      the ADQL query:
              "SELECT sqrt(abs(81)) FROM myTable"
      ,the result should be:
              "SELECT foo(foo(81)) FROM myTable"
      ,but before this correction it was:
              "SELECT foo(abs(81)) FROM myTable".
      ad2acca3
  2. Apr 20, 2016
  3. Mar 04, 2016
    • gmantele's avatar
      [ADQL] Set a type to a query's resulting column when it is not originally a column. · 0003e343
      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)
      0003e343
    • gmantele's avatar
      [ADQL] Fix identification of UDFs using a list of function definitions. · 475fcb65
      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.
      475fcb65
  4. Dec 01, 2015
  5. Sep 30, 2015
  6. Sep 01, 2015
    • gmantele's avatar
      [ADQL,TAP] Fix bug (reported by G. Landais) in the understanding of UNKNOWN · 271e03cc
      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.
      271e03cc
  7. Aug 27, 2015
    • gmantele's avatar
      [ADQL] Fix a Big Bug reported by M.Taylor and M.Demleitner: in ORDER BY, GROUP... · 13a2dc54
      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".
      13a2dc54
  8. Aug 25, 2015
    • gmantele's avatar
      [ADQL] Fix a bug reported by M. Taylor about qualified table name: · 84ede4bf
      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.
      84ede4bf
  9. Aug 03, 2015
    • gmantele's avatar
      [ADQL,TAP] Fix 2 bugs notified by M.Taylor: · b49f8160
      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').
      b49f8160
  10. Jul 20, 2015
  11. Jun 16, 2015
  12. Jun 09, 2015
  13. Jun 08, 2015
  14. Feb 20, 2015
  15. Feb 11, 2015
  16. Nov 05, 2014
    • gmantele's avatar
      [ADQL,TAP] Add geometry format in output and correct upload of STC-S regions.... · 6f607bc6
      gmantele authored
      [ADQL,TAP] Add geometry format in output and correct upload of STC-S regions. Geometrical type conversion from and into a DB type is now required in all JDBCTranslator. This allows formatting of geometrical column value coming from the database, but also the translation of STC-S expressions provided in uploaded table into geometrical column values.
      6f607bc6
  17. 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
  18. Aug 05, 2014
  19. Jul 03, 2014
  20. May 28, 2014
    • gmantele's avatar
      ADQLObject has now a new function: getPosition(). To allow it, the parser and... · d648f48b
      gmantele authored
      ADQLObject has now a new function: getPosition(). To allow it, the parser and all ADQL query tree item have been modified to define this function properly. The parser is setting this position for all parsed items. The test class/main function "TestGetPositionInAllADQLObject" aims to check that after a parsing all items really have a defined position.
      d648f48b
  21. Apr 04, 2014
    • gmantele's avatar
      ADQL: Completely change/improve Joins management, and particularly NATURAL... · 9acc3d8d
      gmantele authored
      ADQL: Completely change/improve Joins management, and particularly NATURAL JOIN and USING JOIN. Now, every joined columns are represented by a DBCommonColumn instance which has a given table coverage.
      Before, there was a problem while using at least 3 or 4 NATURAL JOINs. Bug raised by Menelaos Perdikeas (ESAC).
      9acc3d8d
  22. Apr 03, 2014
Loading