Commit Graph

524 Commits

Author SHA1 Message Date
Vadim B. Mikheev f3e9cf9c6b Fix pfree problem. 1997-09-15 14:29:01 +00:00
Bruce Momjian 0a3cee72ac Add mention of heap_getattr() compiler warning. 1997-09-14 03:59:44 +00:00
Bruce Momjian aa0bad9638 Remove that 5 from MESSAGE SIZE that no one understands. 1997-09-12 22:26:13 +00:00
Bruce Momjian cf5a8723dd Increase default geqo parameter to 8. 1997-09-12 21:25:10 +00:00
Bruce Momjian 7044dd7ec8 Fix heap_getattr bug I just added. 1997-09-12 14:29:04 +00:00
Vadim B. Mikheev 4587547f13 Added: SPI_copytuple() & SPI_modifytuple() 1997-09-12 08:37:52 +00:00
Bruce Momjian b6bd3da520 Macro cleanup of heap_getattr. 1997-09-12 05:58:18 +00:00
Vadim B. Mikheev 7f97e05b09 char* --> Datum 1997-09-12 04:58:59 +00:00
Bruce Momjian 1ea01720d5 heapattr functions now return a Datum, not char *. 1997-09-12 04:09:08 +00:00
Vadim B. Mikheev a74613f478 Cleanups. 1997-09-11 07:24:37 +00:00
Bruce Momjian 59f6a57e59 Used modified version of indent that understands over 100 typedefs. 1997-09-08 21:56:23 +00:00
Bruce Momjian 075cede748 Add typdefs to pgindent run. 1997-09-08 20:59:27 +00:00
Bruce Momjian 319dbfa736 Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
Bruce Momjian 1ccd423235 Massive commit to run PGINDENT on all *.c and *.h files. 1997-09-07 05:04:48 +00:00
Vadim B. Mikheev bf1d9aeb97 Cleanups. 1997-09-06 11:23:05 +00:00
Thomas G. Lockhart b647a27cf5 Add comparision routines to support indices on datetime and timespan. 1997-09-04 18:44:29 +00:00
Thomas G. Lockhart 7c243f83e8 Add comparision routines and catalog entries to support indices on
datetime and timespan.
1997-09-04 18:43:59 +00:00
Bruce Momjian 9fcd4c25bc Fix conditional casting. 1997-09-04 16:20:55 +00:00
Vadim B. Mikheev 444369e7b2 struct Trigger changed 1997-09-04 13:26:45 +00:00
Vadim B. Mikheev 9ba606cd24 Prototypes, definitions... 1997-09-04 13:26:19 +00:00
Vadim B. Mikheev 989ab6b1e7 pg_trigger changed 1997-09-04 13:25:14 +00:00
Vadim B. Mikheev 6084c915d0 Triggers added to Relation 1997-09-01 08:13:22 +00:00
Vadim B. Mikheev b69b815e3a + Member for actions in CreateTrigStmt. 1997-09-01 08:11:57 +00:00
Vadim B. Mikheev 2ca45d5729 Function prototypes. 1997-09-01 08:10:12 +00:00
Vadim B. Mikheev 38f0ffd36c #define TriggerRelationName "pg_trigger" 1997-09-01 08:09:09 +00:00
Thomas G. Lockhart 1bf90bc7d3 Add structure for subselects.
Add field to support "WITH TIME ZONE".
1997-09-01 06:04:59 +00:00
Thomas G. Lockhart 1370a08746 Fix return value data type declarations for box_circle() and poly_circle(). 1997-09-01 05:46:09 +00:00
Vadim B. Mikheev 8dd090f6da CREATE/DROP TRIGGER statement nodes 1997-08-31 11:43:09 +00:00
Vadim B. Mikheev bcf03a7ed6 CREATE/DROP TRIGGER functions 1997-08-31 11:42:21 +00:00
Vadim B. Mikheev 2d7b93c0ca Welcome, triggers 1997-08-31 09:55:24 +00:00
Vadim B. Mikheev d8933d5cff New results destination for SPI manager. 1997-08-29 09:06:27 +00:00
Vadim B. Mikheev 0d0254d1fb SPI manager. 1997-08-29 09:05:57 +00:00
Vadim B. Mikheev 3152996ffb Fix very old bug which made tuples changed/inserted by a commnd
visible to command itself (so we had multiple update of updated tuples,
etc).
1997-08-29 09:05:25 +00:00
Bruce Momjian e06099c607 heap_getattr fix for aix. 1997-08-29 00:44:55 +00:00
Vadim B. Mikheev 3751b49545 Number of tuples inserted/affected by INSERT/UPDATE/DELETE... 1997-08-27 09:05:24 +00:00
Vadim B. Mikheev 40ac5a692b heap_delete returns int now (for non-functional deletes). 1997-08-27 09:03:47 +00:00
Bruce Momjian 75c6c2b608 Inlined heap_getattr(). 1997-08-26 23:31:58 +00:00
Bruce Momjian 8d0e658d06 Small cleanup. 1997-08-25 04:15:40 +00:00
Bruce Momjian c4cb617504 Major patch to speed up backend startup after profiling analysis. 1997-08-24 23:08:01 +00:00
Vadim B. Mikheev c16d29f990 + ExecConstraints () 1997-08-22 14:39:33 +00:00
Bruce Momjian 021778eed3 We store Cash/money as int of size 4, so make it an int rather than a long. 1997-08-22 07:13:01 +00:00
Vadim B. Mikheev 5f7f236ba4 ConstraintDef changed 1997-08-22 04:05:27 +00:00
Vadim B. Mikheev d67547d82d Set attbyval for attdisbursion to FALSE
Set atttype for relchecks to 21 (int2)
Set relkind for pg_attrdef & pg_relcheck to 'n'
1997-08-22 04:04:19 +00:00
Vadim B. Mikheev ee5f09f07c + CreateTupleDescCopyConstr
+ FreeTupleDesc
1997-08-22 03:55:39 +00:00
Bruce Momjian 3dd23aadf0 Allow functions and operators on internally-identical types to succeed. 1997-08-22 00:02:19 +00:00
Bruce Momjian 0ab2921290 Change time function names to be more consistent, and check for zero divides, from Michael Reifenberg. 1997-08-21 23:57:00 +00:00
Vadim B. Mikheev d37e93aafd #definitions for pg_attrdef & pg_relcheck names 1997-08-21 04:33:20 +00:00
Vadim B. Mikheev cc332d612b AttrConstr --> TupleConstr 1997-08-21 04:10:25 +00:00
Bruce Momjian e482462960 Rename pg_attribute.attnvals to attdisbursion. 1997-08-21 03:02:13 +00:00
Bruce Momjian f1edf02cc1 Change pg_attribute.attnvals to float4, change #ifdef 0 to #if 0, fix aix call to strNcpy, fix pg_super_user_id in pg_dumpall, change pg_database.dtadba from oid to int4. 1997-08-21 02:28:55 +00:00
Vadim B. Mikheev ac3d7b3146 + extern double *box_area(BOX *box); 1997-08-21 01:40:30 +00:00
Vadim B. Mikheev f2dd89b6fa + struct ConstaintDef - for constraints. 1997-08-21 01:39:25 +00:00
Vadim B. Mikheev 25aa0f8d04 New system relations to store DEFAULT/CHECK expressions. 1997-08-21 01:37:55 +00:00
Bruce Momjian 11ac1bf268 More NOT_USEDs 1997-08-20 14:54:35 +00:00
Vadim B. Mikheev 4527172b80 CHECK/DEFAULT syntax 1997-08-20 01:12:38 +00:00
Bruce Momjian 1d8bbfd2e7 Make functions static where possible, enclose unused functions in #ifdef NOT_USED. 1997-08-19 21:40:56 +00:00
Vadim B. Mikheev b992e200b8 NOT NULL implementation (submitted by Robson Paniago de Miranda). 1997-08-19 04:46:15 +00:00
Bruce Momjian 022903f22e Reduce open() calls. Replace fopen() calls with calls to fd.c functions. 1997-08-18 02:15:04 +00:00
Marc G. Fournier eaae21fb4d Fixes for alphalinux port by abrams@philos.umass.edu 1997-08-17 02:40:00 +00:00
Marc G. Fournier 9d90de5de7 Changes so that it actually checks for <readline/history.h>, instead
of assuming it does exist
1997-08-17 00:48:51 +00:00
Bruce Momjian fd86ae151a Cleanup global variables, remove stable memory stuff. 1997-08-14 16:11:41 +00:00
Bruce Momjian edb58721b8 Fix pgproc names over 15 chars in output. Add strNcpy() function. remove some (void) casts that are unnecessary. 1997-08-12 20:16:25 +00:00
Bruce Momjian 42c0cd33a2 I think I finally got psort working for all cases. 1997-08-06 07:02:49 +00:00
Bruce Momjian cc24b846dd psort cleanups. 1997-08-06 05:38:46 +00:00
Bruce Momjian f5f366e188 Allow internal sorts to be stored in memory rather than in files. 1997-08-06 03:42:21 +00:00
Bruce Momjian 6ed1715b1f Cleanup for NAMEDATALEN use. 1997-08-03 02:38:47 +00:00
Marc G. Fournier 5089f6ce87 Check for and use <netdb.h> for postmaster.c, instead of checking if
MAXHOSTNAMELEN is defined.  For some reason, my 2.5.1 Solaris box at
work fails on that check...
1997-07-30 14:03:33 +00:00
Bruce Momjian bcc883fed3 Remove HAVE_USAGE because it is no longer used. 1997-07-30 00:09:42 +00:00
Thomas G. Lockhart 3c2d74d2af Add new operators and functions for geometric types.
Add text concatenation operator and function.
Add text trim function for SQL92 support.
1997-07-29 16:17:52 +00:00
Thomas G. Lockhart e89d139dbe Add new routines.
Change definition for isreltime().
Change some names of #define constants to avoid conflicts with the yacc parser.
1997-07-29 16:16:14 +00:00
Bruce Momjian 8d25436d70 mkLinux patches from Tatsuo Ishii. 1997-07-29 14:09:11 +00:00
Bruce Momjian 8338f90d4e Add SCO files. 1997-07-28 01:34:24 +00:00
Bruce Momjian d5e21e0924 HPUX 10 patches from Vladimir Turin 1997-07-27 18:52:43 +00:00
Bruce Momjian 3ac9d2fff3 Various compile errors concerning overflow due to shifts, unsigned, and bad prototypes, from Solaris, from Diab Jerius 1997-07-24 20:19:10 +00:00
Bruce Momjian 31fba1d974 Mips sysv4 support. 1997-07-14 16:52:13 +00:00
Thomas G. Lockhart e66f5c05eb Remove endian information which is now in port-specific header files.
Note that this version is probably identical to two versions ago.
1997-07-11 14:09:00 +00:00
Thomas G. Lockhart c6df30edb9 Modify port-specific definitions to support missing endian information.
Add extra include file for aix to find endian information.
1997-07-11 14:03:01 +00:00
Thomas G. Lockhart bf3bcb6a6d Include definitions for endian info if not in system includes. 1997-07-01 00:31:10 +00:00
Thomas G. Lockhart 495fdfba98 Rearrange DTK_x constants.
Define constants to allow day of week decoding.
Add new datetime and timespan routines.
1997-07-01 00:25:30 +00:00
Thomas G. Lockhart 45409f0cdd Remove code not previously enabled with USE_NEW_DATE and USE_NEW_TIME
#defines.
1997-06-23 15:03:45 +00:00
Thomas G. Lockhart 742425447d Drop internal routines for formatting time output. Use default formatter.
Add timezone info to abstime2tm().
1997-06-23 14:58:51 +00:00
Thomas G. Lockhart 9af564ada6 Add parser category for "DST" Daylight Savings Time qualifier on time zones. 1997-06-20 17:15:00 +00:00
Marc G. Fournier 442306fe36 From: "Brian E. Gallew" <geek+@cmu.edu>
Define USE_POSIX_TIME for dgux port
1997-06-06 01:39:24 +00:00
Marc G. Fournier 15da18508f From: Phil Nelson <phil@cs.wwu.edu>
Subject: [PATCHES] Added support for NetBSD/pc532.
1997-06-06 01:37:23 +00:00
Vadim B. Mikheev 39c73eff63 Definition for RelationForgetRelation(). 1997-06-04 09:01:49 +00:00
Thomas G. Lockhart 4bd4a55b98 Add upgradepath(), isoldpath(), upgradepoly() and revertpoly() to allow
upgrading from existing pre-v6.1 path and polygon geometric data types.
1997-06-03 14:11:28 +00:00
Thomas G. Lockhart 3887d41b13 Put parens around macro arguments for safety per D'Arcy's suggestion. 1997-06-03 14:07:24 +00:00
Vadim B. Mikheev 9c0d64c21c #define GEQO_RELS 6 (not 7) 1997-06-03 03:15:50 +00:00
Vadim B. Mikheev 465047d604 #define GEQO_RELS 7
moved from geqo.h to internal.h.
1997-06-02 11:19:33 +00:00
Marc G. Fournier 187e0f2405 From: Phil Nelson <phil@cs.wwu.edu>
Subject: [PATCHES] Support for NetBSD/sparc

