Commit Graph

1455 Commits

Author SHA1 Message Date
Tom Lane
b4e906f191 Reinstate BufFileTell(). 2000-06-18 03:11:40 +00:00
Tom Lane
edf0b5f0db Get rid of IndexIsUniqueNoCache() kluge by the simple expedient of
passing the index-is-unique flag to index build routines (duh! ...
why wasn't it done this way to begin with?).  Aside from eliminating
an eyesore, this should save a few milliseconds in btree index creation
because a full scan of pg_index is not needed any more.
2000-06-17 23:41:51 +00:00
Tom Lane
d03a933ec5 Fix performance problems with pg_index lookups (see, for example,
discussion of 5/19/00).  pg_index is now searched for indexes of a
relation using an indexscan.  Moreover, this is done once and cached
in the relcache entry for the relation, in the form of a list of OIDs
for the indexes.  This list is used by the parser and executor to drive
lookups in the pg_index syscache when they want to know the properties
of the indexes.  Net result: index information will be fully cached
for repetitive operations such as inserts.
2000-06-17 21:49:04 +00:00
Tom Lane
9cf80f2f55 Clean out another pocket of functions called via nonspecific function
pointers, namely the catcache tuple fetch routines.  Also get rid of
the unused and possibly confusing 'size' field in struct cachedesc.
Since it doesn't allow for variable-length fields, anyone who
actually trusted it would likely be making a mistake...
2000-06-17 04:56:39 +00:00
Peter Eisentraut
1652d43358 Remove fmgrstamp-h business -- not needed and confusing
Add options to configure to automatically build for Kerberos
support; no more editing of make files.
2000-06-17 00:10:40 +00:00
Tom Lane
648029ec2e Repair unforgivably brain-dead representation of CaseExpr nodes in
stored rules.  Bump catversion to reflect incompatibility.
2000-06-16 05:27:03 +00:00
Bruce Momjian
df43800fc8 Clean up #include's. 2000-06-15 03:33:12 +00:00
Bruce Momjian
e362d4e1ea #include cleanups 2000-06-15 00:52:26 +00:00
Tom Lane
ff7b9f5541 I had overlooked the fact that some fmgr-callable functions return void
--- ie, they're only called for side-effects.  Add a PG_RETURN_VOID()
macro and use it where appropriate.  This probably doesn't change the
machine code by a single bit ... it's just for documentation.
2000-06-14 05:24:50 +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
Bruce Momjian
6cb6d05456 Brand 7.1 release. Also update jdbc version in release branch. 2000-06-12 22:36:19 +00:00
Bruce Momjian
332f0f5fc0 Rename rule CURRENT to OLD in source tree. Add mapping for backward
compatiblity with old rules.
2000-06-12 19:40:58 +00:00
Bruce Momjian
3357e1d29e Back out pg_shadow changes to allow create table and locking permissions. 2000-06-12 03:41:03 +00:00
Tom Lane
3477957b44 Update sequence-related functions to new fmgr style. Remove downcasing,
quote-stripping, and acl-checking tasks for these functions from the
parser, and do them at function execution time instead.  This fixes
the failure of pg_dump to produce correct output for nextval(Foo)
used in a rule, and also eliminates the restriction that the argument
of these functions must be a parse-time constant.
2000-06-11 20:08:01 +00:00
Peter Eisentraut
06cd0f1a32 Substituted new configure test for types of accept()
Interfaced a lot of the custom tests to the config.cache, in the process
made them separate macros and grouped them out into files. Made naming
adjustments.

Removed a couple of useless/unused configure tests.

Disabled C++ by default. C++ is no more special than Perl, Python, and Tcl.
And it breaks equally often. :(
2000-06-11 11:40:09 +00:00
Bruce Momjian
3fe3acb844 I have made the couple of mods required to make the odbc driver with
postgres build and use unixODBC (http://www.unixodbc.org)

This patch was applied against the postgresql-7.0beta1 build

Any problems let me know.

Nick Gorham
2000-06-09 16:03:09 +00:00
Bruce Momjian
85add42a57 I have large database and with this DB work more users and I very need
more restriction for fretful users. The current PG allow define only
NO-CREATE-DB and NO-CREATE-USER restriction, but for some users I need
NO-CREATE-TABLE and NO-LOCK-TABLE.

This patch add to current code NOCREATETABLE and NOLOCKTABLE feature:

CREATE USER username
    [ WITH
     [ SYSID uid ]
     [ PASSWORD 'password' ] ]
    [ CREATEDB   | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
->  [ CREATETABLE | NOCREATETABLE ] [ LOCKTABLE | NOLOCKTABLE ]
    ...etc.

 If CREATETABLE or LOCKTABLE is not specific in CREATE USER command,
as default is set CREATETABLE or LOCKTABLE (true).

 A user with NOCREATETABLE restriction can't call CREATE TABLE or
SELECT INTO commands, only create temp table is allow for him.

                                                Karel
2000-06-09 15:51:02 +00:00
Tom Lane
ce7746201b Cause inheritance patch to meet minimum coding standards (no gcc
warnings).
2000-06-09 03:17:13 +00:00
Bruce Momjian
8c1d09d591 Inheritance overhaul by Chris Bitmead <chris@bitmead.com> 2000-06-09 01:44:34 +00:00
Tom Lane
ae526b4070 Another round of updates for new fmgr, mostly in the datetime code. 2000-06-09 01:11:16 +00:00
Bruce Momjian
20ad43b576 Mark functions as static and ifdef NOT_USED as appropriate. 2000-06-08 22:38:00 +00:00
Bruce Momjian
5690933d6c Mark ImmediateSharedRelationCacheInvalidate as NOT_USED. 2000-06-08 19:51:06 +00:00
Bruce Momjian
7d301947e5 Re-order pg_listener index so it can later be used in an index scan. 2000-06-07 04:09:44 +00:00
Bruce Momjian
75b950f668 New system index, initdb everyone. 2000-06-07 03:02:08 +00:00
Bruce Momjian
4bd5006812 Add index on pg_index.indrelid for Tom Lane. 2000-06-07 02:44:40 +00:00
Peter Eisentraut
4032a515d2 PGPORT envar was erroneously ignored by the backend 2000-06-06 16:04:32 +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
Peter Eisentraut
0a54de8faf Removed ELOG_TIMESTAMPS #define in favor of two run-time
configuration options `Log_timestamp' and `Log_pid'.
2000-06-04 15:06:34 +00:00
Peter Eisentraut
209aa77d98 New ps display code, works on more platforms.
Install a default configuration file.

Clean up some funny business in the config file code.
2000-06-04 01:44:38 +00:00
Bruce Momjian
2ea370a3ce New warning code about auto-created range table entries. 2000-06-03 04:41:34 +00:00
Bruce Momjian
58785757dd More cleanup of c.h binary macros 2000-06-02 16:40:09 +00:00
Bruce Momjian
a305c7d675 Reverse PG_BINARY defines 2000-06-02 16:33:17 +00:00
Bruce Momjian
cc2b5e5815 Remove NT-specific file open defines by defining our own open macros for
"rb" and "wb".
2000-06-02 15:57:44 +00:00
Vadim B. Mikheev
bf1c8f2b3b heap' xlog records 2000-06-02 10:20:27 +00:00
Tom Lane
b659ab07a2 Create an fd.c entry point that is just like plain open(2) except that
it will close VFDs if necessary to surmount ENFILE or EMFILE failures.
Make use of this in md.c, xlog.c, and user.c routines that were
formerly vulnerable to these failures.  In particular, this should
handle failures of mdblindwrt() that have been observed under heavy
load conditions.  (By golly, every other process on the system may
crash after Postgres eats up all the kernel FDs, but Postgres will
keep going!)
2000-06-02 03:58:34 +00:00
Peter Eisentraut
6a68f42648 The heralded `Grand Unified Configuration scheme' (GUC)
That means you can now set your options in either or all of $PGDATA/configuration,
some postmaster option (--enable-fsync=off), or set a SET command. The list of
options is in backend/utils/misc/guc.c, documentation will be written post haste.

pg_options is gone, so is that pq_geqo config file. Also removed were backend -K,
-Q, and -T options (no longer applicable, although -d0 does the same as -Q).

Added to configure an --enable-syslog option.

changed all callers from TPRINTF to elog(DEBUG)
2000-05-31 00:28:42 +00:00
Tom Lane
0f1e39643d Third round of fmgr updates: eliminate calls using fmgr() and
fmgr_faddr() in favor of new-style calls.  Lots of cleanup of
sloppy casts to use XXXGetDatum and DatumGetXXX ...
2000-05-30 04:25:00 +00:00
Tom Lane
6ed00fee53 Convert array_map to use new fmgr interface. 2000-05-29 21:02:32 +00:00
Tom Lane
22a517a40c Repair problems with overrun of timezone name length. Increase MAXTZLEN
to 10, and be consistent about whether it counts the trailing null (it
does not).  Also increase MAXDATELEN to be sure no buffer overflows are
caused by the longer MAXTZLEN.
2000-05-29 19:16:57 +00:00
Bruce Momjian
35096b568e Split vacuum and analyze into separate files 2000-05-29 17:40:45 +00:00
Bruce Momjian
6d5cba7c31 More vacuum cleanup 2000-05-29 17:06:15 +00:00
Bruce Momjian
d950c19747 more cleanup 2000-05-29 16:21:05 +00:00
Bruce Momjian
659f79be7a Allow vacuum to perform analyze with shared lock. Update cvs manual. 2000-05-29 15:44:55 +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
80648891cc Miscellaneous cleanups of places that needed to account for new
pg_language entries.
2000-05-28 20:34:52 +00:00
Tom Lane
0a7fb4e918 First round of changes for new fmgr interface. fmgr itself and the
key call sites are changed, but most called functions are still oldstyle.
An exception is that the PL managers are updated (so, for example, NULL
handling now behaves as expected in plperl and plpgsql functions).
NOTE initdb is forced due to added column in pg_proc.
2000-05-28 17:56:29 +00:00
Tom Lane
ff566b2241 Modify raw parsetree representation returned by gram.y for SubLinks:
the oper field should be a valid Node structure so it can be dumped by
outfuncs.c without risk of coredump.  (We had been using a raw pointer
to character string, which surely is NOT a valid Node.)  This doesn't
cause any backwards compatibility problems for stored rules, since
raw unanalyzed parsetrees are never stored.
2000-05-25 22:42:19 +00:00
Bruce Momjian
f19ae14612 Update so init displays status with setproctitle too, like the rest of them. 2000-05-24 00:24:17 +00:00
Bruce Momjian
a267c88d3b Make setproctitle update for every query. 2000-05-24 00:14:26 +00:00
Bruce Momjian
962c258027 Comment out no-op ps updates for setproctitle(), until we figure out
what to do.
2000-05-23 22:50:55 +00:00