Commit Graph

1306 Commits

Author SHA1 Message Date
Tatsuo Ishii
397f65d102 Add convert. 2001-08-15 07:10:12 +00:00
Bruce Momjian
495f996765 Put back changes I overwrote in packaging 7.1.3. 2001-08-14 23:38:20 +00:00
Tom Lane
5f7c2bdb53 sum() on int2 and int4 columns now uses an int8, not numeric, accumulator
for speed reasons; its result type also changes to int8.  avg() on these
datatypes now accumulates the running sum in int8 for speed; but we still
deliver the final result as numeric, so that fractional accuracy is
preserved.

count() now counts and returns in int8, not int4.  I am a little nervous
about this possibly breaking users' code, but there didn't seem to be
a strong sentiment for avoiding the problem.  If we get complaints during
beta, we can change count back to int4 and add a "count8" aggregate.
For that matter, users can do it for themselves with a simple CREATE
AGGREGATE command; the int4inc function is still present, so no C hacking
is needed.

Also added max() and min() aggregates for OID that do proper unsigned
comparison, instead of piggybacking on int4 aggregates.

initdb forced.
2001-08-14 22:21:59 +00:00
Bruce Momjian
6f2943b52e Add HISTORY for 7.1.3. Packaging done. 2001-08-14 21:21:40 +00:00
Peter Eisentraut
ee8ed85da3 Make LANCOMPILER clause in CREATE LANGUAGE optional. Allow "identifier"
syntax for language names (instead of 'string').

createlang now handles the case where a second language uses the same call
handler as an already installed language (e.g., plperl/plperlu).

droplang now handles the reverse case, i.e., dropping a language where
the call handler is still used by another language.  Moreover, droplang
can now be used to drop any user-defined language, not just the supplied
ones.
2001-08-13 21:34:54 +00:00
Bruce Momjian
4d7af98759 Patch NAME section of reference pages. 2001-08-13 15:24:46 +00:00
Peter Eisentraut
a0c449a0f8 Make pg_dump handle the new privileges.
Don't hardcode the maximum accepted server version, use PG_VERSION instead.
Install a notice processor so notices are handled like error messages.
Word smithing.
2001-08-12 19:02:39 +00:00
Tom Lane
548512ad03 Document column-name-list option of CREATE VIEW ... which has been there
awhile, but the man page didn't know it.
2001-08-10 23:49:20 +00:00
Tom Lane
6568939852 Mention that COPY cannot be used on a view (per recent suggestion).
Other small improvements.
2001-08-10 23:09:30 +00:00
Tom Lane
135dea6322 Since PQoidStatus is deprecated, we should probably stop using it in
our own code ...
2001-08-10 22:50:10 +00:00
Tom Lane
ef6ccb0bcc Cleanup some minor oversights in optional-OIDs stuff. 2001-08-10 20:52:25 +00:00
Tom Lane
bf56f0759b Make OIDs optional, per discussions in pghackers. WITH OIDS is still the
default, but OIDS are removed from many system catalogs that don't need them.
Some interesting side effects: TOAST pointers are 20 bytes not 32 now;
pg_description has a three-column key instead of one.

Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey
has some usefulness; pg_dump dumps comments on indexes, rules, and
triggers in a valid order.

initdb forced.
2001-08-10 18:57:42 +00:00
Bruce Momjian
24641335cf The portion about the PQgetssl() function in the libpq documentation
appears to be duplicated (two identical <listitems> right after each
other). Here is a quick patch to remove one instance of it.