The following is a patch to allow BSD44_derived to support NetBSD/sparc.
1997-06-01 15:51:10 +00:00
Marc G. Fournier b3db8ee0b2 From: Darren King <aixssd!darrenk@abs.net>
Subject: [PATCHES] aix.h needs POSIX...
1997-06-01 15:50:08 +00:00
Bruce Momjian 8bc7439ccf Enable GEQO for more than six tables, from Martin. 1997-06-01 02:56:00 +00:00
Bruce Momjian c3a960ad8a Fix for SELECT * INTO TABLE for char(), varchar() fields. 1997-05-31 16:52:19 +00:00
Vadim B. Mikheev 5cf55737a4 Added: new BTP_CHAIN flag (if hikey == firstkey then it's not
last page in chain of duplicates).
1997-05-30 18:40:02 +00:00
Thomas G. Lockhart 07f0647808 Ensure double alignment for time and arrays of circles. 1997-05-26 16:55:23 +00:00
Thomas G. Lockhart 0828204538 Enable new date and time definitions to allow Solaris and Irix -O2 compilation.
Move date and time field type labels to less than 32 to allow use as masks.
1997-05-23 05:10:03 +00:00
Vadim B. Mikheev 12d9a12eda gist.h:
/*
** You can have as many strategies as you please in GiSTs, as
** long as your consistent method can handle them
*/
#define GISTNStrategies                 100
                                        ^^^
