From 3d9de3f059622a9541fc0dc05f5afbcbe2d6dfe7 Mon Sep 17 00:00:00 2001 From: Dustin Jenkins Date: Mon, 12 Dec 2022 07:04:32 -0800 Subject: [PATCH] Correct tolerance values. --- cadc-tap-server-oracle/build.gradle | 4 ++-- .../parser/converter/OracleRegionConverter.java | 4 ++-- .../tap/parser/region/function/OracleCircle.java | 2 +- .../converter/OracleRegionConverterTest.java | 14 +++++++------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cadc-tap-server-oracle/build.gradle b/cadc-tap-server-oracle/build.gradle index 52b2dece..1c4d98bb 100644 --- a/cadc-tap-server-oracle/build.gradle +++ b/cadc-tap-server-oracle/build.gradle @@ -13,13 +13,13 @@ repositories { apply from: '../opencadc.gradle' sourceCompatibility = 1.8 group = 'org.opencadc' -version = '1.2.10' +version = '1.2.11' description = 'OpenCADC TAP-1.1 tap server plugin (Oracle)' def git_url = 'https://github.com/opencadc/tap' dependencies { - implementation 'org.opencadc:cadc-tap-server:[1.1.19,2.0)' + implementation 'org.opencadc:cadc-tap-server:[1.1.21,2.0)' implementation 'org.opencadc:cadc-adql:[1.1.11,2.0)' testImplementation 'junit:junit:[4.12,5.0)' diff --git a/cadc-tap-server-oracle/src/main/java/ca/nrc/cadc/tap/parser/converter/OracleRegionConverter.java b/cadc-tap-server-oracle/src/main/java/ca/nrc/cadc/tap/parser/converter/OracleRegionConverter.java index 90185fda..3cf0a05f 100644 --- a/cadc-tap-server-oracle/src/main/java/ca/nrc/cadc/tap/parser/converter/OracleRegionConverter.java +++ b/cadc-tap-server-oracle/src/main/java/ca/nrc/cadc/tap/parser/converter/OracleRegionConverter.java @@ -116,7 +116,7 @@ public class OracleRegionConverter extends RegionFinder { private static final String CONTAINS_TRUE_VALUE = CONTAINS_RELATE_MASK.toUpperCase(); private static final String ANYINTERACT_FUNCTION_NAME = "SDO_ANYINTERACT"; private static final String ANYINTERACT_RELATE_MASK = "anyinteract"; - private static final String RELATE_DEFAULT_TOLERANCE = "0.005"; + private static final String RELATE_DEFAULT_TOLERANCE = "0.05"; // Prototype coordinate range function using Oracle's SDO_GEOM package. public static final String RANGE_S2D = "RANGE_S2D"; @@ -270,7 +270,7 @@ protected Expression handleDistance(final Expression left, final Expression righ } /** - * This method is called when a CONTAINS is found outside of a predicate. + * This method is called when a CONTAINS is found outside a predicate. * This could occur if the query had CONTAINS(...) in the select list or as * part of an arithmetic expression or aggregate function (since CONTAINS * returns a numeric value). diff --git a/cadc-tap-server-oracle/src/main/java/ca/nrc/cadc/tap/parser/region/function/OracleCircle.java b/cadc-tap-server-oracle/src/main/java/ca/nrc/cadc/tap/parser/region/function/OracleCircle.java index aaf8368f..c87829eb 100644 --- a/cadc-tap-server-oracle/src/main/java/ca/nrc/cadc/tap/parser/region/function/OracleCircle.java +++ b/cadc-tap-server-oracle/src/main/java/ca/nrc/cadc/tap/parser/region/function/OracleCircle.java @@ -89,7 +89,7 @@ public class OracleCircle extends Function { private static final Logger LOGGER = Logger.getLogger(OracleRegionConverter.class); public static final String FUNCTION_NAME = "SDO_UTIL.CIRCLE_POLYGON"; - public static final double DEFAULT_ARC_TOLERANCE = 0.005D; + public static final double DEFAULT_ARC_TOLERANCE = 0.05D; public static final double TO_METRES_ON_EARTH = 2.0D * Math.PI * 6371000.0D / 360.0D; diff --git a/cadc-tap-server-oracle/src/test/java/ca/nrc/cadc/tap/parser/converter/OracleRegionConverterTest.java b/cadc-tap-server-oracle/src/test/java/ca/nrc/cadc/tap/parser/converter/OracleRegionConverterTest.java index 00077c52..06026e31 100644 --- a/cadc-tap-server-oracle/src/test/java/ca/nrc/cadc/tap/parser/converter/OracleRegionConverterTest.java +++ b/cadc-tap-server-oracle/src/test/java/ca/nrc/cadc/tap/parser/converter/OracleRegionConverterTest.java @@ -110,7 +110,7 @@ public void handleContains() { final String resultFunctionSource = resultFunction.toString(); Assert.assertEquals("Wrong output.", "SDO_CONTAINS(SDO_UTIL.CIRCLE_POLYGON(88.0, 12.0, " - + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.005), " + + + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.05), " + "SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(16.8, 33.4, NULL), NULL, NULL))", resultFunctionSource); } @@ -141,7 +141,7 @@ public void handleRegionPredicateContains() { final String resultFunctionSource = equalsFunction.toString(); Assert.assertEquals("Wrong output.", "SDO_CONTAINS(SDO_UTIL.CIRCLE_POLYGON(88.0, 12.0, " - + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.005), " + + + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.05), " + "SDO_GEOMETRY" + "(2001, 8307, SDO_POINT_TYPE(16.8, 33.4, NULL), NULL, NULL)) = 'TRUE'", resultFunctionSource); @@ -198,7 +198,7 @@ public void handleColumnReference() { Assert.assertEquals("Wrong SQL DISTANCE output.", "SDO_GEOM.SDO_DISTANCE(SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(ra, dec, NULL), NULL, " + - "NULL), SDO_UTIL.CIRCLE_POLYGON(88.0, 12.0, " + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.005), 0.005)", + "NULL), SDO_UTIL.CIRCLE_POLYGON(88.0, 12.0, " + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.05), 0.05)", distanceFunction.toString()); } @@ -228,9 +228,9 @@ public void handleRegionPredicateIntersects() { final String resultFunctionSource = equalsFunction.toString(); Assert.assertEquals("Wrong output.", "SDO_GEOM.RELATE(SDO_UTIL.CIRCLE_POLYGON(88.0, 12.0, " - + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.005), " + + + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.05), " + "'anyinteract', " + - "SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(16.8, 33.4, NULL), NULL, NULL), 0.005) " + + "SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(16.8, 33.4, NULL), NULL, NULL), 0.05) " + "<> 'TRUE'", resultFunctionSource); } @@ -316,8 +316,8 @@ public void handleDistance() { Assert.assertEquals("Wrong SQL DISTANCE output.", "SDO_GEOM.SDO_DISTANCE(SDO_UTIL.CIRCLE_POLYGON(88.0, 12.0, " - + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.005), " + - "SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(16.8, 33.4, NULL), NULL, NULL), 0.005)", + + 0.8D * OracleCircle.TO_METRES_ON_EARTH + ", 0.05), " + + "SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(16.8, 33.4, NULL), NULL, NULL), 0.05)", distanceFunction.toString()); } }