Magnus Hagander
2001-08-10 14:42:47 +00:00
Bruce Momjian
77a69a2ed1 Patch to LOCK multiple tables in one LOCK command.
Neil Padgett
2001-08-10 14:30:15 +00:00
Peter Eisentraut
e65007827a corrections from the DocNotes 2001-08-09 16:20:43 +00:00
Peter Eisentraut
e29c16dc50 some clarifications inspired by the DocNotes 2001-08-07 22:41:49 +00:00
Tom Lane
af3487e9bf Update now-obsolete example of platform-specific regression comparison
files.
2001-08-06 22:53:26 +00:00
Tom Lane
246793469e Modify partial-index-predicate applicability tester to test whether
clauses are equal(), before trying to match them up using btree opclass
inference rules.  This allows it to recognize many simple cases involving
non-btree operations, for example 'x IS NULL'.  Clean up code a little.
2001-08-06 18:09:45 +00:00
Bruce Momjian
d1c9633060 Back out LOCK A,B,C patch at Tom's suggestion. 2001-08-04 22:01:39 +00:00
Bruce Momjian
16365ac75b Add LOCK A,B,C functionality as LOCK A;LOCK B;LOCK C; as agreed.
Neil Padgett
2001-08-04 19:39:00 +00:00
Tom Lane
fd61fbe837 For some reason, CREATE TYPE has only accepted alignment specifications
of 'int4' and 'double'.  Add 'char' and 'int2' to allow user-defined types
to access the full set of supported alignments.
2001-08-03 20:47:40 +00:00
Tom Lane
f59f3c8899 Add a SPI_copytupledesc function that parallels SPI_copytuple --- ie,
it copies the tupdesc into upper-executor memory.  This is necessary
for returning tuple descriptors without leaking all of lower exec memory.
2001-08-02 18:08:43 +00:00
Bruce Momjian
84d2c518fe I noticed that pltcl didn't have any way to get to SPI_lastoid like plpgsql does.. I started using pltcl a lot because I like to decide when and how my queries get planned.. so I put one together really quick
Sorry I don't have the original around to make a quick diff, but its a very small change... I think this should be in the next release, there's no reason not to have it.

its a function with no expected arguments, so you can use it like:
spi_exec "INSERT INTO mytable(columns...) VALUES(values..)"
set oid [spi_lastoid]
spi_exec "SELECT mytable_id from mytable WHERE oid=$oid"

It just didn't make sense for me to use plpgsql and pltcl, or just screw
them both and use SPI from C.


bob@redivi.com
2001-08-02 15:45:55 +00:00
Tom Lane
bc042e0a77 Support ident authentication on local (Unix) socket connections, if the
system supports SO_PEERCRED requests for Unix sockets.  This is an
amalgamation of patches submitted by Helge Bahmann and Oliver Elphick,
with some editorializing by yours truly.
2001-08-01 23:25:39 +00:00
Bruce Momjian
8ef0aa170f Add documentation changes for new pg_hba.conf behavior. 2001-08-01 00:48:52 +00:00
Tom Lane
6d0d838ceb Remove WIN32_NON_BLOCKING_CONNECTIONS tests, since we don't need 'em
anymore.
2001-07-31 02:14:49 +00:00
Tom Lane
f31dc0ada7 Partial indexes work again, courtesy of Martijn van Oosterhout.
Note: I didn't force an initdb, figuring that one today was enough.
However, there is a new function in pg_proc.h, and pg_dump won't be
able to dump partial indexes until you add that function.
2001-07-16 05:07:00 +00:00
Tom Lane
c8076f09d2 Restructure index AM interface for index building and index tuple deletion,
per previous discussion on pghackers.  Most of the duplicate code in
different AMs' ambuild routines has been moved out to a common routine
in index.c; this means that all index types now do the right things about
inserting recently-dead tuples, etc.  (I also removed support for EXTEND
INDEX in the ambuild routines, since that's about to go away anyway, and
it cluttered the code a lot.)  The retail indextuple deletion routines have
been replaced by a "bulk delete" routine in which the indexscan is inside
the access method.  I haven't pushed this change as far as it should go yet,
but it should allow considerable simplification of the internal bookkeeping
for deletions.  Also, add flag columns to pg_am to eliminate various
hardcoded tests on AM OIDs, and remove unused pg_am columns.

