diff options
| author | Tom Lane | 2003-08-17 19:58:06 +0000 |
|---|---|---|
| committer | Tom Lane | 2003-08-17 19:58:06 +0000 |
| commit | ec646dbc65afc8c55118cb3fb75cb6fd18d78dd8 (patch) | |
| tree | bd256cf157c4636382d59938162326fccc70b62c /src/test | |
| parent | d89578ccbefb83aa9f9d1c00269cd866be2cc857 (diff) | |
Create a 'type cache' that keeps track of the data needed for any particular
datatype by array_eq and array_cmp; use this to solve problems with memory
leaks in array indexing support. The parser's equality_oper and ordering_oper
routines also use the cache. Change the operator search algorithms to look
for appropriate btree or hash index opclasses, instead of assuming operators
named '<' or '=' have the right semantics. (ORDER BY ASC/DESC now also look
at opclasses, instead of assuming '<' and '>' are the right things.) Add
several more index opclasses so that there is no regression in functionality
for base datatypes. initdb forced due to catalog additions.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/circle.out | 2 | ||||
| -rw-r--r-- | src/test/regress/expected/geometry.out | 2 | ||||
| -rw-r--r-- | src/test/regress/expected/geometry_1.out | 2 | ||||
| -rw-r--r-- | src/test/regress/sql/circle.sql | 3 | ||||
| -rw-r--r-- | src/test/regress/sql/geometry.sql | 3 |
5 files changed, 5 insertions, 7 deletions
diff --git a/src/test/regress/expected/circle.out b/src/test/regress/expected/circle.out index 37a3591a64b..d8713dc53d5 100644 --- a/src/test/regress/expected/circle.out +++ b/src/test/regress/expected/circle.out @@ -81,7 +81,7 @@ SELECT '' AS four, f1 FROM CIRCLE_TBL WHERE diameter(f1) >= 10; SELECT '' as five, c1.f1 AS one, c2.f1 AS two, (c1.f1 <-> c2.f1) AS distance FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE (c1.f1 < c2.f1) AND ((c1.f1 <-> c2.f1) > 0) - ORDER BY distance, one, two; + ORDER BY distance, one USING < , two USING < ; five | one | two | distance ------+----------------+----------------+------------------ | <(100,200),10> | <(100,1),115> | 74 diff --git a/src/test/regress/expected/geometry.out b/src/test/regress/expected/geometry.out index 69118725f4a..0889ea25e64 100644 --- a/src/test/regress/expected/geometry.out +++ b/src/test/regress/expected/geometry.out @@ -504,7 +504,7 @@ SELECT '' AS two, circle(f1) SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance FROM CIRCLE_TBL c1, POINT_TBL p1 WHERE (p1.f1 <-> c1.f1) > 0 - ORDER BY distance, circle, point using <<; + ORDER BY distance, circle using <, point using <<; twentyfour | circle | point | distance ------------+----------------+------------+--------------- | <(1,2),3> | (-3,4) | 1.472135955 diff --git a/src/test/regress/expected/geometry_1.out b/src/test/regress/expected/geometry_1.out index 76b621fede6..5c205d8bcc7 100644 --- a/src/test/regress/expected/geometry_1.out +++ b/src/test/regress/expected/geometry_1.out @@ -504,7 +504,7 @@ SELECT '' AS two, circle(f1) SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance FROM CIRCLE_TBL c1, POINT_TBL p1 WHERE (p1.f1 <-> c1.f1) > 0 - ORDER BY distance, circle, point using <<; + ORDER BY distance, circle using <, point using <<; twentyfour | circle | point | distance ------------+----------------+------------+--------------- | <(1,2),3> | (-3,4) | 1.472135955 diff --git a/src/test/regress/sql/circle.sql b/src/test/regress/sql/circle.sql index 9b384554d75..fe229b3b2c0 100644 --- a/src/test/regress/sql/circle.sql +++ b/src/test/regress/sql/circle.sql @@ -42,5 +42,4 @@ SELECT '' AS four, f1 FROM CIRCLE_TBL WHERE diameter(f1) >= 10; SELECT '' as five, c1.f1 AS one, c2.f1 AS two, (c1.f1 <-> c2.f1) AS distance FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE (c1.f1 < c2.f1) AND ((c1.f1 <-> c2.f1) > 0) - ORDER BY distance, one, two; - + ORDER BY distance, one USING < , two USING < ; diff --git a/src/test/regress/sql/geometry.sql b/src/test/regress/sql/geometry.sql index fab791df0d5..4abb679148f 100644 --- a/src/test/regress/sql/geometry.sql +++ b/src/test/regress/sql/geometry.sql @@ -152,5 +152,4 @@ SELECT '' AS two, circle(f1) SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance FROM CIRCLE_TBL c1, POINT_TBL p1 WHERE (p1.f1 <-> c1.f1) > 0 - ORDER BY distance, circle, point using <<; - + ORDER BY distance, circle using <, point using <<; |
