Massive regression test patches from Thomas *woo hoo!*
This commit is contained in:
parent
a902829a66
commit
df77071773
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.17 1997/04/25 18:40:13 scrappy Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.18 1997/04/27 02:55:49 scrappy Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -455,6 +455,9 @@ timespan_ne(TimeSpan *timespan1, TimeSpan *timespan2)
|
||||
if (!PointerIsValid(timespan1) || !PointerIsValid(timespan2))
|
||||
return FALSE;
|
||||
|
||||
if (TIMESPAN_IS_INVALID(*timespan1) || TIMESPAN_IS_INVALID(*timespan2))
|
||||
return FALSE;
|
||||
|
||||
return( (timespan1->time != timespan2->time)
|
||||
|| (timespan1->month != timespan2->month));
|
||||
} /* timespan_ne() */
|
||||
@ -467,10 +470,13 @@ timespan_lt(TimeSpan *timespan1, TimeSpan *timespan2)
|
||||
if (!PointerIsValid(timespan1) || !PointerIsValid(timespan2))
|
||||
return FALSE;
|
||||
|
||||
if (TIMESPAN_IS_INVALID(*timespan1) || TIMESPAN_IS_INVALID(*timespan2))
|
||||
return FALSE;
|
||||
|
||||
span1 = timespan1->time;
|
||||
if (timespan1->month != 0) span1 += (timespan1->month * 30);
|
||||
if (timespan1->month != 0) span1 += (timespan1->month * (30*86400));
|
||||
span2 = timespan2->time;
|
||||
if (timespan2->month != 0) span2 += (timespan2->month * 30);
|
||||
if (timespan2->month != 0) span2 += (timespan2->month * (30*86400));
|
||||
|
||||
return( span1 < span2);
|
||||
} /* timespan_lt() */
|
||||
@ -483,10 +489,13 @@ timespan_gt(TimeSpan *timespan1, TimeSpan *timespan2)
|
||||
if (!PointerIsValid(timespan1) || !PointerIsValid(timespan2))
|
||||
return FALSE;
|
||||
|
||||
if (TIMESPAN_IS_INVALID(*timespan1) || TIMESPAN_IS_INVALID(*timespan2))
|
||||
return FALSE;
|
||||
|
||||
span1 = timespan1->time;
|
||||
if (timespan1->month != 0) span1 += (timespan1->month * 30);
|
||||
if (timespan1->month != 0) span1 += (timespan1->month * (30*86400));
|
||||
span2 = timespan2->time;
|
||||
if (timespan2->month != 0) span2 += (timespan2->month * 30);
|
||||
if (timespan2->month != 0) span2 += (timespan2->month * (30*86400));
|
||||
|
||||
return( span1 > span2);
|
||||
} /* timespan_gt() */
|
||||
@ -499,10 +508,13 @@ timespan_le(TimeSpan *timespan1, TimeSpan *timespan2)
|
||||
if (!PointerIsValid(timespan1) || !PointerIsValid(timespan2))
|
||||
return FALSE;
|
||||
|
||||
if (TIMESPAN_IS_INVALID(*timespan1) || TIMESPAN_IS_INVALID(*timespan2))
|
||||
return FALSE;
|
||||
|
||||
span1 = timespan1->time;
|
||||
if (timespan1->month != 0) span1 += (timespan1->month * 30);
|
||||
if (timespan1->month != 0) span1 += (timespan1->month * (30*86400));
|
||||
span2 = timespan2->time;
|
||||
if (timespan2->month != 0) span2 += (timespan2->month * 30);
|
||||
if (timespan2->month != 0) span2 += (timespan2->month * (30*86400));
|
||||
|
||||
return( span1 <= span2);
|
||||
} /* timespan_le() */
|
||||
@ -515,10 +527,13 @@ timespan_ge(TimeSpan *timespan1, TimeSpan *timespan2)
|
||||
if (!PointerIsValid(timespan1) || !PointerIsValid(timespan2))
|
||||
return FALSE;
|
||||
|
||||
if (TIMESPAN_IS_INVALID(*timespan1) || TIMESPAN_IS_INVALID(*timespan2))
|
||||
return FALSE;
|
||||
|
||||
span1 = timespan1->time;
|
||||
if (timespan1->month != 0) span1 += (timespan1->month * 30);
|
||||
if (timespan1->month != 0) span1 += (timespan1->month * (30*86400));
|
||||
span2 = timespan2->time;
|
||||
if (timespan2->month != 0) span2 += (timespan2->month * 30);
|
||||
if (timespan2->month != 0) span2 += (timespan2->month * (30*86400));
|
||||
|
||||
return( span1 >= span2);
|
||||
} /* timespan_ge() */
|
||||
|
@ -7,14 +7,14 @@
|
||||
#
|
||||
#
|
||||
# IDENTIFICATION
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/GNUmakefile,v 1.6 1997/04/26 06:31:55 scrappy Exp $
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/GNUmakefile,v 1.7 1997/04/27 02:56:03 scrappy Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
SRCDIR= ../..
|
||||
include ../../Makefile.global
|
||||
|
||||
CFLAGS+= -I$(LIBPQDIR)
|
||||
CFLAGS+= -I$(LIBPQDIR) -I../../include
|
||||
|
||||
LDADD+= -L$(LIBPQDIR) -lpq
|
||||
|
||||
|
@ -2,23 +2,39 @@
|
||||
Introduction
|
||||
|
||||
The PostgreSQL regression tests are a comprehensive set of tests for the
|
||||
SQL implementation embeded in PostgreSQL developed by Jolly Chen and
|
||||
Andrew Yu. It tests standard SQL operations as well as the extensability
|
||||
SQL implementation embedded in PostgreSQL developed by Jolly Chen and
|
||||
Andrew Yu. It tests standard SQL operations as well as the extensibility
|
||||
capabilities of PostgreSQL.
|
||||
|
||||
These tests have recently been revised by Marc Fournier and others to
|
||||
become current for PostgreSQL v6.1. The tests are now packaged as
|
||||
functional units and should be easier to run and easier to interpret.
|
||||
|
||||
Some properly installed and fully functional PostgreSQL installations
|
||||
can fail these regression tests due to artifacts of the genetic optimizer.
|
||||
See the v6.1-specific release notes in this document for further details.
|
||||
|
||||
Preparation
|
||||
|
||||
The regression test is invoked thru by the 'make' command which compiles
|
||||
The regression test is invoked by the 'make' command which compiles
|
||||
a 'c' program with PostgreSQL extension functions into a shared library
|
||||
in the current directory. Localized shell scripts are also created in
|
||||
the current directory. The 'expected.input' file is massaged into the
|
||||
'expected.out' file. The localization replaces macros in the source
|
||||
the current directory. The output file templates are massaged into the
|
||||
./expected/*.out files. The localization replaces macros in the source
|
||||
files with absolute pathnames and user names.
|
||||
|
||||
The postmaster should be invoked with the system time zone set for
|
||||
Berkeley, California. On some systems, this can be accomplished by
|
||||
setting the TZ environment variable before starting the postmaster
|
||||
(for csh/bash; use set/export for some other shells):
|
||||
|
||||
setenv TZ PST8PDT7,M04.01.0,M10.05.03
|
||||
/usr/local/pgsql/bin/postmaster -s
|
||||
|
||||
Directory Layout
|
||||
|
||||
input/ .... .source files that are converted using 'make all' into
|
||||
.sql files in the 'sql' subdirectory
|
||||
some of the .sql files in the 'sql' subdirectory
|
||||
|
||||
output/ ... .source files that are converted using 'make all' into
|
||||
.out files in the 'expected' subdirectory
|
||||
@ -29,7 +45,7 @@ Directory Layout
|
||||
look like
|
||||
|
||||
results/ .. .out files that represent what the results *actually* look
|
||||
like
|
||||
like. Also used as temporary storage for table copy testing.
|
||||
|
||||
Running the regression test
|
||||
|
||||
@ -45,14 +61,14 @@ Running the regression test
|
||||
Normally, the regression test should be run as the pg_superuser as the
|
||||
'src/test/regress' directory and sub-directories are owned by the
|
||||
pg_superuser. If you run the regression test as another user the
|
||||
'src/test/regress' directory should be writeable to that user.
|
||||
'src/test/regress' directory tree should be writeable to that user.
|
||||
|
||||
Comparing expected/actual output
|
||||
|
||||
The results are in the file 'regress.out' which can be compared
|
||||
with the 'expected.out' file using 'diff'. The files will NOT
|
||||
compare exactly. The following paragraphs attempt to explain the
|
||||
differences.
|
||||
The results are in the files in the ./results directory. These
|
||||
results can be compared with results in the ./expected directory
|
||||
using 'diff'. The files might not compare exactly. The following
|
||||
paragraphs attempt to explain the differences.
|
||||
|
||||
OID differences
|
||||
|
||||
@ -62,7 +78,7 @@ OID differences
|
||||
If you run the regression test on a non-virgin database or run it multiple
|
||||
times, the OID's reported will have different values.
|
||||
|
||||
The following SQL statements in 'regress.out' have shown this behavior:
|
||||
The following SQL statements in 'misc.out' have shown this behavior:
|
||||
|
||||
QUERY: SELECT user_relns() AS user_relns ORDER BY user_relns;
|
||||
|
||||
@ -96,8 +112,8 @@ POLYGON differences
|
||||
|
||||
Several of the tests involve operations on geographic date about the
|
||||
Oakland/Berkley CA street map. The map data is expressed as polygons
|
||||
whose verticies are represened as pairs of FLOAT8 numbers (decimal
|
||||
lattitude and longitude). Initially, some tables are created and
|
||||
whose vertices are represented as pairs of FLOAT8 numbers (decimal
|
||||
latitude and longitude). Initially, some tables are created and
|
||||
loaded with geographic data, then some views are created which join
|
||||
two tables using the polygon intersection operator (##), then a select
|
||||
is done on the view.
|
||||
@ -111,24 +127,84 @@ POLYGON differences
|
||||
|
||||
DATE/TIME differences
|
||||
|
||||
On many supported platforms, you can force PostgreSQL to believe that it
|
||||
is running in the same time zone as Berkeley, California. See details in
|
||||
the section on how to run the regression tests.
|
||||
|
||||
The Makefile attempts to adjust for timezone differences, but it is
|
||||
totally possible to eliminate them. People outside North America
|
||||
not possible to totally eliminate them. People outside North America
|
||||
will probabablly find the Makefile's adjustments are incorrect. Also
|
||||
entries that use the time -infinity display with year 1970 plus/minus the
|
||||
number of hours you are different from GMT.
|
||||
|
||||
--------[ old stuff that needs to be rewritten ]-----
|
||||
Random differences
|
||||
|
||||
The 'expected.input' file and the 'sample.regress.out' file
|
||||
There is at least one test case in misc.out which is intended to produce
|
||||
random results. This causes misc to fail the regression testing.
|
||||
Typing "diff results/misc.out expected/misc.out" should produce only
|
||||
one or a few lines of differences for this reason, but other floating
|
||||
point differences on dissimilar architectures might cause many more
|
||||
differences.
|
||||
|
||||
The 'expected.input' file was created on a SPARC Solaris 2.4 system
|
||||
using the 'postgres5-1.02a5.tar.gz' source tree. It has been compared
|
||||
The 'expected' files
|
||||
|
||||
The ./expected/*.out files were adapted from the original monolithic
|
||||
'expected.input' file provided by Jolly Chen et al. Newer versions of these
|
||||
files generated on various development machines have been substituted after
|
||||
careful (?) inspection. Many of the development machines are running a
|
||||
Unix OS variant (FreeBSD, Linux, etc) on Ix86 hardware.
|
||||
|
||||
The original 'expected.input' file was created on a SPARC Solaris 2.4
|
||||
system using the 'postgres5-1.02a5.tar.gz' source tree. It was compared
|
||||
with a file created on an I386 Solaris 2.4 system and the differences
|
||||
are only in the floating point polygons in the 3rd digit to the right
|
||||
were only in the floating point polygons in the 3rd digit to the right
|
||||
of the decimal point. (see below)
|
||||
|
||||
The 'sample.regress.out' file is from the postgres-1.01 release
|
||||
The original 'sample.regress.out' file was from the postgres-1.01 release
|
||||
constructed by Jolly Chen and is included here for reference. It may
|
||||
have been created on a DEC ALPHA machine as the 'Makefile.global'
|
||||
in the postgres-1.01 release has PORTNAME=alpha.
|
||||
|
||||
Current release notes
|
||||
|
||||
There are no release notes for PostgreSQL v6.0.
|
||||
|
||||
v6.1beta release notes
|
||||
|
||||
The regression tests have been adapted and extensively modified for the
|
||||
v6.1 release of PostgreSQL.
|
||||
|
||||
Three new data types (datetime, timespan, and circle) have been added to
|
||||
the native set of PostgreSQL types. Points, boxes, paths, and polygons
|
||||
have had their output formats improved, but the old-style input formats
|
||||
are accepted by v6.1. The source data files have not been updated to the
|
||||
new formats, but should be for the next release. The polygon output in
|
||||
misc.out has only been spot-checked for correctness relative to the
|
||||
original regression output.
|
||||
|
||||
To get consistant results from the regression tests, compile the PostgreSQL
|
||||
backend with the genetic optimizer (GEQ) turned off. The genetic algorithms
|
||||
introduce a random behavior in the output ordering which causes the
|
||||
simple "diff" implementation of the tests to fail. To turn off the genetic
|
||||
optimizer, edit the src/include/config.h file and comment-out the line
|
||||
containing "#define GEQ", then do a "make clean install" to regenerate
|
||||
the backend. Existing v6.1 databases are not affected by the choice of
|
||||
optimizer, so there is no need to reload after changing the optimizer.
|
||||
The new genetic optimizer has very nice performance with many-table joins,
|
||||
so you may want to make sure to re-enable it and reinstall the code after
|
||||
you have concluded your regression testing.
|
||||
|
||||
XXX update this for the production release - tgl 97/04/26
|
||||
The interpretation of array specifiers (the curly braces around atomic
|
||||
values) appears to have changed sometime after the original regression
|
||||
tests were generated. The current ./expected/*.out files reflect this
|
||||
new interpretation, which may not be correct!
|
||||
|
||||
XXX update this for the production release - tgl 97/04/26
|
||||
The float8 regression test fails. This may be due to the parser continuing
|
||||
rather than aborting when given invalid constants for input values.
|
||||
|
||||
XXX update this for the production release - tgl 97/04/26
|
||||
Regression tests involving indexed tables fail in at least some environments.
|
||||
This may indicate a problem with the current index code.
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
jeff 23 (8,7.7) 600 sharon 3.50000000000000000e+00
|
||||
cim 30 (10.5,4.7) 400 3.39999999999999990e+00
|
||||
linda 19 (0.9,6.1) 100 2.89999999999999990e+00
|
||||
jeff 23 (8,7.7) 600 sharon 3.50000000000000000e+00 \N
|
||||
cim 30 (10.5,4.7) 400 \N 3.39999999999999990e+00 \N
|
||||
linda 19 (0.9,6.1) 100 \N 2.89999999999999990e+00 \N
|
||||
|
@ -7,67 +7,60 @@ QUERY: INSERT INTO ABSTIME_TBL (f1) VALUES ('infinity'::abstime);
|
||||
QUERY: INSERT INTO ABSTIME_TBL (f1) VALUES ('-infinity'::abstime);
|
||||
QUERY: INSERT INTO ABSTIME_TBL (f1) VALUES ('May 10, 1943 23:59:12');
|
||||
QUERY: INSERT INTO ABSTIME_TBL (f1) VALUES ('Feb 35, 1946 10:00:00');
|
||||
WARN:Bad abstime external representation 'Feb 35, 1946 10:00:00'
|
||||
QUERY: INSERT INTO ABSTIME_TBL (f1) VALUES ('Feb 28, 1984 25:08:10');
|
||||
WARN:Bad abstime external representation 'Feb 28, 1984 25:08:10'
|
||||
QUERY: INSERT INTO ABSTIME_TBL (f1) VALUES ('bad date format');
|
||||
WARN:Bad abstime external representation 'bad date format'
|
||||
QUERY: INSERT INTO ABSTIME_TBL (f1) VALUES ('Jun 10, 1843');
|
||||
QUERY: SELECT '' AS eight, ABSTIME_TBL.*;
|
||||
eight|f1
|
||||
-----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|infinity
|
||||
|-infinity
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
|invalid
|
||||
(8 rows)
|
||||
|
||||
QUERY: SELECT '' AS eleven, ABSTIME_TBL.*;
|
||||
eleven|f1
|
||||
------+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|infinity
|
||||
|-infinity
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
|Invalid Abstime
|
||||
|Invalid Abstime
|
||||
(11 rows)
|
||||
|
||||
QUERY: SELECT '' AS eight, ABSTIME_TBL.*
|
||||
QUERY: SELECT '' AS six, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 < 'Jun 30, 2001'::abstime;
|
||||
eight|f1
|
||||
-----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|-infinity
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(8 rows)
|
||||
six|f1
|
||||
---+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|-infinity
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
(6 rows)
|
||||
|
||||
QUERY: SELECT '' AS eight, ABSTIME_TBL.*
|
||||
QUERY: SELECT '' AS six, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 > '-infinity'::abstime;
|
||||
eight|f1
|
||||
-----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|infinity
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(8 rows)
|
||||
six|f1
|
||||
---+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|infinity
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
(6 rows)
|
||||
|
||||
QUERY: SELECT '' AS eight, ABSTIME_TBL.*
|
||||
QUERY: SELECT '' AS six, ABSTIME_TBL.*
|
||||
WHERE 'May 10, 1943 23:59:12'::abstime <> ABSTIME_TBL.f1;
|
||||
eight|f1
|
||||
-----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|infinity
|
||||
|-infinity
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(8 rows)
|
||||
six|f1
|
||||
---+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|infinity
|
||||
|-infinity
|
||||
(6 rows)
|
||||
|
||||
QUERY: SELECT '' AS one, ABSTIME_TBL.*
|
||||
WHERE 'current'::abstime = ABSTIME_TBL.f1;
|
||||
@ -76,114 +69,90 @@ one|f1
|
||||
|current
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT '' AS five, ABSTIME_TBL.*
|
||||
QUERY: SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE 'epoch'::abstime >= ABSTIME_TBL.f1;
|
||||
five|f1
|
||||
three|f1
|
||||
-----+----------------------------
|
||||
|epoch
|
||||
|-infinity
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS four, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 <= 'Jan 14, 1973 03:14:21'::abstime;
|
||||
four|f1
|
||||
----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|-infinity
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(5 rows)
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT '' AS six, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 <= 'Jan 14, 1973 03:14:21'::abstime;
|
||||
six|f1
|
||||
---+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|-infinity
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(6 rows)
|
||||
|
||||
QUERY: SELECT '' AS six, ABSTIME_TBL.*
|
||||
QUERY: SELECT '' AS four, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 <?>
|
||||
'["Apr 1 1945 00:00:00" "Dec 30 1999 23:00:00"]'::tinterval;
|
||||
six|f1
|
||||
---+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(6 rows)
|
||||
four|f1
|
||||
----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|Mon May 01 00:30:30 1995 PDT
|
||||
|epoch
|
||||
|current
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT '' AS five, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 + '@ 3 year'::reltime)
|
||||
QUERY: SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 + '@ 3 year'::reltime)
|
||||
< 'Jan 14 14:00:00 1977'::abstime;
|
||||
five|f1
|
||||
----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(5 rows)
|
||||
three|f1
|
||||
-----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS five, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 + '@ 3 year ago'::reltime)
|
||||
QUERY: SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 + '@ 3 year ago'::reltime)
|
||||
< 'Jan 14 14:00:00 1971'::abstime;
|
||||
five|f1
|
||||
----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(5 rows)
|
||||
three|f1
|
||||
-----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS five, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 - '@ 3 year'::reltime)
|
||||
QUERY: SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 - '@ 3 year'::reltime)
|
||||
< 'Jan 14 14:00:00 1971'::abstime;
|
||||
five|f1
|
||||
----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(5 rows)
|
||||
three|f1
|
||||
-----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS five, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 - '@ 3 year ago'::reltime)
|
||||
< 'Jan 14 14:00:00 1977'::abstime;
|
||||
five|f1
|
||||
----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|Mon May 10 23:59:12 1943 PWT
|
||||
|Thu Mar 07 10:00:00 1946 PST
|
||||
|Wed Dec 31 15:59:59 1969 PST
|
||||
(5 rows)
|
||||
QUERY: SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 - '@ 3 year ago'::reltime)
|
||||
< 'Jan 14 14:00:00 1977'::abstime;
|
||||
three|f1
|
||||
-----+----------------------------
|
||||
|Sun Jan 14 03:14:21 1973 PST
|
||||
|epoch
|
||||
|Mon May 10 23:59:12 1943 PST
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS twenty, ABSTIME_TBL.*, RELTIME_TBL.*
|
||||
QUERY: SELECT '' AS ten, ABSTIME_TBL.*, RELTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
|
||||
< 'Jan 14 14:00:00 1971'::abstime;
|
||||
twenty|f1 |f1
|
||||
------+----------------------------+----------------
|
||||
|epoch |@ 1 minute
|
||||
|Mon May 10 23:59:12 1943 PWT|@ 1 minute
|
||||
|Thu Mar 07 10:00:00 1946 PST|@ 1 minute
|
||||
|Wed Dec 31 15:59:59 1969 PST|@ 1 minute
|
||||
|epoch |@ 5 hours
|
||||
|Mon May 10 23:59:12 1943 PWT|@ 5 hours
|
||||
|Thu Mar 07 10:00:00 1946 PST|@ 5 hours
|
||||
|Wed Dec 31 15:59:59 1969 PST|@ 5 hours
|
||||
|epoch |@ 10 days
|
||||
|Mon May 10 23:59:12 1943 PWT|@ 10 days
|
||||
|Thu Mar 07 10:00:00 1946 PST|@ 10 days
|
||||
|Wed Dec 31 15:59:59 1969 PST|@ 10 days
|
||||
|epoch |@ 3 months
|
||||
|Mon May 10 23:59:12 1943 PWT|@ 3 months
|
||||
|Thu Mar 07 10:00:00 1946 PST|@ 3 months
|
||||
|Wed Dec 31 15:59:59 1969 PST|@ 3 months
|
||||
|epoch |@ 14 seconds ago
|
||||
|Mon May 10 23:59:12 1943 PWT|@ 14 seconds ago
|
||||
|Thu Mar 07 10:00:00 1946 PST|@ 14 seconds ago
|
||||
|Wed Dec 31 15:59:59 1969 PST|@ 14 seconds ago
|
||||
(20 rows)
|
||||
ten|f1 |f1
|
||||
---+----------------------------+----------------
|
||||
|epoch |@ 1 minute
|
||||
|Mon May 10 23:59:12 1943 PST|@ 1 minute
|
||||
|epoch |@ 5 hours
|
||||
|Mon May 10 23:59:12 1943 PST|@ 5 hours
|
||||
|epoch |@ 10 days
|
||||
|Mon May 10 23:59:12 1943 PST|@ 10 days
|
||||
|epoch |@ 3 months
|
||||
|Mon May 10 23:59:12 1943 PST|@ 3 months
|
||||
|epoch |@ 14 seconds ago
|
||||
|Mon May 10 23:59:12 1943 PST|@ 14 seconds ago
|
||||
(10 rows)
|
||||
|
||||
|
@ -162,18 +162,18 @@ tf_12_ff_4|f1|f1
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|f |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|f |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|f |f
|
||||
|f |f
|
||||
|t |f
|
||||
|t |f
|
||||
|t |f
|
||||
|f |f
|
||||
(16 rows)
|
||||
|
||||
|
@ -8,145 +8,145 @@ WARN:Bad box external representation '(2.3, 4.5)'
|
||||
QUERY: INSERT INTO BOX_TBL (f1) VALUES ('asdfasdf(ad');
|
||||
WARN:Bad box external representation 'asdfasdf(ad'
|
||||
QUERY: SELECT '' AS four, BOX_TBL.*;
|
||||
four|f1
|
||||
----+-----------------
|
||||
|(2,2,0,0)
|
||||
|(3,3,1,1)
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
|(3,3,3,3)
|
||||
four|f1
|
||||
----+-------------------
|
||||
|(2,2),(0,0)
|
||||
|(3,3),(1,1)
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
|(3,3),(3,3)
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT '' AS four, b.*, box_area(b.f1) as barea
|
||||
FROM BOX_TBL b;
|
||||
four|f1 |barea
|
||||
----+-----------------+-----
|
||||
|(2,2,0,0) | 4
|
||||
|(3,3,1,1) | 4
|
||||
|(2.5,3.5,2.5,2.5)| 0
|
||||
|(3,3,3,3) | 0
|
||||
four|f1 |barea
|
||||
----+-------------------+-----
|
||||
|(2,2),(0,0) | 4
|
||||
|(3,3),(1,1) | 4
|
||||
|(2.5,3.5),(2.5,2.5)| 0
|
||||
|(3,3),(3,3) | 0
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE b.f1 && '(2.5,2.5,1.0,1.0)'::box;
|
||||
three|f1
|
||||
-----+-----------------
|
||||
|(2,2,0,0)
|
||||
|(3,3,1,1)
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
three|f1
|
||||
-----+-------------------
|
||||
|(2,2),(0,0)
|
||||
|(3,3),(1,1)
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, b1.*
|
||||
FROM BOX_TBL b1
|
||||
WHERE b1.f1 &< '(2.0,2.0,2.5,2.5)'::box;
|
||||
two|f1
|
||||
---+-----------------
|
||||
|(2,2,0,0)
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
two|f1
|
||||
---+-------------------
|
||||
|(2,2),(0,0)
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, b1.*
|
||||
FROM BOX_TBL b1
|
||||
WHERE b1.f1 &> '(2.0,2.0,2.5,2.5)'::box;
|
||||
two|f1
|
||||
---+-----------------
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
|(3,3,3,3)
|
||||
two|f1
|
||||
---+-------------------
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
|(3,3),(3,3)
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE b.f1 << '(3.0,3.0,5.0,5.0)'::box;
|
||||
two|f1
|
||||
---+-----------------
|
||||
|(2,2,0,0)
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
two|f1
|
||||
---+-------------------
|
||||
|(2,2),(0,0)
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS four, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE b.f1 <= '(3.0,3.0,5.0,5.0)'::box;
|
||||
four|f1
|
||||
----+-----------------
|
||||
|(2,2,0,0)
|
||||
|(3,3,1,1)
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
|(3,3,3,3)
|
||||
four|f1
|
||||
----+-------------------
|
||||
|(2,2),(0,0)
|
||||
|(3,3),(1,1)
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
|(3,3),(3,3)
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE b.f1 < '(3.0,3.0,5.0,5.0)'::box;
|
||||
two|f1
|
||||
---+-----------------
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
|(3,3,3,3)
|
||||
two|f1
|
||||
---+-------------------
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
|(3,3),(3,3)
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE b.f1 = '(3.0,3.0,5.0,5.0)'::box;
|
||||
two|f1
|
||||
---+---------
|
||||
|(2,2,0,0)
|
||||
|(3,3,1,1)
|
||||
two|f1
|
||||
---+-----------
|
||||
|(2,2),(0,0)
|
||||
|(3,3),(1,1)
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE b.f1 > '(3.5,3.0,4.5,3.0)'::box;
|
||||
two|f1
|
||||
---+---------
|
||||
|(2,2,0,0)
|
||||
|(3,3,1,1)
|
||||
two|f1
|
||||
---+-----------
|
||||
|(2,2),(0,0)
|
||||
|(3,3),(1,1)
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS four, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE b.f1 >= '(3.5,3.0,4.5,3.0)'::box;
|
||||
four|f1
|
||||
----+-----------------
|
||||
|(2,2,0,0)
|
||||
|(3,3,1,1)
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
|(3,3,3,3)
|
||||
four|f1
|
||||
----+-------------------
|
||||
|(2,2),(0,0)
|
||||
|(3,3),(1,1)
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
|(3,3),(3,3)
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE '(3.0,3.0,5.0,5.0)'::box >> b.f1;
|
||||
two|f1
|
||||
---+-----------------
|
||||
|(2,2,0,0)
|
||||
|(2.5,3.5,2.5,2.5)
|
||||
two|f1
|
||||
---+-------------------
|
||||
|(2,2),(0,0)
|
||||
|(2.5,3.5),(2.5,2.5)
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE b.f1 @ '(0,0,3,3)'::box;
|
||||
three|f1
|
||||
-----+---------
|
||||
|(2,2,0,0)
|
||||
|(3,3,1,1)
|
||||
|(3,3,3,3)
|
||||
three|f1
|
||||
-----+-----------
|
||||
|(2,2),(0,0)
|
||||
|(3,3),(1,1)
|
||||
|(3,3),(3,3)
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE '(0,0,3,3)'::box ~ b.f1;
|
||||
three|f1
|
||||
-----+---------
|
||||
|(2,2,0,0)
|
||||
|(3,3,1,1)
|
||||
|(3,3,3,3)
|
||||
three|f1
|
||||
-----+-----------
|
||||
|(2,2),(0,0)
|
||||
|(3,3),(1,1)
|
||||
|(3,3),(3,3)
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS one, b.f1
|
||||
FROM BOX_TBL b
|
||||
WHERE '(1,1,3,3)'::box ~= b.f1;
|
||||
one|f1
|
||||
---+---------
|
||||
|(3,3,1,1)
|
||||
one|f1
|
||||
---+-----------
|
||||
|(3,3),(1,1)
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT '' AS four, @@(b1.f1) AS p
|
||||
@ -162,8 +162,8 @@ four|p
|
||||
QUERY: SELECT '' AS one, b1.*, b2.*
|
||||
FROM BOX_TBL b1, BOX_TBL b2
|
||||
WHERE b1.f1 ~ b2.f1 and not b1.f1 ~= b2.f1;
|
||||
one|f1 |f1
|
||||
---+---------+---------
|
||||
|(3,3,1,1)|(3,3,3,3)
|
||||
one|f1 |f1
|
||||
---+-----------+-----------
|
||||
|(3,3),(1,1)|(3,3),(3,3)
|
||||
(1 row)
|
||||
|
||||
|
@ -7,7 +7,7 @@ WARN:pg_atoi: error in "34.5": can't parse ".5"
|
||||
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('32767');
|
||||
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('-32767');
|
||||
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('100000');
|
||||
WARN:pg_atoi: error reading "100000": Result too large
|
||||
WARN:pg_atoi: error reading "100000": Math result not representable
|
||||
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('asdf');
|
||||
WARN:pg_atoi: error in "asdf": can't parse "asdf"
|
||||
QUERY: SELECT '' AS five, INT2_TBL.*;
|
||||
|
@ -7,7 +7,7 @@ WARN:pg_atoi: error in "34.5": can't parse ".5"
|
||||
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('2147483647');
|
||||
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('-2147483647');
|
||||
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('1000000000000');
|
||||
WARN:pg_atoi: error reading "1000000000000": Result too large
|
||||
WARN:pg_atoi: error reading "1000000000000": Math result not representable
|
||||
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('asdf');
|
||||
WARN:pg_atoi: error in "asdf": can't parse "asdf"
|
||||
QUERY: SELECT '' AS five, INT4_TBL.*;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,7 @@ QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('1235/9873');
|
||||
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('987/-1234');
|
||||
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('123456');
|
||||
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('123456/123456');
|
||||
WARN:pg_atoi: error reading "123456": Result too large
|
||||
WARN:pg_atoi: error reading "123456": Math result not representable
|
||||
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('');
|
||||
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('asdfasd');
|
||||
WARN:pg_atoi: error in "asdfasd": can't parse "asdfasd"
|
||||
|
@ -4,7 +4,7 @@ QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('1235/9873');
|
||||
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('987/-1234');
|
||||
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('123456');
|
||||
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('123456/1234568901234567890');
|
||||
WARN:pg_atoi: error reading "1234568901234567890": Result too large
|
||||
WARN:pg_atoi: error reading "1234568901234567890": Math result not representable
|
||||
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('');
|
||||
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('asdfasd');
|
||||
WARN:pg_atoi: error in "asdfasd": can't parse "asdfasd"
|
||||
|
@ -7,20 +7,20 @@ QUERY: INSERT INTO POINT_TBL(f1) VALUES ('(-5.0,-12.0)');
|
||||
QUERY: INSERT INTO POINT_TBL(f1) VALUES ('asdfasdf');
|
||||
WARN:Bad point external representation 'asdfasdf'
|
||||
QUERY: INSERT INTO POINT_TBL(f1) VALUES ('10.0,10.0');
|
||||
WARN:Bad point external representation '10.0,10.0'
|
||||
QUERY: INSERT INTO POINT_TBL(f1) VALUES ('(10.0 10.0)');
|
||||
WARN:Bad point external representation '(10.0 10.0)'
|
||||
QUERY: INSERT INTO POINT_TBL(f1) VALUES ('(10.0,10.0');
|
||||
WARN:Bad point external representation '(10.0,10.0'
|
||||
QUERY: SELECT '' AS five, POINT_TBL.*;
|
||||
five|f1
|
||||
----+----------
|
||||
|(0,0)
|
||||
|(-10,0)
|
||||
|(-3,4)
|
||||
|(5.1,34.5)
|
||||
|(-5,-12)
|
||||
(5 rows)
|
||||
QUERY: SELECT '' AS six, POINT_TBL.*;
|
||||
six|f1
|
||||
---+----------
|
||||
|(0,0)
|
||||
|(-10,0)
|
||||
|(-3,4)
|
||||
|(5.1,34.5)
|
||||
|(-5,-12)
|
||||
|(10,10)
|
||||
(6 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, p.* FROM POINT_TBL p WHERE p.f1 !< '(0.0, 0.0)';
|
||||
three|f1
|
||||
@ -56,13 +56,14 @@ one|f1
|
||||
|(5.1,34.5)
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT '' AS two, p.* FROM POINT_TBL p
|
||||
QUERY: SELECT '' AS three, p.* FROM POINT_TBL p
|
||||
WHERE p.f1 ===> '(0,0,100,100)';
|
||||
two|f1
|
||||
---+----------
|
||||
|(0,0)
|
||||
|(5.1,34.5)
|
||||
(2 rows)
|
||||
three|f1
|
||||
-----+----------
|
||||
|(0,0)
|
||||
|(5.1,34.5)
|
||||
|(10,10)
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, p.* FROM POINT_TBL p
|
||||
WHERE not on_pb(p.f1,'(0,0,100,100)'::box);
|
||||
@ -81,100 +82,128 @@ two|f1
|
||||
|(-10,0)
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS five, p.f1, p.f1 <===> '(0,0)' AS dist FROM POINT_TBL p;
|
||||
five|f1 |dist
|
||||
----+----------+----
|
||||
|(0,0) | 0
|
||||
|(-10,0) | 10
|
||||
|(-3,4) | 5
|
||||
|(5.1,34.5)| 34
|
||||
|(-5,-12) | 13
|
||||
(5 rows)
|
||||
QUERY: SELECT '' AS six, p.f1, p.f1 <===> '(0,0)'::point AS dist FROM POINT_TBL p;
|
||||
six|f1 | dist
|
||||
---+----------+----------------
|
||||
|(0,0) | 0
|
||||
|(-10,0) | 10
|
||||
|(-3,4) | 5
|
||||
|(5.1,34.5)|34.8749193547455
|
||||
|(-5,-12) | 13
|
||||
|(10,10) | 14.142135623731
|
||||
(6 rows)
|
||||
|
||||
QUERY: SELECT '' AS twentyfive, p1.f1, p2.f1, p1.f1 <===> p2.f1 AS dist
|
||||
QUERY: SELECT '' AS thirtysix, p1.f1, p2.f1, p1.f1 <===> p2.f1 AS dist
|
||||
FROM POINT_TBL p1, POINT_TBL p2;
|
||||
twentyfive|f1 |f1 |dist
|
||||
----------+----------+----------+----
|
||||
|(0,0) |(0,0) | 0
|
||||
|(-10,0) |(0,0) | 10
|
||||
|(-3,4) |(0,0) | 5
|
||||
|(5.1,34.5)|(0,0) | 34
|
||||
|(-5,-12) |(0,0) | 13
|
||||
|(0,0) |(-10,0) | 10
|
||||
|(-10,0) |(-10,0) | 0
|
||||
|(-3,4) |(-10,0) | 8
|
||||
|(5.1,34.5)|(-10,0) | 37
|
||||
|(-5,-12) |(-10,0) | 13
|
||||
|(0,0) |(-3,4) | 5
|
||||
|(-10,0) |(-3,4) | 8
|
||||
|(-3,4) |(-3,4) | 0
|
||||
|(5.1,34.5)|(-3,4) | 31
|
||||
|(-5,-12) |(-3,4) | 16
|
||||
|(0,0) |(5.1,34.5)| 34
|
||||
|(-10,0) |(5.1,34.5)| 37
|
||||
|(-3,4) |(5.1,34.5)| 31
|
||||
|(5.1,34.5)|(5.1,34.5)| 0
|
||||
|(-5,-12) |(5.1,34.5)| 47
|
||||
|(0,0) |(-5,-12) | 13
|
||||
|(-10,0) |(-5,-12) | 13
|
||||
|(-3,4) |(-5,-12) | 16
|
||||
|(5.1,34.5)|(-5,-12) | 47
|
||||
|(-5,-12) |(-5,-12) | 0
|
||||
(25 rows)
|
||||
thirtysix|f1 |f1 | dist
|
||||
---------+----------+----------+----------------
|
||||
|(0,0) |(0,0) | 0
|
||||
|(-10,0) |(0,0) | 10
|
||||
|(-3,4) |(0,0) | 5
|
||||
|(5.1,34.5)|(0,0) |34.8749193547455
|
||||
|(-5,-12) |(0,0) | 13
|
||||
|(10,10) |(0,0) | 14.142135623731
|
||||
|(0,0) |(-10,0) | 10
|
||||
|(-10,0) |(-10,0) | 0
|
||||
|(-3,4) |(-10,0) |8.06225774829855
|
||||
|(5.1,34.5)|(-10,0) |37.6597928831267
|
||||
|(-5,-12) |(-10,0) | 13
|
||||
|(10,10) |(-10,0) |22.3606797749979
|
||||
|(0,0) |(-3,4) | 5
|
||||
|(-10,0) |(-3,4) |8.06225774829855
|
||||
|(-3,4) |(-3,4) | 0
|
||||
|(5.1,34.5)|(-3,4) |31.5572495632937
|
||||
|(-5,-12) |(-3,4) |16.1245154965971
|
||||
|(10,10) |(-3,4) |14.3178210632764
|
||||
|(0,0) |(5.1,34.5)|34.8749193547455
|
||||
|(-10,0) |(5.1,34.5)|37.6597928831267
|
||||
|(-3,4) |(5.1,34.5)|31.5572495632937
|
||||
|(5.1,34.5)|(5.1,34.5)| 0
|
||||
|(-5,-12) |(5.1,34.5)|47.5842410888311
|
||||
|(10,10) |(5.1,34.5)|24.9851956166046
|
||||
|(0,0) |(-5,-12) | 13
|
||||
|(-10,0) |(-5,-12) | 13
|
||||
|(-3,4) |(-5,-12) |16.1245154965971
|
||||
|(5.1,34.5)|(-5,-12) |47.5842410888311
|
||||
|(-5,-12) |(-5,-12) | 0
|
||||
|(10,10) |(-5,-12) |26.6270539113887
|
||||
|(0,0) |(10,10) | 14.142135623731
|
||||
|(-10,0) |(10,10) |22.3606797749979
|
||||
|(-3,4) |(10,10) |14.3178210632764
|
||||
|(5.1,34.5)|(10,10) |24.9851956166046
|
||||
|(-5,-12) |(10,10) |26.6270539113887
|
||||
|(10,10) |(10,10) | 0
|
||||
(36 rows)
|
||||
|
||||
QUERY: SELECT '' AS twenty, p1.f1, p2.f1
|
||||
QUERY: SELECT '' AS thirty, p1.f1, p2.f1
|
||||
FROM POINT_TBL p1, POINT_TBL p2
|
||||
WHERE (p1.f1 <===> p2.f1) > 3;
|
||||
twenty|f1 |f1
|
||||
thirty|f1 |f1
|
||||
------+----------+----------
|
||||
|(-10,0) |(0,0)
|
||||
|(-3,4) |(0,0)
|
||||
|(5.1,34.5)|(0,0)
|
||||
|(-5,-12) |(0,0)
|
||||
|(10,10) |(0,0)
|
||||
|(0,0) |(-10,0)
|
||||
|(-3,4) |(-10,0)
|
||||
|(5.1,34.5)|(-10,0)
|
||||
|(-5,-12) |(-10,0)
|
||||
|(10,10) |(-10,0)
|
||||
|(0,0) |(-3,4)
|
||||
|(-10,0) |(-3,4)
|
||||
|(5.1,34.5)|(-3,4)
|
||||
|(-5,-12) |(-3,4)
|
||||
|(10,10) |(-3,4)
|
||||
|(0,0) |(5.1,34.5)
|
||||
|(-10,0) |(5.1,34.5)
|
||||
|(-3,4) |(5.1,34.5)
|
||||
|(-5,-12) |(5.1,34.5)
|
||||
|(10,10) |(5.1,34.5)
|
||||
|(0,0) |(-5,-12)
|
||||
|(-10,0) |(-5,-12)
|
||||
|(-3,4) |(-5,-12)
|
||||
|(5.1,34.5)|(-5,-12)
|
||||
(20 rows)
|
||||
|(10,10) |(-5,-12)
|
||||
|(0,0) |(10,10)
|
||||
|(-10,0) |(10,10)
|
||||
|(-3,4) |(10,10)
|
||||
|(5.1,34.5)|(10,10)
|
||||
|(-5,-12) |(10,10)
|
||||
(30 rows)
|
||||
|
||||
QUERY: SELECT '' AS ten, p1.f1, p2.f1
|
||||
QUERY: SELECT '' AS fifteen, p1.f1, p2.f1
|
||||
FROM POINT_TBL p1, POINT_TBL p2
|
||||
WHERE (p1.f1 <===> p2.f1) > 3 and
|
||||
p1.f1 !< p2.f1;
|
||||
ten|f1 |f1
|
||||
---+--------+----------
|
||||
|(-10,0) |(0,0)
|
||||
|(-3,4) |(0,0)
|
||||
|(-5,-12)|(0,0)
|
||||
|(-10,0) |(-3,4)
|
||||
|(-5,-12)|(-3,4)
|
||||
|(0,0) |(5.1,34.5)
|
||||
|(-10,0) |(5.1,34.5)
|
||||
|(-3,4) |(5.1,34.5)
|
||||
|(-5,-12)|(5.1,34.5)
|
||||
|(-10,0) |(-5,-12)
|
||||
(10 rows)
|
||||
fifteen|f1 |f1
|
||||
-------+----------+----------
|
||||
|(-10,0) |(0,0)
|
||||
|(-3,4) |(0,0)
|
||||
|(-5,-12) |(0,0)
|
||||
|(-10,0) |(-3,4)
|
||||
|(-5,-12) |(-3,4)
|
||||
|(0,0) |(5.1,34.5)
|
||||
|(-10,0) |(5.1,34.5)
|
||||
|(-3,4) |(5.1,34.5)
|
||||
|(-5,-12) |(5.1,34.5)
|
||||
|(-10,0) |(-5,-12)
|
||||
|(0,0) |(10,10)
|
||||
|(-10,0) |(10,10)
|
||||
|(-3,4) |(10,10)
|
||||
|(5.1,34.5)|(10,10)
|
||||
|(-5,-12) |(10,10)
|
||||
(15 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, p1.f1, p2.f1
|
||||
QUERY: SELECT '' AS three, p1.f1, p2.f1
|
||||
FROM POINT_TBL p1, POINT_TBL p2
|
||||
WHERE (p1.f1 <===> p2.f1) > 3 and
|
||||
p1.f1 !< p2.f1 and
|
||||
p1.f1 !^ p2.f1;
|
||||
two|f1 |f1
|
||||
---+-------+--------
|
||||
|(-3,4) |(0,0)
|
||||
|(-10,0)|(-5,-12)
|
||||
(2 rows)
|
||||
three|f1 |f1
|
||||
-----+----------+--------
|
||||
|(-3,4) |(0,0)
|
||||
|(-10,0) |(-5,-12)
|
||||
|(5.1,34.5)|(10,10)
|
||||
(3 rows)
|
||||
|
||||
|
@ -14,51 +14,51 @@ WARN:Bad polygon external representation '(0,1,2,3'
|
||||
QUERY: INSERT INTO POLYGON_TBL(f1) VALUES ('asdf');
|
||||
WARN:Bad polygon external representation 'asdf'
|
||||
QUERY: SELECT '' AS four, POLYGON_TBL.*;
|
||||
four|f1
|
||||
----+-------------------------------------------------------------------------------
|
||||
|( 2, 2, 0, 0, 4, 0)
|
||||
|( 3, 3, 1, 1, 3, 0)
|
||||
|( 0, 0)
|
||||
|( 0, 0, 1, 1)
|
||||
four|f1
|
||||
----+-------------------
|
||||
|((2,0),(2,4),(0,0))
|
||||
|((3,1),(3,3),(1,0))
|
||||
|((0,0))
|
||||
|((0,1),(0,1))
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, p.*
|
||||
FROM POLYGON_TBL p
|
||||
WHERE p.f1 && '(3.0,3.0,1.0,1.0,3.0,0.0)';
|
||||
three|f1
|
||||
-----+-------------------------------------------------------------------------------
|
||||
|( 2, 2, 0, 0, 4, 0)
|
||||
|( 3, 3, 1, 1, 3, 0)
|
||||
|( 0, 0, 1, 1)
|
||||
(3 rows)
|
||||
three|f1
|
||||
-----+-------------------
|
||||
|((2,0),(2,4),(0,0))
|
||||
|((3,1),(3,3),(1,0))
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS four, p.*
|
||||
FROM POLYGON_TBL p
|
||||
WHERE p.f1 &< '(3.0,3.0,1.0,1.0,3.0,0.0)';
|
||||
four|f1
|
||||
----+-------------------------------------------------------------------------------
|
||||
|( 2, 2, 0, 0, 4, 0)
|
||||
|( 3, 3, 1, 1, 3, 0)
|
||||
|( 0, 0)
|
||||
|( 0, 0, 1, 1)
|
||||
four|f1
|
||||
----+-------------------
|
||||
|((2,0),(2,4),(0,0))
|
||||
|((3,1),(3,3),(1,0))
|
||||
|((0,0))
|
||||
|((0,1),(0,1))
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT '' AS two, p.*
|
||||
FROM POLYGON_TBL p
|
||||
WHERE p.f1 &> '(3.0,3.0,1.0,1.0,3.0,0.0)';
|
||||
two|f1
|
||||
---+-------------------------------------------------------------------------------
|
||||
|( 2, 2, 0, 0, 4, 0)
|
||||
|( 3, 3, 1, 1, 3, 0)
|
||||
two|f1
|
||||
---+-------------------
|
||||
|((2,0),(2,4),(0,0))
|
||||
|((3,1),(3,3),(1,0))
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS one, p.*
|
||||
FROM POLYGON_TBL p
|
||||
WHERE p.f1 << '(3.0,3.0,1.0,1.0,3.0,0.0)';
|
||||
one|f1
|
||||
---+---------------------------
|
||||
|( 0, 0)
|
||||
(1 row)
|
||||
one|f1
|
||||
---+-------------
|
||||
|((0,0))
|
||||
|((0,1),(0,1))
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT '' AS zero, p.*
|
||||
FROM POLYGON_TBL p
|
||||
@ -70,25 +70,25 @@ zero|f1
|
||||
QUERY: SELECT '' AS one, p.*
|
||||
FROM POLYGON_TBL p
|
||||
WHERE p.f1 @ '(3.0,3.0,1.0,1.0,3.0,0.0)';
|
||||
one|f1
|
||||
---+-------------------------------------------------------------------------------
|
||||
|( 3, 3, 1, 1, 3, 0)
|
||||
one|f1
|
||||
---+-------------------
|
||||
|((3,1),(3,3),(1,0))
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT '' AS one, p.*
|
||||
FROM POLYGON_TBL p
|
||||
WHERE p.f1 ~= '(3.0,3.0,1.0,1.0,3.0,0.0)';
|
||||
one|f1
|
||||
---+-------------------------------------------------------------------------------
|
||||
|( 3, 3, 1, 1, 3, 0)
|
||||
one|f1
|
||||
---+-------------------
|
||||
|((3,1),(3,3),(1,0))
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT '' AS one, p.*
|
||||
FROM POLYGON_TBL p
|
||||
WHERE p.f1 ~ '(3.0,3.0,1.0,1.0,3.0,0.0)';
|
||||
one|f1
|
||||
---+-------------------------------------------------------------------------------
|
||||
|( 3, 3, 1, 1, 3, 0)
|
||||
one|f1
|
||||
---+-------------------
|
||||
|((3,1),(3,3),(1,0))
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon << '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS false;
|
||||
|
@ -1,4 +1,3 @@
|
||||
=============== running regression queries ... =================
|
||||
QUERY: SELECT onek.* WHERE onek.unique1 < 10;
|
||||
unique1|unique2|two|four|ten|twenty|hundred|thousand|twothousand|fivethous|tenthous|odd|even|stringu1|stringu2|string4
|
||||
-------+-------+---+----+---+------+-------+--------+-----------+---------+--------+---+----+--------+--------+-------
|
||||
@ -176,7 +175,6 @@ unique1|string4
|
||||
QUERY: SELECT two, stringu1, ten, string4
|
||||
INTO TABLE temp
|
||||
FROM onek;
|
||||
|
||||
QUERY: SELECT p.name, p.age FROM person* p;
|
||||
name |age
|
||||
-------+---
|
||||
|
@ -11,26 +11,26 @@ QUERY: INSERT INTO TINTERVAL_TBL (f1)
|
||||
VALUES ('["Feb 15 1990 12:15:03" "current"]');
|
||||
QUERY: INSERT INTO TINTERVAL_TBL (f1)
|
||||
VALUES ('["bad time specifications" ""]');
|
||||
WARN:Bad abstime external representation 'bad time specifications'
|
||||
QUERY: INSERT INTO TINTERVAL_TBL (f1)
|
||||
VALUES ('["" "infinity"]');
|
||||
WARN:Bad abstime external representation ''
|
||||
QUERY: SELECT '' AS seven, TINTERVAL_TBL.*;
|
||||
seven|f1
|
||||
-----+---------------------------------------------------------------
|
||||
|['-infinity' 'infinity']
|
||||
|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['Thu Feb 15 12:15:03 1990 PST' 'current']
|
||||
|['Undefined Range']
|
||||
|['Undefined Range']
|
||||
(7 rows)
|
||||
|["-infinity" "infinity"]
|
||||
|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["Thu Feb 15 12:15:03 1990 PST" "current"]
|
||||
(5 rows)
|
||||
|
||||
QUERY: SELECT '' AS one, t.*
|
||||
FROM TINTERVAL_TBL t
|
||||
WHERE t.f1 #= '@ 1 months';
|
||||
one|f1
|
||||
---+---------------------------------------------------------------
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT '' AS three, t.*
|
||||
@ -38,9 +38,9 @@ QUERY: SELECT '' AS three, t.*
|
||||
WHERE t.f1 #<> '@ 1 months';
|
||||
three|f1
|
||||
-----+---------------------------------------------------------------
|
||||
|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['Thu Feb 15 12:15:03 1990 PST' 'current']
|
||||
|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["Thu Feb 15 12:15:03 1990 PST" "current"]
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS zero, t.*
|
||||
@ -55,7 +55,7 @@ QUERY: SELECT '' AS one, t.*
|
||||
WHERE t.f1 #<= '@ 1 month';
|
||||
one|f1
|
||||
---+---------------------------------------------------------------
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT '' AS three, t.*
|
||||
@ -63,9 +63,9 @@ QUERY: SELECT '' AS three, t.*
|
||||
WHERE t.f1 #> '@ 1 year';
|
||||
three|f1
|
||||
-----+---------------------------------------------------------------
|
||||
|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['Thu Feb 15 12:15:03 1990 PST' 'current']
|
||||
|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["Thu Feb 15 12:15:03 1990 PST" "current"]
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, t.*
|
||||
@ -73,79 +73,77 @@ QUERY: SELECT '' AS three, t.*
|
||||
WHERE t.f1 #>= '@ 3 years';
|
||||
three|f1
|
||||
-----+---------------------------------------------------------------
|
||||
|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['Thu Feb 15 12:15:03 1990 PST' 'current']
|
||||
|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["Thu Feb 15 12:15:03 1990 PST" "current"]
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, t1.*
|
||||
FROM TINTERVAL_TBL t1
|
||||
WHERE t1.f1 &&
|
||||
'["Aug 15 14:23:19 1983" "Sep 16 14:23:19 1983"]'::tinterval;
|
||||
'["Aug 15 14:23:19 1983" "Sep 16 14:23:19 1983"]'::tinterval;
|
||||
three|f1
|
||||
-----+---------------------------------------------------------------
|
||||
|['-infinity' 'infinity']
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|["-infinity" "infinity"]
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS five, t1.*, t2.*
|
||||
FROM TINTERVAL_TBL t1, TINTERVAL_TBL t2
|
||||
WHERE t1.f1 && t2.f1 and
|
||||
t1.f1 = t2.f1;
|
||||
t1.f1 = t2.f1;
|
||||
five|f1 |f1
|
||||
----+---------------------------------------------------------------+---------------------------------------------------------------
|
||||
|['-infinity' 'infinity'] |['-infinity' 'infinity']
|
||||
|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT'] |['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['Thu Feb 15 12:15:03 1990 PST' 'current'] |['Thu Feb 15 12:15:03 1990 PST' 'current']
|
||||
|["-infinity" "infinity"] |["-infinity" "infinity"]
|
||||
|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"] |["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["Thu Feb 15 12:15:03 1990 PST" "current"] |["Thu Feb 15 12:15:03 1990 PST" "current"]
|
||||
(5 rows)
|
||||
|
||||
QUERY: SELECT '' AS fourteen, t1.*, t2.*
|
||||
FROM TINTERVAL_TBL t1, TINTERVAL_TBL t2
|
||||
WHERE t1.f1 && t2.f1 and
|
||||
not t1.f1 = t2.f1;
|
||||
not t1.f1 = t2.f1;
|
||||
fourteen|f1 |f1
|
||||
--------+---------------------------------------------------------------+---------------------------------------------------------------
|
||||
|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']|['-infinity' 'infinity']
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']|['-infinity' 'infinity']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT'] |['-infinity' 'infinity']
|
||||
|['Thu Feb 15 12:15:03 1990 PST' 'current'] |['-infinity' 'infinity']
|
||||
|['-infinity' 'infinity'] |['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT'] |['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']
|
||||
|['-infinity' 'infinity'] |['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT'] |['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|['-infinity' 'infinity'] |['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']|['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']|['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['Thu Feb 15 12:15:03 1990 PST' 'current'] |['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|['-infinity' 'infinity'] |['Thu Feb 15 12:15:03 1990 PST' 'current']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT'] |['Thu Feb 15 12:15:03 1990 PST' 'current']
|
||||
|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]|["-infinity" "infinity"]
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]|["-infinity" "infinity"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"] |["-infinity" "infinity"]
|
||||
|["Thu Feb 15 12:15:03 1990 PST" "current"] |["-infinity" "infinity"]
|
||||
|["-infinity" "infinity"] |["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"] |["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]
|
||||
|["-infinity" "infinity"] |["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"] |["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
|["-infinity" "infinity"] |["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]|["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]|["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["Thu Feb 15 12:15:03 1990 PST" "current"] |["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
|["-infinity" "infinity"] |["Thu Feb 15 12:15:03 1990 PST" "current"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"] |["Thu Feb 15 12:15:03 1990 PST" "current"]
|
||||
(14 rows)
|
||||
|
||||
QUERY: SELECT '' AS five, t1.*
|
||||
FROM TINTERVAL_TBL t1
|
||||
WHERE not t1.f1 <<
|
||||
'["Aug 15 14:23:19 1980" "Sep 16 14:23:19 1990"]'::tinterval;
|
||||
'["Aug 15 14:23:19 1980" "Sep 16 14:23:19 1990"]'::tinterval;
|
||||
five|f1
|
||||
----+---------------------------------------------------------------
|
||||
|['Mon May 10 23:59:12 1943 PWT' 'Sun Jan 14 03:14:21 1973 PST']
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|['Thu Feb 15 12:15:03 1990 PST' 'current']
|
||||
|['Undefined Range']
|
||||
|['Undefined Range']
|
||||
(5 rows)
|
||||
|["Mon May 10 23:59:12 1943 PST" "Sun Jan 14 03:14:21 1973 PST"]
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
|["Thu Feb 15 12:15:03 1990 PST" "current"]
|
||||
(3 rows)
|
||||
|
||||
QUERY: SELECT '' AS three, t1.*
|
||||
FROM TINTERVAL_TBL t1
|
||||
WHERE t1.f1 &&
|
||||
('Aug 15 14:23:19 1983'::abstime <#>
|
||||
'Sep 16 14:23:19 1983'::abstime);
|
||||
('Aug 15 14:23:19 1983'::abstime <#>
|
||||
'Sep 16 14:23:19 1983'::abstime);
|
||||
three|f1
|
||||
-----+---------------------------------------------------------------
|
||||
|['-infinity' 'infinity']
|
||||
|['Sun Sep 04 23:59:12 1983 PDT' 'Tue Oct 04 23:59:12 1983 PDT']
|
||||
|['epoch' 'Mon May 01 00:30:30 1995 PDT']
|
||||
|["-infinity" "infinity"]
|
||||
|["Sun Sep 04 23:59:12 1983 PDT" "Tue Oct 04 23:59:12 1983 PDT"]
|
||||
|["epoch" "Mon May 01 00:30:30 1995 PDT"]
|
||||
(3 rows)
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
#
|
||||
#
|
||||
# IDENTIFICATION
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/input/Attic/Makefile,v 1.3 1997/04/26 05:44:38 scrappy Exp $
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/input/Attic/Makefile,v 1.4 1997/04/27 02:58:15 scrappy Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -20,7 +20,8 @@ include ../../../Makefile.global
|
||||
# INFILES is the files the regression test uses for input.
|
||||
INFILES= copy.sql \
|
||||
create_function_1.sql \
|
||||
create_function_2.sql
|
||||
create_function_2.sql \
|
||||
misc.sql
|
||||
|
||||
all: $(INFILES)
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
QUERY: CREATE FUNCTION circle_in(opaque)
|
||||
RETURNS circle
|
||||
QUERY: CREATE FUNCTION widget_in(opaque)
|
||||
RETURNS widget
|
||||
AS '_CWD_/regress_DLSUFFIX_'
|
||||
LANGUAGE 'c';
|
||||
NOTICE:ProcedureCreate: type 'circle' is not yet defined
|
||||
QUERY: CREATE FUNCTION circle_out(opaque)
|
||||
NOTICE:ProcedureCreate: type 'widget' is not yet defined
|
||||
QUERY: CREATE FUNCTION widget_out(opaque)
|
||||
RETURNS opaque
|
||||
AS '_CWD_/regress_DLSUFFIX_'
|
||||
LANGUAGE 'c';
|
||||
|
@ -17,7 +17,7 @@ QUERY: CREATE FUNCTION user_relns()
|
||||
where relname !~ ''pg_.*'' and
|
||||
relkind <> ''i'' '
|
||||
LANGUAGE 'sql';
|
||||
QUERY: CREATE FUNCTION pt_in_circle(point, circle)
|
||||
QUERY: CREATE FUNCTION pt_in_widget(point, widget)
|
||||
RETURNS int4
|
||||
AS '_CWD_/regress_DLSUFFIX_'
|
||||
LANGUAGE 'c';
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.7 1997/04/26 05:49:39 scrappy Exp $
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.8 1997/04/27 02:56:18 scrappy Exp $
|
||||
#
|
||||
if [ -d ./obj ]; then
|
||||
cd ./obj
|
||||
@ -10,26 +10,27 @@ TZ="PST8PDT7,M04.01.00,M10.05.03"; export TZ
|
||||
#FRONTEND=monitor
|
||||
FRONTEND="psql -n -e -q"
|
||||
|
||||
echo =============== Notes... =================
|
||||
echo "You must be already running the postmaster"
|
||||
echo " for the regression tests to succeed."
|
||||
echo "The time zone might need to be set to PST/PDT"
|
||||
echo " for the date and time data types to pass the"
|
||||
echo " regression tests; to do this type"
|
||||
echo "=============== Notes... ================="
|
||||
echo "postmaster must already be running for the regression tests to succeed."
|
||||
echo "The non-GEQ optimizer will give more consistant results than will the"
|
||||
echo " GEQ optimizer. See the regression testing README for more details."
|
||||
echo "The time zone might need to be set to PST/PDT for the date and time data"
|
||||
echo " types to pass the regression tests; to do this type"
|
||||
echo " setenv TZ $TZ"
|
||||
echo " before starting the postmaster."
|
||||
echo ""
|
||||
|
||||
echo =============== destroying old regression database... =================
|
||||
echo "=============== destroying old regression database... ================="
|
||||
destroydb regression
|
||||
|
||||
echo =============== creating new regression database... =================
|
||||
echo "=============== creating new regression database... ================="
|
||||
createdb regression
|
||||
if [ $? -ne 0 ]; then
|
||||
echo createdb failed
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo =============== running regression queries ... =================
|
||||
echo "=============== running regression queries... ================="
|
||||
for i in `cat sql/tests`
|
||||
do
|
||||
echo -n "${i} .. "
|
||||
@ -43,7 +44,7 @@ do
|
||||
done
|
||||
exit
|
||||
|
||||
echo =============== running error queries ... =================
|
||||
echo "=============== running error queries ... ================="
|
||||
$FRONTEND regression < errors.sql
|
||||
# this will generate error result code
|
||||
|
||||
@ -54,7 +55,7 @@ if test "$debug" -eq 1
|
||||
then
|
||||
echo Skipping clearing and deletion of the regression database
|
||||
else
|
||||
echo =============== clearing regression database... =================
|
||||
echo "=============== clearing regression database... ================="
|
||||
$FRONTEND regression < destroy.sql
|
||||
if [ $? -ne 0 ]; then
|
||||
echo the destroy script has an error
|
||||
@ -62,7 +63,7 @@ if [ $? -ne 0 ]; then
|
||||
fi
|
||||
|
||||
exit 0
|
||||
echo =============== destroying regression database... =================
|
||||
echo "=============== destroying regression database... ================="
|
||||
destroydb regression
|
||||
if [ $? -ne 0 ]; then
|
||||
echo destroydb failed
|
||||
|
@ -7,11 +7,11 @@
|
||||
#
|
||||
#
|
||||
# IDENTIFICATION
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/sql/Attic/Makefile,v 1.1 1997/04/26 05:45:48 scrappy Exp $
|
||||
# $Header: /cvsroot/pgsql/src/test/regress/sql/Attic/Makefile,v 1.2 1997/04/27 02:58:26 scrappy Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
CLFILES= create_function_1.sql create_function_2.sql copy.sql
|
||||
CLFILES= create_function_1.sql create_function_2.sql copy.sql misc.sql
|
||||
|
||||
clean:
|
||||
rm -f $(CLFILES)
|
||||
|
@ -3,7 +3,7 @@
|
||||
--
|
||||
-- timezones may vary based not only on location but the operating
|
||||
-- system. the main correctness issue is that the OS may not get
|
||||
-- DST right for times prior to unix epoch (jan 1 1970).
|
||||
-- daylight savings time right for times prior to Unix epoch (jan 1 1970).
|
||||
--
|
||||
|
||||
CREATE TABLE ABSTIME_TBL (f1 abstime);
|
||||
@ -37,51 +37,51 @@ INSERT INTO ABSTIME_TBL (f1) VALUES ('Jun 10, 1843');
|
||||
|
||||
-- test abstime operators
|
||||
|
||||
SELECT '' AS eleven, ABSTIME_TBL.*;
|
||||
SELECT '' AS eight, ABSTIME_TBL.*;
|
||||
|
||||
SELECT '' AS eight, ABSTIME_TBL.*
|
||||
SELECT '' AS six, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 < 'Jun 30, 2001'::abstime;
|
||||
|
||||
SELECT '' AS eight, ABSTIME_TBL.*
|
||||
SELECT '' AS six, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 > '-infinity'::abstime;
|
||||
|
||||
SELECT '' AS eight, ABSTIME_TBL.*
|
||||
SELECT '' AS six, ABSTIME_TBL.*
|
||||
WHERE 'May 10, 1943 23:59:12'::abstime <> ABSTIME_TBL.f1;
|
||||
|
||||
SELECT '' AS one, ABSTIME_TBL.*
|
||||
WHERE 'current'::abstime = ABSTIME_TBL.f1;
|
||||
|
||||
SELECT '' AS five, ABSTIME_TBL.*
|
||||
SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE 'epoch'::abstime >= ABSTIME_TBL.f1;
|
||||
|
||||
SELECT '' AS six, ABSTIME_TBL.*
|
||||
SELECT '' AS four, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 <= 'Jan 14, 1973 03:14:21'::abstime;
|
||||
|
||||
SELECT '' AS six, ABSTIME_TBL.*
|
||||
SELECT '' AS four, ABSTIME_TBL.*
|
||||
WHERE ABSTIME_TBL.f1 <?>
|
||||
'["Apr 1 1945 00:00:00" "Dec 30 1999 23:00:00"]'::tinterval;
|
||||
|
||||
-- these four queries should return the same answer
|
||||
-- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and
|
||||
-- therefore, should not show up in the results.
|
||||
SELECT '' AS five, ABSTIME_TBL.*
|
||||
SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 + '@ 3 year'::reltime) -- +3 years
|
||||
< 'Jan 14 14:00:00 1977'::abstime;
|
||||
|
||||
SELECT '' AS five, ABSTIME_TBL.*
|
||||
SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 + '@ 3 year ago'::reltime) -- -3 years
|
||||
< 'Jan 14 14:00:00 1971'::abstime;
|
||||
|
||||
SELECT '' AS five, ABSTIME_TBL.*
|
||||
SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 - '@ 3 year'::reltime) -- -(+3) years
|
||||
< 'Jan 14 14:00:00 1971'::abstime;
|
||||
|
||||
SELECT '' AS five, ABSTIME_TBL.*
|
||||
SELECT '' AS three, ABSTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 - '@ 3 year ago'::reltime) -- -(-3) years
|
||||
< 'Jan 14 14:00:00 1977'::abstime;
|
||||
|
||||
|
||||
SELECT '' AS twenty, ABSTIME_TBL.*, RELTIME_TBL.*
|
||||
SELECT '' AS ten, ABSTIME_TBL.*, RELTIME_TBL.*
|
||||
WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1)
|
||||
< 'Jan 14 14:00:00 1971'::abstime;
|
||||
|
||||
|
@ -22,7 +22,7 @@ INSERT INTO POINT_TBL(f1) VALUES ('(10.0 10.0)');
|
||||
INSERT INTO POINT_TBL(f1) VALUES ('(10.0,10.0');
|
||||
|
||||
|
||||
SELECT '' AS five, POINT_TBL.*;
|
||||
SELECT '' AS six, POINT_TBL.*;
|
||||
|
||||
-- left of
|
||||
SELECT '' AS three, p.* FROM POINT_TBL p WHERE p.f1 !< '(0.0, 0.0)';
|
||||
@ -40,7 +40,7 @@ SELECT '' AS one, p.* FROM POINT_TBL p WHERE p.f1 !| '(0.0, 0.0)';
|
||||
SELECT '' AS one, p.* FROM POINT_TBL p WHERE p.f1 =|= '(5.1, 34.5)';
|
||||
|
||||
-- point in box
|
||||
SELECT '' AS two, p.* FROM POINT_TBL p
|
||||
SELECT '' AS three, p.* FROM POINT_TBL p
|
||||
WHERE p.f1 ===> '(0,0,100,100)';
|
||||
|
||||
SELECT '' AS three, p.* FROM POINT_TBL p
|
||||
@ -49,24 +49,23 @@ SELECT '' AS three, p.* FROM POINT_TBL p
|
||||
SELECT '' AS two, p.* FROM POINT_TBL p
|
||||
WHERE on_ppath(p.f1,'(0,3,0,0,-10,0,-10,10)'::path);
|
||||
|
||||
SELECT '' AS five, p.f1, p.f1 <===> '(0,0)' AS dist FROM POINT_TBL p;
|
||||
SELECT '' AS six, p.f1, p.f1 <===> '(0,0)'::point AS dist FROM POINT_TBL p;
|
||||
|
||||
SELECT '' AS twentyfive, p1.f1, p2.f1, p1.f1 <===> p2.f1 AS dist
|
||||
SELECT '' AS thirtysix, p1.f1, p2.f1, p1.f1 <===> p2.f1 AS dist
|
||||
FROM POINT_TBL p1, POINT_TBL p2;
|
||||
|
||||
SELECT '' AS twenty, p1.f1, p2.f1
|
||||
SELECT '' AS thirty, p1.f1, p2.f1
|
||||
FROM POINT_TBL p1, POINT_TBL p2
|
||||
WHERE (p1.f1 <===> p2.f1) > 3;
|
||||
|
||||
SELECT '' AS ten, p1.f1, p2.f1
|
||||
SELECT '' AS fifteen, p1.f1, p2.f1
|
||||
FROM POINT_TBL p1, POINT_TBL p2
|
||||
WHERE (p1.f1 <===> p2.f1) > 3 and
|
||||
p1.f1 !< p2.f1;
|
||||
|
||||
SELECT '' AS two, p1.f1, p2.f1
|
||||
SELECT '' AS three, p1.f1, p2.f1
|
||||
FROM POINT_TBL p1, POINT_TBL p2
|
||||
WHERE (p1.f1 <===> p2.f1) > 3 and
|
||||
p1.f1 !< p2.f1 and
|
||||
p1.f1 !^ p2.f1;
|
||||
|
||||
|
||||
|
@ -9,6 +9,8 @@ create_operator
|
||||
create_view
|
||||
create_index
|
||||
sanity_check
|
||||
timespan
|
||||
datetime
|
||||
reltime
|
||||
abstime
|
||||
boolean
|
||||
@ -34,4 +36,5 @@ select
|
||||
select_into
|
||||
select_distinct
|
||||
select_distinct_on
|
||||
errors
|
||||
misc
|
||||
|
Loading…
x
Reference in New Issue
Block a user