- too big number:

strat.h->StrategyEvaluationData->StrategyExpression  expression[12]
                                                                ^^
 - so 12 is real max # of strategies, or StrategyEvaluationIsValid
crashes backend (called if CASSER defined).
1997-05-22 16:09:57 +00:00
Marc G. Fournier 5e7c0a0b9a From: Darren King <aixssd!darrenk@abs.net>
Subject: [PATCHES] DROP AGGREGATE patch/fix.


Here's a patch that fixes the DROP AGGREGATE command to delete
the desired aggregate for a specific type.
1997-05-22 00:17:24 +00:00
Vadim B. Mikheev b0dfe8e38e Define FREE(x) as pfree. 1997-05-20 11:37:33 +00:00
Edmund Mergl 33a629cfef added const declaration in form() E.Mergl 1997-05-17 16:25:57 +00:00
Thomas G. Lockhart 9fd868d16a Rename new float and int conversion routines to avoid conflicts with
system calls on AIX (and probably other machines too).
1997-05-14 04:35:10 +00:00
Marc G. Fournier 45165538c5 From: "Brian E. Gallew" <geek+@cmu.edu>
Subject: [PORTS] minor fix for DGUX port

src/include/port/dgux.h needs the following three lines appended:

#ifndef         BYTE_ORDER
#define         BYTE_ORDER      BIG_ENDIAN
#endif