Fix rtree and gist index types to not attempt to store NULLs; before this,
gist usually crashed, while rtree managed not to crash but computed wacko
bounding boxes for NULL entries (which might have had something to do with
the performance problems we've heard about occasionally).

Add AtEOXact routines to hash, rtree, and gist, all of which have static
state that needs to be reset after an error.  We discovered this need long
ago for btree, but missed the other guys.

Oh, one more thing: concurrent VACUUM is now the default.
2001-07-15 22:48:19 +00:00
Peter Eisentraut
1a17447be1 NLS for libpq. Clean up the message formats and change the documentation
accordingly.
2001-07-15 13:45:04 +00:00
Tom Lane
3284758a17 Remove grammar restrictions on order of optional clauses in CREATE GROUP.
From Vince Vielhaber.
2001-07-12 18:03:00 +00:00
Bruce Momjian
7771436e18 > > Put encode() into base system. Used part of Alex' patch
> > for docs, hope he does not mind ;)

Marko Kreen
2001-07-11 22:14:03 +00:00
Bruce Momjian
75d872aa69 More comment out of block quote. 2001-07-11 21:27:07 +00:00
Bruce Momjian
461ea6b796 Better document use of ident on localhost, per Tom Lane's idea. 2001-07-11 20:32:11 +00:00
Bruce Momjian
62f5badebf Remove mention that PREPARE is not implemented. 2001-07-11 03:43:52 +00:00
Bruce Momjian
28aeb0a019 Update FAQ_DEV. 2001-07-11 02:13:20 +00:00
Bruce Momjian
6d5a9d05e0 Update FAQ. 2001-07-11 01:01:56 +00:00
Tom Lane
320b6db090 Changes from Vince Vielhaber to allow the optional clauses of CREATE
USER and ALTER USER to appear in any order, not only the fixed order
they used to be required to appear in.
Also, some changes from Tom Lane to create a FULL option for VACUUM;
it doesn't do anything yet, but I needed to change many of the same
files to make that happen, so now seemed like a good time.
2001-07-10 22:09:29 +00:00
Tom Lane
cb052e0bf1 Fix rule rewriter so that new ordering of ON INSERT actions applies
in cases of qualified rules as well as unqualified ones.  Tweak rules
test to avoid cluttering output with dummy SELECT results.  Update
documentation to match code.
2001-07-09 23:50:32 +00:00
Tom Lane
4fe42dfbc3 Add SHARE UPDATE EXCLUSIVE lock mode, coming soon to a VACUUM near you.
Name chosen per pghackers discussion around 6/22/01.
2001-07-09 22:18:34 +00:00
Tatsuo Ishii
21af10acb8 Fix typo. createdb -t --> createdb -T 2001-07-06 02:01:35 +00:00
Bruce Momjian
86bc2d91c3 Correct substring() example, found by Thomas T. Thai. 2001-07-03 02:42:18 +00:00
Peter Eisentraut
10e9cd2299 Allow default transaction isolation level (a.k.a. set session
characteristics) to be set through GUC.
2001-06-30 22:03:26 +00:00
Peter Eisentraut
e4a40cc353 fix markup 2001-06-30 22:01:17 +00:00
D'Arcy J.M. Cain
34d1cf8d35 The System V resources discussed here apply to NetBSD as well. In fact
I just finished changing the GENERIC files and the options(4) man page
on NetBSD to make this clearer.
2001-06-30 21:15:57 +00:00
Tom Lane
e0c9301c87 Install infrastructure for shared-memory free space map. Doesn't actually
do anything yet, but it has the necessary connections to initialization
and so forth.  Make some gestures towards allowing number of blocks in
a relation to be BlockNumber, ie, unsigned int, rather than signed int.
(I doubt I got all the places that are sloppy about it, yet.)  On the
way, replace the hardwired NLOCKS_PER_XACT fudge factor with a GUC
variable.
2001-06-27 23:31:40 +00:00
Bruce Momjian
a0c12d5e90 Add TEMPORARY sequences and have SERIAL on a temp table have a temporary
sequence.
2001-06-23 00:07:34 +00:00
Peter Eisentraut
280b5f4be6 fix markup 2001-06-23 00:03:10 +00:00
Peter Eisentraut
adf1c52ce6 updates for new startup sequence, some reformatting 2001-06-22 23:27:48 +00:00
Bruce Momjian
9e39ffe4cd Attached is documentation describing plperlu differences from plperl.
Alex Pilosov
2001-06-22 21:37:14 +00:00
Tom Lane
7d6e28149e Mention that EXPLAIN results on small tables shouldn't be extrapolated
to large tables.  Recommend ANALYZE or VACUUM ANALYZE after populating
a table.
2001-06-22 18:53:36 +00:00
Tom Lane
116d2bba7e Add IS UNKNOWN, IS NOT UNKNOWN boolean tests, fix the existing boolean
tests to return the correct results per SQL9x when given NULL inputs.
Reimplement these tests as well as IS [NOT] NULL to have their own
expression node types, instead of depending on special functions.
From Joe Conway, with a little help from Tom Lane.
2001-06-19 22:39:12 +00:00
Tom Lane
ec96f1dacd Fix some references to USE_AUSTRALIAN_RULES that Bruce missed;
plus a few trivial improvements in wording.
2001-06-18 19:05:11 +00:00
Bruce Momjian
bf2a92365c Update FAQ. 2001-06-18 18:56:03 +00:00
Bruce Momjian
7dac778561 Add GUC setting for Australian timezones. Uses new GUC boolean callback
functions to clear date cache.  Allow regression tests to pass when
timezone set.
2001-06-18 16:14:44 +00:00
Bruce Momjian
0bba6bdb8a Improve wording of authentication files. 2001-06-18 16:11:30 +00:00
Tom Lane
2adf1ce63c Oops, forgot to commit doco updates for has_table_privilege. 2001-06-15 21:03:07 +00:00
Bruce Momjian
d7763c1f9c Docs for:
> >> inet(text), cidr(text): convert a text value into inet/cidr
> >> set_masklen(inet): set masklen on the inet value

