Commit Graph

51 Commits

Author SHA1 Message Date
Peter Eisentraut 1b42ad7e59 Initial version of the SQL information schema 2002-12-14 00:24:35 +00:00
Tom Lane 6c1d4662af Finish implementation of hashed aggregation. Add enable_hashagg GUC
parameter to allow it to be forced off for comparison purposes.
Add ORDER BY clauses to a bunch of regression test queries that will
otherwise produce randomly-ordered output in the new regime.
2002-11-21 00:42:20 +00:00
Tom Lane b663f3443b Add a bunch of pseudo-types to replace the behavior formerly associated
with OPAQUE, as per recent pghackers discussion.  I still want to do some
more work on the 'cstring' pseudo-type, but I'm going to commit the bulk
of the changes now before the tree starts shifting under me ...
2002-08-22 00:01:51 +00:00
Peter Eisentraut d60f10b0e7 Add optional "validator" function to languages that can validate the
function body (and other properties) as a function in the language
is created.  This generalizes ad hoc code that already existed for
the built-in languages.

The validation now happens after the pg_proc tuple of the new function
is created, so it is possible to define recursive SQL functions.

Add some regression test cases that cover bogus function definition
attempts.
2002-05-22 17:21:02 +00:00
Tom Lane 95ef6a3448 First phase of SCHEMA changes, concentrating on fixing the grammar and
the parsetree representation.  As yet we don't *do* anything with schema
names, just drop 'em on the floor; but you can enter schema-compatible
command syntax, and there's even a primitive CREATE SCHEMA command.
No doc updates yet, except to note that you can now extract a field
from a function-returning-row's result with (foo(...)).fieldname.
2002-03-21 16:02:16 +00:00
Tom Lane 997439f59e Add ORDER BY to a couple of test queries whose output ordering is not
as predictable as it used to be, due to recycling of free space with
new VACUUM.
2001-07-15 20:16:17 +00:00
Bruce Momjian 28d2420eef This patch adds support for %TYPE in CREATE FUNCTION argument and return
types.  This version has an elog() to remind the user the type
resolution is not dynamic.