I believe this to be correct for DG/UX on M88k processors.  I don't have one of
the new Intel-based boxes to check on.
1997-05-13 22:13:33 +00:00
Thomas G. Lockhart 57f55032ff Add type conversion functions between floats and integers.
Include some additional path functions which were coded but omitted here.
Add translation and rotation/scaling operators for some geometric types.
Fix bugs in some geometry comparison operator declarations.
1997-05-11 15:19:33 +00:00
Thomas G. Lockhart 407cd4ee24 Add a few type conversion functions.
Pass an additional argument for date/time formatting to better handle timezones.
1997-05-11 15:13:49 +00:00
Marc G. Fournier 9f2d714620 From: "Paul M. Aoki" <aoki@CS.Berkeley.EDU>
Subject: [PATCHES] port patch: ultrix4

ultrix4 doesn't compile without this.  this also fixes a problem
with dynamic loading (ultrix relocatable objects must be loaded
with -G 0).
1997-05-07 03:12:46 +00:00
Thomas G. Lockhart 36d18351aa Change dummy array dimensions from [0] to [1] to keep non-gcc compilers happy.
No real change in the support code is required since the actual size
 of the structures is calculated using offsetof() rather than sizeof().
1997-05-06 07:24:42 +00:00
Thomas G. Lockhart 6e27af13eb Rename LOread() and LOwrite() to loread() and lowrite() to allow use by
case-insensitive SQL parser.
1997-05-06 07:20:53 +00:00
Thomas G. Lockhart 94123219bf Rename LOread() and LOwrite() to be lower case to allow use
in case-insensitive SQL. Define LOread() and LOwrite() as macros
 to avoid having to update calls everywhere.