Alex Pilosov
2001-06-13 22:51:02 +00:00
Tom Lane
1d584f97b9 Clean up various to-do items associated with system indexes:
pg_database now has unique indexes on oid and on datname.
pg_shadow now has unique indexes on usename and on usesysid.
pg_am now has unique index on oid.
pg_opclass now has unique index on oid.
pg_amproc now has unique index on amid+amopclaid+amprocnum.
Remove pg_rewrite's unnecessary index on oid, delete unused RULEOID syscache.
Remove index on pg_listener and associated syscache for performance reasons
(caching rows that are certain to change before you need 'em again is
rather pointless).
Change pg_attrdef's nonunique index on adrelid into a unique index on
adrelid+adnum.

Fix various incorrect settings of pg_class.relisshared, make that the
primary reference point for whether a relation is shared or not.
IsSharedSystemRelationName() is now only consulted to initialize relisshared
during initial creation of tables and indexes.  In theory we might now
support shared user relations, though it's not clear how one would get
entries for them into pg_class &etc of multiple databases.

Fix recently reported bug that pg_attribute rows created for an index all have
the same OID.  (Proof that non-unique OID doesn't matter unless it's
actually used to do lookups ;-))

There's no need to treat pg_trigger, pg_attrdef, pg_relcheck as bootstrap
relations.  Convert them into plain system catalogs without hardwired
entries in pg_class and friends.

Unify global.bki and template1.bki into a single init script postgres.bki,
since the alleged distinction between them was misleading and pointless.
Not to mention that it didn't work for setting up indexes on shared
system relations.

Rationalize locking of pg_shadow, pg_group, pg_attrdef (no need to use
AccessExclusiveLock where ExclusiveLock or even RowExclusiveLock will do).
Also, hold locks until transaction commit where necessary.
2001-06-12 05:55:50 +00:00
Bruce Momjian
94cb2201bf Update FAQ. 2001-06-11 16:27:52 +00:00
Tom Lane
88ba401879 Update EXPLAIN discussion and examples to match current sources. 2001-06-11 00:52:09 +00:00
Bruce Momjian
091b262008 Update or remove mentions of versions where appropriate. 2001-06-10 03:46:31 +00:00
Peter Eisentraut
7ceed2a9b5 Allow GRANT/REVOKE to/from more than one user per invocation. Command tag
for GRANT/REVOKE is now just that, not "CHANGE".