Ian Lance Taylor
2001-06-04 23:27:23 +00:00
Tom Lane 5bb2300b59 Revise handling of oldstyle/newstyle functions per recent discussions
in pghackers list.  Support for oldstyle internal functions is gone
(no longer needed, since conversion is complete) and pg_language entry
'internal' now implies newstyle call convention.  pg_language entry
'newC' is gone; both old and newstyle dynamically loaded C functions
are now called language 'C'.  A newstyle function must be identified
by an associated info routine.  See src/backend/utils/fmgr/README.
2000-11-20 20:36:57 +00:00
Peter Eisentraut 7e77668e7a Make regression tests work with VPATH builds. 2000-10-27 20:00:22 +00:00
Peter Eisentraut 6f64c2e54a New unified regression test driver, test/regress makefile cleanup,
add "check" and "installcheck" targets, straighten out make variable naming
of host_os, host_cpu, etc.
2000-09-29 17:17:41 +00:00
Peter Eisentraut 424f0edcb8 Fix relative path references so that make knowns which dependencies refer
to one another. Sort out builddir vs srcdir variable namings. Remove some
now obsoleted make variables.
2000-08-31 16:12:35 +00:00
Tom Lane 3a9a74a09d Convert all remaining geometric operators to new fmgr style. This
allows fixing problems with operators that expected to be able to
return a NULL, such as the '#' line-segment-intersection operator
that tried to return NULL when the two segments don't intersect.
(See, eg, bug report from 1-Nov-99 on pghackers.)  Fix some other
bugs in passing, such as backwards comparison in path_distance().
2000-07-30 20:44:02 +00:00
Tom Lane f2d1205322 Another batch of fmgr updates. I think I have gotten all old-style
functions that take pass-by-value datatypes.  Should be ready for
port testing ...
2000-06-13 07:35:40 +00:00
Tom Lane 2ae20ef98a Update regression tests for ONLY and other recent changes. 2000-06-10 05:19:26 +00:00
Tom Lane 48165ec226 Latest round of fmgr updates. All functions with bool,char, or int2
inputs have been converted to newstyle.  This should go a long way towards
fixing our portability problems with platforms where char and short
parameters are passed differently from int-width parameters.  Still
more to do for the Alpha port however.
2000-06-05 07:29:25 +00:00
Tom Lane 18952f6744 Second round of fmgr changes: triggers are now invoked in new style,
CurrentTriggerData is history.
2000-05-29 01:59:17 +00:00
Tom Lane 6d1efd76fb Fix handling of NULL constraint conditions: per SQL92 spec, a NULL result
from a constraint condition does not violate the constraint (cf. discussion
on pghackers 12/9/99).  Implemented by adding a parameter to ExecQual,
specifying whether to return TRUE or FALSE when the qual result is
really NULL in three-valued boolean logic.  Currently, ExecRelCheck is
the only caller that asks for TRUE, but if we find any other places that
have the wrong response to NULL, it'll be easy to fix them.
2000-01-19 23:55:03 +00:00
Tom Lane a4e1304ed1 Add check that inherited constraints and defaults work. 2000-01-16 19:57:48 +00:00
Tom Lane 4f9d74f98b install_plpgsql is no longer a regress test (it's done via createlang);
remove the no-longer-used files.
2000-01-09 19:34:43 +00:00
Thomas G. Lockhart d1e6368816 Clean up header for uniform appearance throughout tests. 2000-01-06 06:41:55 +00:00
Thomas G. Lockhart c0cab6f4fa Update format to add uniform headers on files. 2000-01-05 17:32:29 +00:00
Tom Lane 79f39c4d34 My latest fixes to gram.y cause CREATE TABLE t (f1 bool default 1 < 2)
to be accepted, but constraints regress test was expecting it to fail.
1999-11-20 21:41:31 +00:00
Tom Lane eabc714a91 Reimplement parsing and storage of default expressions and constraint
expressions in CREATE TABLE.  There is no longer an emasculated expression
syntax for these things; it's full a_expr for constraints, and b_expr
for defaults (unfortunately the fact that NOT NULL is a part of the
column constraint syntax causes a shift/reduce conflict if you try a_expr.
Oh well --- at least parenthesized boolean expressions work now).  Also,
stored expression for a column default is not pre-coerced to the column
type; we rely on transformInsertStatement to do that when the default is
actually used.  This means "f1 datetime default 'now'" behaves the way
people usually expect it to.
BTW, all the support code is now there to implement ALTER TABLE ADD
CONSTRAINT and ALTER TABLE ADD COLUMN with a default value.  I didn't
actually teach ALTER TABLE to call it, but it wouldn't be much work.
1999-10-03 23:55:40 +00:00
Tom Lane dfaf9fbcb4 Add a regression test case to catch breakage of GROUP BY
and aggregate functions in queries that use inheritance.
1999-06-06 17:41:01 +00:00
Bruce Momjian 4390b0bfbe Add TEMP tables/indexes. Add COPY pfree(). Other cleanups. 1999-02-02 03:45:56 +00:00
Marc G. Fournier 2074b5f1ad failed to add some of Jan's files :( 1998-10-01 03:38:45 +00:00
Marc G. Fournier 44e01bf992 From: Jan Wieck <jwieck@debis.com>
here  is  the  patch  that  includes  PL/pgSQL into the build
    (currently with make errors ignored) and  adds  a  regression
    test for it. A clean build and regression ran fine here.

    Can you please apply it?

    The  tar  should  be  extracted  in  /usr/local/src/pgsql and
    creates the following files:

    src/pl/Makefile
            called by toplevel GNUmakefile and for now only calls
            src/pl/plpgsql/Makefile

    src/pl/plpgsql/Makefile
            calls  src/pl/plpgsql/src/Makefile  (here the call to
            make ignores build errors  -  this  must  be  changed
            later for the final release).

    src/test/regress/input/install_plpgsql.source
            SQL script installing PL/pgSQL language in regression
            database. Will be modified by  .../input/Makefile  to
            point  to  correct  PGLIB  directory where plpgsql.so
            gets installed.

    src/test/regress/output/install_plpgsql.source
            expected output for installation script.

    src/test/regress/sql/plpgsql.sql
            the main regression  test.  It  tests  functions  and
            triggers written in PL/pgSQL including views that use
            supportfunctions in this language.

    src/test/regress/expected/plpgsql.out
            the expected output for the above regression test.

    make_plpgsql.diff
            patch that adds some lines to

            src/GNUmakefile.in
            src/test/regress/expected/Makefile
            src/test/regress/input/Makefile
            src/test/regress/output/Makefile
            src/test/regress/sql/Makefile
            src/test/regress/sql/tests
1998-09-29 12:43:05 +00:00
Bruce Momjian 0d203b745d Re-apply Darren's char2-16 removal code. 1998-04-26 04:12:15 +00:00
Bruce Momjian db21523314 Back out char2-char16 removal. Add later. 1998-04-07 18:14:38 +00:00
Bruce Momjian 57b5966405 The following uuencoded, gzip'd file will ...
1. Remove the char2, char4, char8 and char16 types from postgresql
2. Change references of char16 to name in the regression tests.
3. Rename the char16.sql regression test to name.sql.  4. Modify
the regression test scripts and outputs to match up.

Might require new regression.{SYSTEM} files...

Darren King
1998-03-30 17:28:21 +00:00
Thomas G. Lockhart 733f2a43cc Change constraint syntax to SQL92 style.
Add tests for PRIMARY KEY and UNIQUE clauses.
1997-12-05 00:01:22 +00:00
Vadim B. Mikheev fcfb4d1df6 Changes due to fixed DEFAULT behaviour. 1997-10-17 09:59:09 +00:00
Vadim B. Mikheev c13454edc2 Timetravel tests. 1997-09-24 08:36:47 +00:00
Thomas G. Lockhart b8967bfeec Add explicit, separate test sections for DEFAULT and CHECK.
Use conventions common to other regression test input files.
Leave non-temporary files at end of test.
1997-09-16 16:15:52 +00:00
Vadim B. Mikheev ba247bd649 Tests for spi/triggers 1997-09-11 09:14:12 +00:00
Vadim B. Mikheev 174bc0c1e7 Tests for CHECK/DEFAULT 1997-08-28 04:49:34 +00:00
Vadim B. Mikheev 3e1933bc05 There is no more _CWD_ tag in sources... 1997-05-05 06:53:36 +00:00
Thomas G. Lockhart 9cdc80899a Fix path name templates. 1997-04-27 19:27:34 +00:00
Marc G. Fournier a426ff583d There, I'll leave this alone until Thomas catchs up *grin* 1997-04-27 18:13:54 +00:00
Marc G. Fournier 832c0a4ff1 split out a bunch more tests from misc.source so that the tester knows
what's being tested :)
1997-04-27 17:40:13 +00:00
Marc G. Fournier 557e0ed206 Alot of regression test fixes, mainly to compensate for moving
the DROP TABLE calls from the destroy.sql file to the 'types' .sql files,
so that they are self-contained

btree_index, hash_index and misc all fail as there seems to be missing
a 'misc.out' expected file...have asked Thomas for one...
1997-04-27 07:45:49 +00:00
Marc G. Fournier a475d4d89c Get first four tests to pass:
=============== destroying old regression database... =================
=============== creating new regression database...   =================
=============== running regression queries...         =================
create_function_1 .. ok
create_type .. ok
create_table .. ok
create_function_2 .. ok
1997-04-27 04:50:06 +00:00
Marc G. Fournier b29c2da7dd Trying to continue breaking down the large files into smaller tests so that
debugging is a little (well, alot!) easier
1997-04-27 04:04:31 +00:00
Marc G. Fournier b63e57bea8 *shrug* I don't know anymore... 1997-04-27 03:57:34 +00:00
Marc G. Fournier df77071773 Massive regression test patches from Thomas *woo hoo!* 1997-04-27 02:58:38 +00:00
Marc G. Fournier ba1a58919c Clean out/up some files that are causing me great headaches since I didn't
do this completely last time and Thomas is creating patches on files that
aren't supposed to exist :(
1997-04-26 05:45:48 +00:00
Marc G. Fournier 87fffc4342 Various bug fixes based on a bug report submitted by
Doug Neuhauser <doug@seismo.berkeley.edu> on April 15th
1997-04-24 20:02:02 +00:00
Marc G. Fournier 9e2a87b62d Major patch from Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
OK, here are a passel of patches for the geometric data types.
These add a "circle" data type, new operators and functions
for the existing data types, and change the default formats
for some of the existing types to make them consistant with
each other. Current formatting conventions (e.g. compatible
with v6.0 to allow dump/reload) are supported, but the new
conventions should be an improvement and we can eventually
drop the old conventions entirely.

For example, there are two kinds of paths (connected line segments),
open and closed, and the old format was

'(1,2,1,2,3,4)' for a closed path with two points (1,2) and (3,4)
'(0,2,1,2,3,4)' for an open path with two points (1,2) and (3,4)

Pretty arcane, huh? The new format for paths is

'((1,2),(3,4))' for a closed path with two points (1,2) and (3,4)
'[(1,2),(3,4)]' for an open path with two points (1,2) and (3,4)

For polygons, the old convention is

'(0,4,2,0,4,3)' for a triangle with points at (0,0),(4,4), and (2,3)

and the new convention is

'((0,0),(4,4),(2,3))' for a triangle with points at (0,0),(4,4), and (2,3)

Other data types which are also represented as lists of points
(e.g. boxes, line segments, and polygons) have similar representations
(they surround each point with parens).

For v6.1, any format which can be interpreted as the old style format
is decoded as such; we can remove that backwards compatibility but ugly
convention for v7.0. This will allow dump/reloads from v6.0.

These include some updates to the regression test files to change the test
for creating a data type from "circle" to "widget" to keep the test from
trashing the new builtin circle type.
1997-04-22 17:35:09 +00:00
Marc G. Fournier e31cb4be3a More splits and cleanups...
Its starting to actually take shape and look as expected...
1997-04-06 08:29:57 +00:00
Marc G. Fournier 588ae64c44 More splits and cleanups... 1997-04-06 06:07:13 +00:00