1997-05-06 07:14:34 +00:00
Vadim B. Mikheev a1fbd470a9 Fix GroupBy: enable functions over aggregates and GroupBy-ed fields
in target list.
1997-04-29 04:32:50 +00:00
Thomas G. Lockhart 0a95a17da2 Change mixed-case routines to lower-case for case-insensitive SQL.
Add mixed-case #define synonyms to avoid changing more source code.
Add comparison operators for boolean.
Add aggregate min() and max() for datetime and timespan.
1997-04-27 19:24:16 +00:00
Thomas G. Lockhart 1d1c9ff211 Change mixed-case routines to lower-case in pg_proc.h
Add comparison operators for boolean.
Add aggregate min() and max() for datetime and timespan.
Fix duplicate OID in pg_proc.h
1997-04-27 19:22:45 +00:00
Thomas G. Lockhart d831e9ce19 Change mixed-case routines to lower-case if referenced in pg_proc.h 1997-04-27 19:21:06 +00:00
Marc G. Fournier c2ae467300 clean up the bin/*/Makefiles...up version.h to v6.1 instead of v6.0
Remove bin/Makefile.global since it wasn't actually *doing* anything
that Makefile.global hadn't already done
1997-04-26 05:07:12 +00:00
Marc G. Fournier 094ec2d3f3 More timezone patches by Thomas:
Here are patches which should help fix timezone problems in the
datetime and abstime code. Also, I repatched varlena.c to add in
some comments and a little error checking on top of Vadim's earlier
repairs. There are slight mods to the circle data type to have the
distance operator between circles measure the distance between
closest points rather than between centers.
1997-04-25 18:40:50 +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
Vadim B. Mikheev 2bbc2e2c0d Added comments about FASTBUILD.
Added #define BTREE_VERSION_1.
1997-04-24 16:21:46 +00:00
Vadim B. Mikheev 0a08f2b22d #define _CPU_PAGE_WEIGHT_: 0.065 --> 0.033
#define _CPU_INDEX_PAGE_WEIGHT_: 0.033 --> 0.017
1997-04-24 15:38:34 +00:00
Marc G. Fournier 08a5901ba1 Various patches not commited, plus a linux/sparc patch from
Satoshi Ishikawa <power@sekine.densi.gifu-u.ac.jp>
1997-04-24 02:35:39 +00:00
Vadim B. Mikheev 3c461c8397 Analyze data only if specified and specified attrs only. 1997-04-23 06:28:48 +00:00
Vadim B. Mikheev bc67a4617d 1. VariableShowStmt and VariableResetStmt added.
2. VacuumStmt changed (for VACUUM ANALYZE...).
1997-04-23 05:58:06 +00:00
Vadim B. Mikheev 72fcb4ee91 There were too many comments. 1997-04-23 05:52:32 +00:00
Marc G. Fournier 4b5319129c To: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: Re: [PATCHES] SET DateStyle patches

On Tue, 22 Apr 1997, Thomas Lockhart wrote:

> Some more patches! These (try to) finish implementing SET variable TO value
> for "DateStyle" (changed the name from simply "date" to be more descriptive).
> This is based on code from Martin and Bruce (?), which was easy to modify.
> The syntax is
>
> SET DateStyle TO 'iso'
> SET DateStyle TO 'postgres'
> SET DateStyle TO 'sql'
> SET DateStyle TO 'european'
> SET DateStyle TO 'noneuropean'
> SET DateStyle TO 'us'         (same as "noneuropean")
> SET DateStyle TO 'default'    (current same as "postgres,us")
>
> ("european" is just compared for the first 4 characters, and "noneuropean"
> is compared for the first 7 to allow less typing).
>
> Multiple arguments are allowed, so SET datestyle TO 'sql,euro' is valid.
>
> My mods also try to implement "SHOW variable" and "RESET variable", but
> that part just core dumps at the moment. I would guess that my errors
> are obvious to someone who knows what they are doing with the parser stuff,
> so if someone (Bruce and/or Martin??) could have it do the right thing
> we will have a more complete set of what we need.
>
> Also, I would like to have a floating point precision global variable to
> implement "SET precision TO 10" and perhaps "SET precision TO 10,2" for
> float8 and float4, but I don't know how to do that for integer types rather
> than strings. If someone is fixing the SHOW and RESET code, perhaps they can
> add some hooks for me to do the floats while they are at it.
>
> I've left some remnants of variable structures in the source code which
> I did not use in the interests of getting something working for v6.1.
> We'll have time to clean things up for the next release...
1997-04-23 03:18:27 +00:00
Marc G. Fournier 5514c1fa23 Add fcvt() as a check to configure so that we can get rid of the BSD44_derived
type check in numutils.c:ftoa()

Pointed out by: "Martin J. Laubach" <mjl@emsi.priv.at>
1997-04-22 17:47:42 +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
Vadim B. Mikheev d94c7fc4c5 1. Declaration
static const char *num_word(Cash value);
moved to cash.c.
2. 'extern ' added to funcs prototypes.
1997-04-18 02:59:26 +00:00
Marc G. Fournier a1f229b19e From: "Martin J. Laubach" <mjl@CSlab.tuwien.ac.at>
Subject: [HACKERS] Patch: set date to euro/us postgres/iso/sql

  Here a patch that implements a SET date for use by the datetime
stuff. The syntax is

        SET date TO 'val[,val,...]'

  where val is us (us dates), euro (european dates), postgres,
iso or sql.

  Thomas is working on the integration in his datetime module.
I just needed to get the patch out before it went stale :)
1997-04-17 13:50:57 +00:00
Vadim B. Mikheev afd9295786 BTREE_VERSION_1: using bti_itup->t_tid as unique identifier for a given
index tuple (logical position within A LEVEL). bti_oid & bti_dummy
taken off from BTItemData.
1997-04-16 01:21:59 +00:00
Marc G. Fournier cacaaed62b A couple of cleanups from Scott Harrison <Scott_Harrison@next.com> 1997-04-15 19:08:13 +00:00
Marc G. Fournier f9d2ec0eba Have CASSERT enabled/disabled via configure, and passed through config.h
instead of as a -D
1997-04-15 18:35:50 +00:00
Marc G. Fournier 6fd4e2b414 Various minor HP related patches from:
Morten Kjeldgaard <mok@monster.kemi.aau.dk>
1997-04-15 17:55:37 +00:00
Marc G. Fournier 88d740462f From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: [HACKERS] Money integration patches

Here are patches to integrate the money data type. I have included
some math and aggregate functions and have made the locale support optional
by #ifdef USE_LOCALE bracketing of functions.

Modules affected are:
builtins.h.patch
cash.c.patch
cash.h.patch
main.c.patch
pg_aggregate.h.patch
pg_operator.h.patch
pg_proc.h.patch
pg_type.h.patch

I changed the data type to be pass-by-reference rather than by-value
to pave the way for a larger internal representation (64-bit ints?).
Also, I changed the tabbing of cash.c and cash.h to match most of
the other Postgres source code files (4 space indent, 8 spaces == 1 tab).

The locale stuff should be tested under another convention (Russian?)
but I don't know what the correct results should be so perhaps someone
else can give them a try. Will update docs and regression tests in
the next few days.
1997-04-15 17:41:44 +00:00
Marc G. Fournier 7113e880b8 More more of the include files under the include directory 1997-04-12 10:21:55 +00:00
Marc G. Fournier 1e9b80a2fd modifications to pg_dump towards supporting dumping of ACLs (doesn't work yet!)
modification to c.h so that bool isn't typedef'd under __cplusplus
1997-04-12 09:24:23 +00:00
Marc G. Fournier 4999f002e6 Add in D'Arcy's cash code
pg_proc.h still needs modifying, but this gets it in there so that we can
get around any compiler bugs.  Will try and get the pg_proc.h entries done
up later tonight...
1997-04-09 08:36:21 +00:00
Vadim B. Mikheev 75e2370cc8 Now we have #define _CPU_INDEX_PAGE_WEIGHT_ 0.033 (/* CPU-index-to-page cost
weighting factor */) in addition to
#define _CPU_PAGE_WEIGHT_  0.065 (/* CPU-heap-to-page cost weighting factor
*/).
1997-04-09 02:24:19 +00:00
Vadim B. Mikheev bd511f268a Put resdom into GroupClause (GROUP BY func_results) 1997-04-05 06:19:22 +00:00
Marc G. Fournier 0213a81dca More modifications to make building more interactive:
Allow installer to change DEF_PGPORT
	Allow installer to disable HBA