On the way, migrate some of the aclitem internal representation away from
the parser and build a real parse tree instead.  Also add some 'const'
qualifiers.
2001-06-09 23:21:55 +00:00
Bruce Momjian
3247989130 Update FAQ. 2001-06-09 14:40:41 +00:00
Tom Lane
7c106621de Fix a few missed NOIND usages. 2001-06-09 02:19:07 +00:00
Bruce Momjian
4ee76ad884 reset all: command line and .conf options change defaults
on RESET ALL those are restored.

show all: GUC + non-GUC.

SHOW ALL, RESET ALL

Marko Kreen
2001-06-07 04:50:57 +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
Peter Eisentraut
e542036461 Native Language Support (NLS)
Use --enable-nls to turn it on; see installation instructions for details.
See developer's guide how to make use of it in programs and how to add
translations.

psql sources have been almost fully prepared and an incomplete German
translation has been provided.  In the backend, only elog() calls are
currently translatable, and the provided German translation file is more
of a placeholder.
2001-06-02 18:25:18 +00:00
Tom Lane
0b370ea7c8 Clean up some minor problems exposed by further thought about Panon's bug
report on old-style functions invoked by RI triggers.  We had a number of
other places that were being sloppy about which memory context FmgrInfo
subsidiary data will be allocated in.  Turns out none of them actually
cause a problem in 7.1, but this is for arcane reasons such as the fact
that old-style triggers aren't supported anyway.  To avoid getting burnt
later, I've restructured the trigger support so that we don't keep trigger
FmgrInfo structs in relcache memory.  Some other related cleanups too:
it's not really necessary to call fmgr_info at all while setting up
the index support info in relcache entries, because those ScanKeyEntry
structs are never used to invoke the functions.  This should speed up
relcache initialization a tiny bit.
2001-06-01 02:41:36 +00:00
Bruce Momjian
a1d9d096f0 Update release 1.09 date 2001-06-01 00:24:21 +00:00
Bruce Momjian
e5b412bd79 Forgot SGML section section id tag for 7.1. 2001-05-31 21:49:15 +00:00
Bruce Momjian
227a584655 Update FAQ. 2001-05-30 23:00:41 +00:00
Bruce Momjian
e07d894990 Update FAQ. 2001-05-30 22:58:00 +00:00
Bruce Momjian
e05d246084 Oops, had 0.2 release date wrong. 2001-05-30 22:04:33 +00:00
Bruce Momjian
3d56fb7598 This is a docs patch to go with my DROP CONSTRAINT patch.
Christopher Kings
2001-05-30 13:01:08 +00:00
Tom Lane
7d4854f85c Correct obsolete example of FROM-less query. 2001-05-30 04:32:30 +00:00
Bruce Momjian
aa665d901f In chapter:
7.7. Keys

you have

    However, my application requires that each collection will also have a
    unique name. Why? So that a human being who wants to modify a collection
    will be able to identify it. It's much harder to know, if you have two
    collections named "Life Science", the the one tagged 24433 is the one
you
    need, and the one tagged 29882 is not

    I think 'the the' shouldn't be repeated twice. Although taken from an
email it would be cool to fix.

Cheers,
Maxim Maletsky
2001-05-30 04:01:11 +00:00
Tom Lane
a056f14be0 Cause plpgsql's PERFORM to behave according to its documentation,
which says that PERFORM will execute any SELECT query and discard the
result.  The former implementation would in fact raise an error if the
result contained more than one row or more than one column.

Also, change plpgsql's error-logging mechanism to emit the additional
messages about error location at NOTICE rather than DEBUG level.  This
allows them to be seen by the client without having to dig into the
postmaster log file (which may be nonexistent or inaccessible by the
client).
2001-05-28 19:33:24 +00:00
Peter Eisentraut
3fdfce6839 markup fix 2001-05-28 14:58:58 +00:00
Bruce Momjian
32762facf6 Sample output that appears below the table attributes for \d:
Indicies: palm_buy_date_idx
          palm_user_date_idx
Primary Key: palm_buyers_pkey
Unique Key: palm_buyers_username
Constraint: "$1" ((sex = 'M'::bpchar) OR (sex = 'F'::bpchar))

