Loading src/adql/translator/SQLServerTranslator.java +7 −22 Original line number Diff line number Diff line Loading @@ -19,18 +19,9 @@ package adql.translator; * Copyright 2016 - Astronomisches Rechen Institut (ARI) */ import java.util.ArrayList; import java.util.Iterator; import adql.db.DBChecker; import adql.db.DBColumn; import adql.db.DBTable; import adql.db.DBType; import adql.db.*; import adql.db.DBType.DBDatatype; import adql.db.DefaultDBColumn; import adql.db.DefaultDBTable; import adql.db.STCS.Region; import adql.db.SearchColumnList; import adql.db.exception.UnresolvedJoinException; import adql.parser.ADQLParser; import adql.parser.ParseException; Loading @@ -41,18 +32,10 @@ import adql.query.IdentifierField; import adql.query.from.ADQLJoin; import adql.query.operand.ADQLColumn; import adql.query.operand.function.MathFunction; import adql.query.operand.function.geometry.AreaFunction; import adql.query.operand.function.geometry.BoxFunction; import adql.query.operand.function.geometry.CentroidFunction; import adql.query.operand.function.geometry.CircleFunction; import adql.query.operand.function.geometry.ContainsFunction; import adql.query.operand.function.geometry.DistanceFunction; import adql.query.operand.function.geometry.ExtractCoord; import adql.query.operand.function.geometry.ExtractCoordSys; import adql.query.operand.function.geometry.IntersectsFunction; import adql.query.operand.function.geometry.PointFunction; import adql.query.operand.function.geometry.PolygonFunction; import adql.query.operand.function.geometry.RegionFunction; import adql.query.operand.function.geometry.*; import java.util.ArrayList; import java.util.Iterator; /** * <p>MS SQL Server translator.</p> Loading Loading @@ -343,6 +326,8 @@ public class SQLServerTranslator extends JDBCTranslator { return "round(" + ((fct.getNbParameters() >= 2) ? (translate(fct.getParameter(0)) + ", " + translate(fct.getParameter(1))) : "") + ",1)"; case MOD: return ((fct.getNbParameters() >= 2) ? (translate(fct.getParameter(0)) + "% " + translate(fct.getParameter(1))) : ""); case ATAN2: return "ATN2(" + translate(fct.getParameter(0)) + ", " + translate(fct.getParameter(1)) + ")"; default: return getDefaultADQLFunction(fct); } Loading src/tap/data/ResultSetTableIterator.java +1 −1 Original line number Diff line number Diff line Loading @@ -716,7 +716,7 @@ public class ResultSetTableIterator implements TableIterator { else if (colType != null && colValue != null && colType.type == DBDatatype.CHAR && (colType.length == 1 || colType.length <= 0) && colValue instanceof String) colValue = ((String)colValue).charAt(0); // if the column value is a geometrical object, it must be serialized in STC-S: else if (translator != null && colType != null && colType.isGeometry()){ else if ((translator != null && colType != null && colType.isGeometry()) || colType.type == DBDatatype.VARBINARY) { try{ Region region = translator.translateGeometryFromDB(colValue); if (region != null) Loading Loading
src/adql/translator/SQLServerTranslator.java +7 −22 Original line number Diff line number Diff line Loading @@ -19,18 +19,9 @@ package adql.translator; * Copyright 2016 - Astronomisches Rechen Institut (ARI) */ import java.util.ArrayList; import java.util.Iterator; import adql.db.DBChecker; import adql.db.DBColumn; import adql.db.DBTable; import adql.db.DBType; import adql.db.*; import adql.db.DBType.DBDatatype; import adql.db.DefaultDBColumn; import adql.db.DefaultDBTable; import adql.db.STCS.Region; import adql.db.SearchColumnList; import adql.db.exception.UnresolvedJoinException; import adql.parser.ADQLParser; import adql.parser.ParseException; Loading @@ -41,18 +32,10 @@ import adql.query.IdentifierField; import adql.query.from.ADQLJoin; import adql.query.operand.ADQLColumn; import adql.query.operand.function.MathFunction; import adql.query.operand.function.geometry.AreaFunction; import adql.query.operand.function.geometry.BoxFunction; import adql.query.operand.function.geometry.CentroidFunction; import adql.query.operand.function.geometry.CircleFunction; import adql.query.operand.function.geometry.ContainsFunction; import adql.query.operand.function.geometry.DistanceFunction; import adql.query.operand.function.geometry.ExtractCoord; import adql.query.operand.function.geometry.ExtractCoordSys; import adql.query.operand.function.geometry.IntersectsFunction; import adql.query.operand.function.geometry.PointFunction; import adql.query.operand.function.geometry.PolygonFunction; import adql.query.operand.function.geometry.RegionFunction; import adql.query.operand.function.geometry.*; import java.util.ArrayList; import java.util.Iterator; /** * <p>MS SQL Server translator.</p> Loading Loading @@ -343,6 +326,8 @@ public class SQLServerTranslator extends JDBCTranslator { return "round(" + ((fct.getNbParameters() >= 2) ? (translate(fct.getParameter(0)) + ", " + translate(fct.getParameter(1))) : "") + ",1)"; case MOD: return ((fct.getNbParameters() >= 2) ? (translate(fct.getParameter(0)) + "% " + translate(fct.getParameter(1))) : ""); case ATAN2: return "ATN2(" + translate(fct.getParameter(0)) + ", " + translate(fct.getParameter(1)) + ")"; default: return getDefaultADQLFunction(fct); } Loading
src/tap/data/ResultSetTableIterator.java +1 −1 Original line number Diff line number Diff line Loading @@ -716,7 +716,7 @@ public class ResultSetTableIterator implements TableIterator { else if (colType != null && colValue != null && colType.type == DBDatatype.CHAR && (colType.length == 1 || colType.length <= 0) && colValue instanceof String) colValue = ((String)colValue).charAt(0); // if the column value is a geometrical object, it must be serialized in STC-S: else if (translator != null && colType != null && colType.isGeometry()){ else if ((translator != null && colType != null && colType.isGeometry()) || colType.type == DBDatatype.VARBINARY) { try{ Region region = translator.translateGeometryFromDB(colValue); if (region != null) Loading