1997-04-03 22:16:34 +00:00
Marc G. Fournier a03dc60508 Remove code associated with !ACLGROUP_PATCH, and appropriate #ifdef's 1997-04-03 21:31:57 +00:00
Marc G. Fournier e3649e9e52 Various improvements to reduce questions :)
Remove USE_LOCALE from Makefile.global.in
Add USE_LOCALE to build/configure/config.h

Add check for BUILDRUN in configure to make sure that build is run before
configure
1997-04-03 21:26:36 +00:00
Marc G. Fournier 9d5c0af586 From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: [HACKERS] Aggregate function patches

Here are the aggregate function patches I originally sent in last December.
They fix sum() and avg() behavior for ints and floats when NULL values are
involved.

I was waiting to resubmit these until I had a chance to write a v6.0->v6.1
database upgrade script to ensure that existing v6.0 databases which have
not been reloaded for v6.1 do no break with the new aggregate behavior.
These scripts are included below. It's OK with me if someone wants to do
something different with the upgrade strategy, but something like this
was discussed a few weeks ago.

Also, there were a couple of small items which cropped up in doing a clean
install of 970403 (actually 970402 + 970403 changes since the full 970403
tar file appears to be damaged or at least suspect). They are the first
two patches below and can be omitted if desired (although I think they
aren't dangerous :).
1997-04-03 19:56:47 +00:00
Marc G. Fournier 2ab34dfe1a From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: [HACKERS] More date time functions

Here are some additional patches mostly related to the date and time
data types. It includes some type conversion routines to move between
the different date types and some other date manipulation routines such
as date_part(units,datetime).

I noticed Edmund Mergl et al's neat trick for getting function overloading
for builtin functions, so started to use that for the date and time stuff.
Later, if someone figures out how to get function overloading directly
for internal C code, then we can move to that technique.

These patches include documentation updates (don't faint!) for the built-in
man page. Doesn't yet include mention of timestamp, since I don't know
much about it and since it may change a bit to become a _real_ ANSI timestamp
which would include parser support for the declaration syntax (what do you
think, Dan?).

The patches were developed on the 970330 release, but have been rebuilt
off of the 970402 release. The first patch below is to get libpq to compile,
on my Linux box, but is not related to the rest of the patches and you can
choose not to apply that one at this time. Thanks in advance, scrappy!
1997-04-02 18:36:24 +00:00
Marc G. Fournier a51df14a69 From: "Martin J. Laubach" <mjl@CSlab.tuwien.ac.at>
Subject: [HACKERS] Patch: SET var TO 'val'

  Here is a patch that adds a "SET variable TO 'somevalue'" capability
to the parser, and then calls the SetPGVariable() function (which does
just issue a elog(NOTICE) to see whether it works).

  That's the framework for adding timezone/date format/language/...
stuff.
1997-04-02 18:24:52 +00:00
Vadim B. Mikheev 6ec8d375f5 New node T_CreateSeqStmt. 1997-04-02 03:34:46 +00:00
Vadim B. Mikheev 46d11f314f New relkind ('S') for sequence relations.
New funcs (nextval & currval) in pg_proc.h
1997-04-02 03:29:37 +00:00
Vadim B. Mikheev 4d8e84155e Prototypes for sequence.c 1997-04-02 03:23:38 +00:00
Marc G. Fournier 28454c216b From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: Re: [HACKERS] abstime "now" broken

Yes, I broke 'now' :( with an attempt at a bug fix involving
servers running in the UTC/GMT timezone. These patches fix
the problem, and have been tested in GMT (+00 hours),
PST (-08), and NZT (+12) timezones which exercized the code for
various cases including across day boundaries.  btw, this code
fixes the same type of problem for 'today', 'yesterday', 'tomorrow',
for DATETIME, ABSTIME, DATE and TIME types.

The bugfix itself is quite small, but I have accumulated other
changes in the datetime data type and include them here also.
One set of changes involves printing ISO-formatted dates and
is in response to the helpful information from Kurt Lidl regarding
ANSI SQL dates. I'll send another e-mail sometime soon discussing
more issues he has raised...
1997-03-28 07:13:21 +00:00
Marc G. Fournier 159f8c63ad From: Dan McGuirk <mcguirk@indirect.com>
Reply-To: hackers@hub.org, Dan McGuirk <mcguirk@indirect.com>
To: hackers@hub.org
Subject: [HACKERS] tmin writeback optimization

I was doing some profiling of the backend, and noticed that during a certain
benchmark I was running somewhere between 30% and 75% of the backend's CPU
time was being spent in calls to TransactionIdDidCommit() from
HeapTupleSatisfiesNow() or HeapTupleSatisfiesItself() to determine that
changed rows' transactions had in fact been committed even though the rows'
tmin values had not yet been set.

When a query looks at a given row, it needs to figure out whether the
transaction that changed the row has been committed and hence it should pay
attention to the row, or whether on the other hand the transaction is still
in progress or has been aborted and hence the row should be ignored.  If
a tmin value is set, it is known definitively that the row's transaction
has been committed.  However, if tmin is not set, the transaction
referred to in xmin must be looked up in pg_log, and this is what the
backend was spending a lot of time doing during my benchmark.

So, implementing a method suggested by Vadim, I created the following
patch that, the first time a query finds a committed row whose tmin value
is not set, sets it, and marks the buffer where the row is stored as
dirty.  (It works for tmax, too.)  This doesn't result in the boost in
real time performance I was hoping for, however it does decrease backend
CPU usage by up to two-thirds in certain situations, so it could be
rather beneficial in high-concurrency settings.
1997-03-28 07:06:53 +00:00
Marc G. Fournier dd07f76658 turn GEQO code on by default 1997-03-27 01:00:41 +00:00
Marc G. Fournier 64c82a5016 Add checs for float.h
Remove 'unused variable' from dt.c
1997-03-25 20:02:42 +00:00
Marc G. Fournier 0ccaaac169 another one missed 1997-03-25 09:44:33 +00:00