Note that check constraint name now shown as well.  (Makes it a lot easier
to test inheritance support in ADD/DROP constraint :) )

Attached is a docs change for psql.

Christopher Kings
2001-05-28 04:27:17 +00:00
Peter Eisentraut
96147a6d1c Make UPDATE and DELETE privileges distinct. Add REFERENCES and TRIGGER
privileges.  INSERT and COPY FROM now require INSERT (only).  Add
privileges regression test.
2001-05-27 09:59:30 +00:00
Bruce Momjian
f6923ff3ac Oops, only wanted python change in the last commit. Backing out. 2001-05-25 15:45:34 +00:00
Bruce Momjian
dffb673692 While changing Cygwin Python to build its core as a DLL (like Win32
Python) to support shared extension modules, I have learned that Guido
prefers the style of the attached patch to solve the above problem.
I feel that this solution is particularly appropriate in this case
because the following:

    PglargeType
    PgType
    PgQueryType

are already being handled in the way that I am proposing for PgSourceType.

Jason Tishler
2001-05-25 15:34:50 +00:00
Peter Eisentraut
444c5bf1b2 SQL function bit_length 2001-05-24 09:29:29 +00:00
Bruce Momjian
50bad5ed41 Update FAQ. 2001-05-22 21:50:34 +00:00
Peter Eisentraut
efcecd9eca Make bit and bit varying types reject too long input. (They already tried
to do that, but inconsistently.)  Make bit type reject too short input,
too, per SQL.  Since it no longer zero pads, 'zpbit*' has been renamed to
'bit*' in the source, hence initdb.
2001-05-22 16:37:17 +00:00
Peter Eisentraut
c84c3d8fea more indices -> indexes 2001-05-22 16:00:00 +00:00
Bruce Momjian
fdf067c108 ELSEIF PL/PgSQL doc patch.
Klaus Reger
2001-05-22 13:52:27 +00:00
Peter Eisentraut
5546ec289b Make char(n) and varchar(n) types raise an error if the inserted string is
too long.  While I was adjusting the regression tests I moved the array
things all into array.sql, to make things more manageable.
2001-05-21 16:54:46 +00:00
Peter Eisentraut
cb8b40e6d5 Allow special '$libdir' macro to show up in object file path in CREATE
FUNCTION command.  Guard against trying to load a directory.  Update
documentation some.
2001-05-19 09:01:10 +00:00
Peter Eisentraut
a6677f0f9e Change "indices" to "indexes", per OED. 2001-05-17 21:50:18 +00:00
Peter Eisentraut
f000ffd28e Add -U and -W options to pg_dump and friends to support non-interactive
specification of username (like in psql).  pg_dumpall now works with
password authentication.
2001-05-17 21:12:49 +00:00
Peter Eisentraut
761a0bb69b Add dynamic_library_path parameter and automatic appending of shared
library extension.
2001-05-17 17:44:18 +00:00
Bruce Momjian
e4f2bea7fb Add HISTORY items for 7.1.2. 2001-05-17 13:28:30 +00:00
Bruce Momjian
3848a14ed7 redo record -> undo record, Tom Lane. 2001-05-15 13:57:37 +00:00
Bruce Momjian
1e7b79cebc Remove unused tables pg_variable, pg_inheritproc, pg_ipl tables. Initdb
forced.
2001-05-14 20:30:21 +00:00
Bruce Momjian
7d802e07a7 Fix 'set path' for csh. 2001-05-14 16:16:52 +00:00
Peter Eisentraut
01839df6dd Add index. Only some parts of the manual set have index entries so far... 2001-05-12 22:51:36 +00:00
Peter Eisentraut
b3f66d1980 Add command '\pset footer' to psql to turn off default "(x rows)" footer. 2001-05-12 19:44:46 +00:00
Peter Eisentraut
bbc3920fe9 PL/Python should build portably now, if you can get over the fact that
there's no shared libpython.  Test suite works as well. Also, add some
documentation.
2001-05-12 17:49:32 +00:00
Tom Lane
0ad9abe72e Improve discussion of %TYPE and %ROWTYPE. 2001-05-11 06:10:44 +00:00