From 0699171fa56c873bf732ff313f55005058193e2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=93=81?= Date: Tue, 3 Nov 2020 11:49:24 +0800 Subject: [PATCH] add testcase for #4010 --- .../druid/bvt/sql/PagerUtilsTest_Count_PG_0.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java index 97413f6b82..18c6f766d7 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java @@ -30,6 +30,20 @@ public class PagerUtilsTest_Count_PG_0 extends TestCase { "FROM t", result); } + public void test_pg_3() throws Exception { + String sql = "select * from test where shape.STIntersects(geometry::STGeomFromText('POLYGON ((86610.054 86610.054,112372.95799999963 88785.5940000005,112372.91199999955 88675.996999999508,86610.054 86610.054))',0))=1;"; + String countSql = PagerUtils.count(sql, JdbcConstants.POSTGRESQL); + assertEquals("SELECT COUNT(*)\n" + + "FROM test\n" + + "WHERE shape.STIntersects(geometry::STGeomFromText('POLYGON ((86610.054 86610.054,112372.95799999963 88785.5940000005,112372.91199999955 88675.996999999508,86610.054 86610.054))', 0)) = 1", countSql); + + String limitSql = PagerUtils.limit(sql, JdbcConstants.POSTGRESQL, 100, 10); + assertEquals("SELECT *\n" + + "FROM test\n" + + "WHERE shape.STIntersects(geometry::STGeomFromText('POLYGON ((86610.054 86610.054,112372.95799999963 88785.5940000005,112372.91199999955 88675.996999999508,86610.054 86610.054))', 0)) = 1\n" + + "LIMIT 10 OFFSET 100", limitSql); + } + public void test_pg_group_0() throws Exception { String sql = "select type, count(*) from t group by type"; String result = PagerUtils.count(sql, JdbcConstants.POSTGRESQL); @@ -53,4 +67,5 @@ public class PagerUtilsTest_Count_PG_0 extends TestCase { "\tFROM t2\n" + ") ALIAS_COUNT", result); } + }