Commit Graph

2469 Commits

Author SHA1 Message Date
Bruce Momjian 9c48cae3e4 Add pipe parameter to COPY function to allow proper line termination. 2003-04-19 19:55:37 +00:00
Tom Lane bd8d441775 Second round of FE/BE protocol changes. Frontend->backend messages now
have length counts, and COPY IN data is packetized into messages.
2003-04-19 00:02:30 +00:00
Tom Lane cb7fb3ca95 First phase of FE/BE protocol modifications: new StartupPacket layout
with variable-width fields.  No more truncation of long user names.
Also, libpq can now send its environment-variable-driven SET commands
as part of the startup packet, saving round trips to server.
2003-04-17 22:26:02 +00:00
Bruce Momjian 76fd678c06 Make pg_dump's concurency capability more prominent. 2003-04-17 15:34:37 +00:00
Tom Lane 26b237ffad Various clarifications; add a clear DRAFT marker; minor adjustments in
some message types.  In particular add text/binary flag to StartCopyIn
and StartCopyOut, so that client library can know what is expected or
forthcoming.
2003-04-16 20:53:38 +00:00
Tom Lane fe19e56c57 First draft of revised FE/BE protocol specification. Still needs work,
but I'm putting it up so people can see and comment on it.
2003-04-15 22:51:18 +00:00
Peter Eisentraut 35e60ea967 Change names of ISO-8859-x encodings to ISO_8859_x, to match reality. 2003-04-15 13:26:54 +00:00
Peter Eisentraut 7c084d148f Bring SQL ref pages to consistent format, part 1. 2003-04-15 13:25:08 +00:00
Peter Eisentraut 72aa9488d3 Add better markup and improve some text here and there. 2003-04-15 13:23:35 +00:00
Tom Lane 3f4f235f79 Another try at correctly explaining the difference between Postgres and
SQL92 temp tables.  Possibly I got it right this time.
2003-04-14 18:08:58 +00:00
Tom Lane 4af1769ae9 Minor copy-editing. 2003-04-14 15:40:02 +00:00
Tom Lane 6d99dbb0c9 Clarify description of our deviation from standard for temp tables,
per suggestion from Mike Sykes.
2003-04-14 15:24:46 +00:00
Peter Eisentraut 6ff82c6742 Integrate the operator class section into the comprehensive extending SQL
chapter as well.
2003-04-13 09:57:35 +00:00
Peter Eisentraut 4e5602e9b8 A couple of minor fixes 2003-04-13 09:56:00 +00:00
Peter Eisentraut d8521b9b91 Revision 2003-04-11 18:41:20 +00:00
Peter Eisentraut dcb0049523 Revision 2003-04-11 13:22:35 +00:00
Peter Eisentraut a6554df4f7 In an effort to reduce the total number of chapters, combine the small
chapters on extending types, operators, and aggregates into the extending
functions chapter.  Move the information on how to call table functions
into the queries chapter.  Remove some outdated information that is
already present in a better form in other parts of the documentation.
2003-04-10 01:22:45 +00:00
Peter Eisentraut a8cb3368db General editing 2003-04-07 01:29:26 +00:00
Peter Eisentraut d7c333eb9a Fix markup. 2003-04-06 22:41:52 +00:00
Tom Lane 8cd571b202 Clarify exactly when DST-changeover-induced regression test failures
can be expected to occur.
2003-04-06 17:47:24 +00:00
Tom Lane 3b4ca4c0d9 Code review for pg_stat_get_backend_activity_start patch --- fix
return type, make protection condition agree with recent change to
pg_stat_get_backend_activity, clean up documentation.
2003-04-04 03:03:54 +00:00
Tom Lane a385186ff7 Remove zero_damaged_pages from postgresql.conf.sample; the only way to
find out about it is to read the documentation that tells you how
dangerous it is.  Add default_transaction_read_only to documentation;
seems to have been overlooked in patch that added read-only transactions.
Clean up check_guc comparison script, which has been suffering bit rot.
2003-04-03 23:32:47 +00:00
Tom Lane 80597fd992 Fix broken markup. 2003-03-30 21:48:37 +00:00
Tom Lane fd42262836 Add code to apply some simple sanity checks to the header fields of a
page when it's read in, per pghackers discussion around 17-Feb.  Add a
GUC variable zero_damaged_pages that causes the response to be a WARNING
followed by zeroing the page, rather than the normal ERROR; this is per
Hiroshi's suggestion that there needs to be a way to get at the data
in the rest of the table.
2003-03-28 20:17:13 +00:00
Bruce Momjian c2d5abae9b Fix number of columns in SGML, from Weiping He 2003-03-28 00:23:29 +00:00
Bruce Momjian 54f7338fa1 This patch implements holdable cursors, following the proposal
(materialization into a tuple store) discussed on pgsql-hackers earlier.
I've updated the documentation and the regression tests.

Notes on the implementation:

- I needed to change the tuple store API slightly -- it assumes that it
won't be used to hold data across transaction boundaries, so the temp
files that it uses for on-disk storage are automatically reclaimed at
end-of-transaction. I added a flag to tuplestore_begin_heap() to control
this behavior. Is changing the tuple store API in this fashion OK?

- in order to store executor results in a tuple store, I added a new
CommandDest. This works well for the most part, with one exception: the
current DestFunction API doesn't provide enough information to allow the
Executor to store results into an arbitrary tuple store (where the
particular tuple store to use is chosen by the call site of
ExecutorRun). To workaround this, I've temporarily hacked up a solution
that works, but is not ideal: since the receiveTuple DestFunction is
passed the portal name, we can use that to lookup the Portal data
structure for the cursor and then use that to get at the tuple store the
Portal is using. This unnecessarily ties the Portal code with the
tupleReceiver code, but it works...

The proper fix for this is probably to change the DestFunction API --
Tom suggested passing the full QueryDesc to the receiveTuple function.
In that case, callers of ExecutorRun could "subclass" QueryDesc to add
any additional fields that their particular CommandDest needed to get
access to. This approach would work, but I'd like to think about it for
a little bit longer before deciding which route to go. In the mean time,
the code works fine, so I don't think a fix is urgent.

- (semi-related) I added a NO SCROLL keyword to DECLARE CURSOR, and
adjusted the behavior of SCROLL in accordance with the discussion on
-hackers.

- (unrelated) Cleaned up some SGML markup in sql.sgml, copy.sgml

Neil Conway
2003-03-27 16:51:29 +00:00
Bruce Momjian 64c1399dac * Make pg_get_triggerdef documentation consistent with other pg_get_
functions
* Document pg_conversion_is_visible() which was created in one of my
previous patches and didn't get documented for some reason

Christopher Kings-Lynne
2003-03-27 16:45:51 +00:00
Bruce Momjian 7a3e7b64ac to_char fixes, Karel Zak 2003-03-27 16:35:31 +00:00
Peter Eisentraut 5e5c5cd31a Merge documentation into one book. (Build with "make html".) Replace
vague cross-references with real links.
2003-03-25 16:15:44 +00:00
Bruce Momjian 685a4934d2 I mean, bison 1.875. :-) 2003-03-25 15:11:53 +00:00
Bruce Momjian d49800de31 Mention bison 1.85 is now required. 2003-03-25 14:58:15 +00:00
Bruce Momjian f1792b932c Use PQfreemem() consistently, and document its use for Notify.
Keep PQfreeNotify() around for binary compatibility.
2003-03-25 02:44:36 +00:00
Bruce Momjian 8670e3588f Prevent multiple queries in a single string into a single transaction
when autocommit is off, and document grouping when autocommit is on.
2003-03-24 18:33:52 +00:00
Peter Eisentraut d258ba01ec Another big editing pass for consistent content and presentation. 2003-03-24 14:32:51 +00:00
Tom Lane 8d9e025e7f Instead of storing pg_statistic stavalues entries as text strings, store
them as arrays of the internal datatype.  This requires treating the
stavalues columns as 'anyarray' rather than 'text[]', which is not 100%
kosher but seems to work fine for the purposes we need for pg_statistic.
Perhaps in the future 'anyarray' will be allowed more generally.
2003-03-23 05:14:37 +00:00
Bruce Momjian 23ecb8855d Add PQfreemem() call for Win32. 2003-03-22 03:29:06 +00:00
Bruce Momjian e02f818311 Add hostmask() function:
+       <entry><function>hostmask</function>(<type>inet</type>)</entry>
+       <entry><type>inet</type></entry>
+       <entry>construct hostmask for network</entry>
+       <entry><literal>hostmask('192.168.23.20/30')</literal></entry>
+       <entry><literal>0.0.0.3</literal></entry>

Greg Wickham
2003-03-21 21:54:29 +00:00
Bruce Momjian 93331d8318 Remove mention of transactions for insensitive cursors. 2003-03-21 17:11:46 +00:00
Tom Lane d72f6c7503 Reimplement NUMERIC datatype using base-10000 arithmetic; also improve
some of the algorithms for higher functions.  I see about a factor of ten
speedup on the 'numeric' regression test, but it's unlikely that that test
is representative of real-world applications.
initdb forced due to change of on-disk representation for NUMERIC.
2003-03-21 01:58:05 +00:00
Bruce Momjian b2e09fcd5e This is not the only place in the system catalogs where NULL is
effectively used to mean a default value that could also be spelled
out explicitly.  (ACLs behave that way, and useconfig/datconfig
do too IIRC.)

It's a bit of a hack, but it saves table space and backend code ---
without this convention the default would have to be inserted "manually"
since we have no mechanism to supply defaults when C code is forming a
new catalog tuple.

I'm inclined to leave the code alone.  But Alvaro is right that it'd be
good to point out the 'infinity' option in the CREATE USER and ALTER
USER man pages.  (Doc patch please?)

Alvaro Herrera
2003-03-20 20:05:32 +00:00
Bruce Momjian 0fe77d7283 The documentation for SELECT is incorrect in a sense: the syntax for a
join is defined as:

from_item [ NATURAL ] join_type from_item
    [ ON join_condition | USING ( join_column_list ) ]

However, if the join_type is an INNER or OUTER join, an ON, USING, or
NATURAL clause *must* be specified (it's not optional, as that segment
of the docs suggest).

I'm not exactly sure what the best way to fix this is, so I've attached
a patch adding a FIXME comment to the relevant section of the SGML. If
anyone has any ideas on the proper way to outline join syntax, please
speak up.

Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC
2003-03-20 19:00:01 +00:00
Bruce Momjian 3be6367b9f This patch creates a function named pg_get_triggerdef that takes the oid of
a trigger as its parameter.  It is basically copied from the pg_dump
code.

Christopher Kings-Lynne
2003-03-20 18:58:02 +00:00
Bruce Momjian 8819213534 Now that the CLUSTER ALL machinery is in place, the clusterdb script can
be simplified (I'd thought that it can even be removed).  This patch
does that.

Alvaro Herrera
2003-03-20 18:53:18 +00:00
Bruce Momjian 432b9b0f75 Add ALTER TABLE <tablename> CLUSTER ON <indexname>
Alvaro Herrera
2003-03-20 18:52:48 +00:00
Bruce Momjian db5d7ccac9 It would also be handy if users could see their own pg_stat_activity
queries while the rest remain blank.

Kevin Brown
2003-03-20 18:51:16 +00:00
Bruce Momjian 41d17389f1 Fix typo in SGML tags. 2003-03-20 17:37:46 +00:00
Bruce Momjian da1534d952 Re-add type conversion examples. 2003-03-20 16:17:32 +00:00
Bruce Momjian 5f65225fa3 Todo items:
Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values

Also updated create sequence docs to mention NO MINVALUE, & NO MAXVALUE.

New Files:
doc/src/sgml/ref/alter_sequence.sgml
src/test/regress/expected/sequence.out
src/test/regress/sql/sequence.sql


ALTER SEQUENCE is NOT transactional.  It behaves similarly to setval().
It matches the proposed SQL200N spec, as well as Oracle in most ways --
Oracle lacks RESTART WITH for some strange reason.

--
Rod Taylor <rbt@rbt.ca>
2003-03-20 07:02:11 +00:00
Bruce Momjian 44aba28020 PGRES_POLLING_ACTIVE is unused, keep for backward compatibility.
Lennert Buytenhek
2003-03-20 06:23:30 +00:00
Bruce Momjian 54ca7a7b13 (Now featuring documentation: fixed some typos, expanded the
Envrironment and Files section, explained exactly what -w
does)

This is a patch which allows pg_ctl to make an intelligent
guess as to the proper port when running 'psql -l' to
determine if the database has started up (the -w flag).

The environment variable PGPORT is used. If that is not found,
it checks if a specific port has been set inside the postgresql.conf
file. If it is has not, it uses the port that Postgres was
compiled with.

Greg Sabino Mullane  greg@turnstep.com
2003-03-20 05:00:14 +00:00
Bruce Momjian 15ce2d2e4a > I can see a couple possible downsides: (a) the library might have some
> weird behavior across fork boundaries; (b) the additional memory space
> that has to be duplicated into child processes will cost something per
> child launch, even if the child never uses it.  But these are only
> arguments that it might not *always* be a prudent thing to do, not that
> we shouldn't give the DBA the tool to do it if he wants.  So fire away.

Here is a patch for the above, including a documentation update. It
creates a new GUC variable "preload_libraries", that accepts a list in
the form:

   preload_libraries = '$libdir/mylib1:initfunc,$libdir/mylib2'

If ":initfunc" is omitted or not found, no initialization function is
executed, but the library is still preloaded. If "$libdir/mylib" isn't
found, the postmaster refuses to start.

In my testing with PL/R, it reduces the first call to a PL/R function
(after connecting) from almost 2 seconds, down to about 8 ms.

Joe Conway
2003-03-20 04:51:44 +00:00
Bruce Momjian 7d1d7200a0 Minor doc patch: create function
Gavin Sherry
2003-03-20 04:41:13 +00:00
Bruce Momjian a18331004a Add start time to pg_stat_activity
Neil Conway
2003-03-20 03:34:57 +00:00
Bruce Momjian 1ef7ba20e7 Remove typecasting section that isn't needed anymore. 2003-03-19 21:20:52 +00:00
Peter Eisentraut 9e0ab7126d Reimplement create and drop scripts in C, to reduce repetitive
connections, increase robustness, add NLS, and prepare for Windows port.
(vacuumdb and clusterdb will follow later.)
2003-03-18 22:19:47 +00:00
Bruce Momjian 526de7ffd1 Remove duplicate ANALYZE recommendation in pg_dump. 2003-03-18 17:05:01 +00:00
Bruce Momjian 29c18bca50 Add mention of ANALYZE after object restore. 2003-03-18 00:02:11 +00:00
Peter Eisentraut 706a32cdf6 Big editing for consistent content and presentation. 2003-03-13 01:30:29 +00:00
Tom Lane 6261c75014 Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n options
for FETCH and MOVE.
2003-03-11 19:40:24 +00:00
Tom Lane aa83bc04e0 Restructure parsetree representation of DECLARE CURSOR: now it's a
utility statement (DeclareCursorStmt) with a SELECT query dangling from
it, rather than a SELECT query with a few unusual fields in it.  Add
code to determine whether a planned query can safely be run backwards.
If DECLARE CURSOR specifies SCROLL, ensure that the plan can be run
backwards by adding a Materialize plan node if it can't.  Without SCROLL,
you get an error if you try to fetch backwards from a cursor that can't
handle it.  (There is still some discussion about what the exact
behavior should be, but this is necessary infrastructure in any case.)
Along the way, make EXPLAIN DECLARE CURSOR work.
2003-03-10 03:53:52 +00:00
Tom Lane 391eb5e5b6 Reimplement free-space-map management as per recent discussions.
Adjustable threshold is gone in favor of keeping track of total requested
page storage and doling out proportional fractions to each relation
(with a minimum amount per relation, and some quantization of the results
to avoid thrashing with small changes in page counts).  Provide special-
case code for indexes so as not to waste space storing useless page
free space counts.  Restructure internal data storage to be a flat array
instead of list-of-chunks; this may cost a little more work in data
copying when reorganizing, but allows binary search to be used during
lookup_fsm_page_entry().
2003-03-04 21:51:22 +00:00
Tom Lane d28cd2273b Improve description of geometric operators. 2003-03-03 03:31:23 +00:00
Tom Lane 799bc58dc7 More infrastructure for btree compaction project. Tree-traversal code
now knows what to do upon hitting a dead page (in theory anyway, it's
untested...).  Add a post-VACUUM-cleanup entry point for index AMs, to
provide a place for dead-page scavenging to happen.
Also, fix oversight that broke btpo_prev links in temporary indexes.
initdb forced due to additions in pg_am.
2003-02-22 00:45:05 +00:00
Bruce Momjian cde8bbc413 This patch makes the following changes to the documentation:
- more work from the SGML police

- some grammar improvements: rewriting a paragraph or two, replacing
contractions where (IMHO) appropriate

- fix missing utility commands in lock mode docs

- improve CLUSTER, REINDEX, SET SESSION AUTHORIZATION ref pages

Neil Conway
2003-02-19 04:06:28 +00:00
Bruce Momjian 81f6db4803 Allow PQcmdTuples to return row counts for MOVE and FETCH.
Neil Conway
2003-02-19 03:59:02 +00:00
Bruce Momjian a286f73210 The following patches eliminate the overflows in the j2date() and date2j()
functions which limited the maximum date for a timestamp to AD 1465001.
The new limit is AD 5874897.
The files affected are:

doc/src/sgml/datatype.sgml:
    Documentation change due to patch. Included is a notice about
    the reduced range when using an eight-byte integer for timestamps.

src/backend/utils/adt/datetime.c:
    Replacement functions for j2date() and date2j() functions.

src/include/utils/datetime.h:
    Corrected a bug with the limit on the earliest possible date,
    Nov 23,-4713 has a Julian day count of -1. The earliest possible
    date should be Nov 24, -4713 with a day count of 0.

src/test/regress/expected/horology-no-DST-before-1970.out:
src/test/regress/expected/horology-solaris-1947.out:
src/test/regress/expected/horology.out:
    Copies of expected output for regression testing.
    Note: Only horology.out has been physically tested. I do not have access
    to a Solaris box and I don't know how to provoke the "pre-1970" test.

src/test/regress/sql/horology.sql:
    Added some test cases to check extended range.

John Cochran
2003-02-19 03:48:11 +00:00
Bruce Momjian 4996eea81c This patch includes more SGML markup fixes as well as a few minor
additions to the docs.

Neil Conway
2003-02-19 03:13:25 +00:00
Bruce Momjian aca86479fd This patch adds a note to the documentation describing why the
performance of min() and max() is slow when applied to the entire table,
and suggesting the simple workaround most experienced Pg users
eventually learn about (SELECT xyz ... ORDER BY xyz LIMIT 1).

Neil Conway
2003-02-19 03:12:22 +00:00
Tom Lane 51972a9d5d COALESCE() and NULLIF() are now first-class expressions, not macros
that turn into CASE expressions.  They evaluate their arguments at most
once.  Patch by Kris Jurka, review and (very light) editorializing by me.
2003-02-16 02:30:39 +00:00
Bruce Momjian c5f8cbf9f5 Fix broken markup I just introduced. 2003-02-14 02:21:25 +00:00
Bruce Momjian 77cf4a133c Properly document location of pg_service.conf.sample. 2003-02-14 01:32:31 +00:00
Bruce Momjian 29e57ce303 Add local ident OpenBSD mention that was missing in one place. 2003-02-13 05:47:46 +00:00
Bruce Momjian 0064031f99 This patch fixes an error in the usage message for 'clusterdb', and
makes a few editorial changes to the documentation.


Neil Conway
2003-02-13 05:37:44 +00:00
Bruce Momjian 0845b6f326 > > They work the same as table constraints with in-line declaration (no
> > comma).
>
> OK. But the documentation implies there is a comma, so it should probably
> get chenged then.

Yes, it should. (attached)

[ Backpatched to 7.3.X too.]

Rod Taylor
2003-02-13 05:32:42 +00:00
Bruce Momjian 6cb1f4fe44 The "random" regression test uses a function called oidrand(), which
takes two parameters, an OID x and an integer y, and returns "true" with
probability 1/y (the OID argument is ignored). This can be useful -- for
example, it can be used to select a random sampling of the rows in a
table (which is what the "random" regression test uses it for).

This patch removes that function, because it was old and messy. The old
function had the following problems:

- it was undocumented

- it was poorly named

- it was designed to workaround an optimizer bug that no longer exists
(the OID argument is to ensure that the optimizer won't optimize away
calls to the function; AFAIK marking the function as 'volatile' suffices
nowadays)

- it used a different random-number generation technique than the other
PSRNG-related functions in the backend do (it called random() like they
do, but it had its own logic for setting a set and deciding when to
reseed the RNG).

Ok, this patch removes oidrand(), oidsrand(), and userfntest(), and
improves the SGML docs a little bit (un-commenting the setseed()
documentation).

Neil Conway
2003-02-13 05:24:04 +00:00
Bruce Momjian 8195f8f042 Code for WITHOUT OIDS.
On Wed, 2003-01-08 at 21:59, Christopher Kings-Lynne wrote:
> I agree.  I want to remove OIDs from heaps of our tables when we go to 7.3.
> I'd rather not have to do it in the dump due to down time.


Rod Taylor <rbt@rbt.ca>
2003-02-13 05:20:05 +00:00
Bruce Momjian 2bd63117c1 [ dumping schemas ]
> I don't care what you use for short options if all useful ones are taken.
> But the long option should be --schema.

Ok, fair enough: a revised patch is attached that uses the '-n' short
option and the '--schema' long option.

Neil Conway
2003-02-13 04:54:16 +00:00
Tom Lane c15a4c2aef Replace planner's representation of relation sets, per pghackers discussion.
Instead of Lists of integers, we now store variable-length bitmap sets.
This should be faster as well as less error-prone.
2003-02-08 20:20:55 +00:00
Tom Lane 77ede8900d Create a GUC variable REGEX_FLAVOR to control the type of regular
expression accepted by the regex operators, per discussion yesterday.

Along the way, reduce deadlock_timeout from PGC_POSTMASTER to PGC_SIGHUP
category.  It is probably best to insist that all backends share the same
setting, but that doesn't mean it has to be frozen at startup.
2003-02-06 20:25:33 +00:00
Tom Lane 7bcc6d98fb Replace regular expression package with Henry Spencer's latest version
(extracted from Tcl 8.4.1 release, as Henry still hasn't got round to
making it a separate library).  This solves a performance problem for
multibyte, as well as upgrading our regexp support to match recent Tcl
and nearly match recent Perl.
2003-02-05 17:41:33 +00:00
Bruce Momjian bf4bf092e5 Revert doc change so we mention moving past the last row of a cursor. 2003-02-04 11:23:58 +00:00
Bruce Momjian 464598b637 Add mention of CURRENT_SCHEMA for object creation. 2003-02-03 15:56:50 +00:00
Bruce Momjian 802a4d4111 Change MOVE LAST to MOVE ALL.
Standard says FETCH LAST is after last row, and we don't do that.
2003-02-03 14:04:24 +00:00
Tom Lane c7bceca156 Implement EXPLAIN EXECUTE. By Neil Conway, with some kibitzing from
Tom Lane.
2003-02-02 23:46:38 +00:00
Tom Lane 6adb475f77 Update release history for 7.3.2. 2003-02-02 19:48:20 +00:00
Tom Lane 6ba8af9d5d Remove restriction that cast functions cannot be volatile. This
restriction was debatable to begin with, but it has now become obvious
that it breaks forward-porting of user-defined types; contrib/lo being
the most salient example.
2003-02-01 22:09:26 +00:00
Tom Lane bd96dd1184 Allow a time zone to be specified (and silently ignored) in the input
for type 'time without time zone', as we already did for type
'timestamp without time zone'.  This patch was proposed by Tom Lockhart
on 7-Nov-02, but he never got around to applying it.  Adjust regression
tests and documentation to match.
2003-01-31 01:08:08 +00:00
Tom Lane 0de771dd5c Fix typo, per Neil Conway. 2003-01-31 00:10:51 +00:00
Tom Lane 4ec457ad58 Fix regression in .pgpass support. From Neil Conway. 2003-01-30 19:49:54 +00:00
Tom Lane 887edf4ff7 Update release history for 7.2.4. 2003-01-29 22:14:08 +00:00
Tom Lane 23b8a0ce61 Repair array subscript overrun identified by Yichen Xie. Reduce the
value of MAX_TIME_PRECISION in floating-point-timestamp-storage case
from 13 to 10, which is as much as time_out is actually willing to print.
(The alternative of increasing the number of digits we are willing to
print looks risky; we might find ourselves printing roundoff garbage.)
2003-01-29 01:08:42 +00:00
Tom Lane 2e46b762eb Extend join-selectivity API (oprjoin interface) so that join type is
passed to join selectivity estimators.  Make use of this in eqjoinsel
to derive non-bogus selectivity for IN clauses.  Further tweaking of
cost estimation for IN.
initdb forced because of pg_proc.h changes.
2003-01-28 22:13:41 +00:00
Bruce Momjian f21fb30dfc Revert optimizer page count change. 2003-01-28 03:34:29 +00:00
Bruce Momjian 9b9b14915b Fix typo 233 pages -> 333 pages. 2003-01-27 22:40:56 +00:00
Tom Lane 9f5f212475 Allow the planner to collapse explicit inner JOINs together, rather than
necessarily following the JOIN syntax to develop the query plan.  The old
behavior is still available by setting GUC variable JOIN_COLLAPSE_LIMIT
to 1.  Also create a GUC variable FROM_COLLAPSE_LIMIT to control the
similar decision about when to collapse sub-SELECT lists into their parent
lists.  (This behavior existed already, but the limit was always
GEQO_THRESHOLD/2; now it's separately adjustable.)
2003-01-25 23:10:30 +00:00
Peter Eisentraut ef7422510e Grant options, and cascading revoke. Grant options are allowed only for
users right now, not groups.  Extension of has_foo_privileges functions to
query the grant options.  Extension of aclitem type to store grantor.
2003-01-23 23:39:07 +00:00
Tom Lane 742403bdad Update 'Mathematical Functions' table to reflect 7.3 addition of float8
forms of ceil(), floor(), sign().  Back-patch this and other recent
doc fixes in this file to the 7.3 branch.
2003-01-23 01:22:59 +00:00
Tom Lane a4482f4c4c Fix coredump problem in plpgsql's RETURN NEXT. When a SELECT INTO
that's selecting into a RECORD variable returns zero rows, make it
assign an all-nulls row to the RECORD; this is consistent with what
happens when the SELECT INTO target is not a RECORD.  In support of
this, tweak the SPI code so that a valid tuple descriptor is returned
even when a SPI select returns no rows.
2003-01-21 22:06:12 +00:00
Tom Lane bdfbfde1b1 IN clauses appearing at top level of WHERE can now be handled as joins.
There are two implementation techniques: the executor understands a new
JOIN_IN jointype, which emits at most one matching row per left-hand row,
or the result of the IN's sub-select can be fed through a DISTINCT filter
and then joined as an ordinary relation.
Along the way, some minor code cleanup in the optimizer; notably, break
out most of the jointree-rearrangement preprocessing in planner.c and
put it in a new file prep/prepjointree.c.
2003-01-20 18:55:07 +00:00
Bruce Momjian be2b660ecd This patch includes a lot of minor cleanups to the SGML documentation,
including:

- replacing all the appropriate usages of <citetitle>PostgreSQL
...</citetitle> with &cite-user;, &cite-admin;, and so on

- fix an omission in the EXECUTE documentation

- add some more text to the EXPLAIN documentation

- improve the PL/PgSQL RETURN NEXT documentation (more work to do here)

- minor markup fixes


Neil Conway
2003-01-19 00:13:31 +00:00
Bruce Momjian 3c731e0ed7 Add dash to:
set-returning functions or SRF's.

for clarity.
2003-01-17 03:28:18 +00:00
Bruce Momjian 606d4f7b38 Oops, put back changes. Those were Peter's, not mine. 2003-01-15 21:55:52 +00:00
Bruce Momjian 57a15288a1 Revert my changes to features.sgml. 2003-01-15 21:44:35 +00:00
Tom Lane de97072e3c Allow merge and hash joins to occur on arbitrary expressions (anything not
containing a volatile function), rather than only on 'Var = Var' clauses
as before.  This makes it practical to do flatten_join_alias_vars at the
start of planning, which in turn eliminates a bunch of klugery inside the
planner to deal with alias vars.  As a free side effect, we now detect
implied equality of non-Var expressions; for example in
	SELECT ... WHERE a.x = b.y and b.y = 42
we will deduce a.x = 42 and use that as a restriction qual on a.  Also,
we can remove the restriction introduced 12/5/02 to prevent pullup of
subqueries whose targetlists contain sublinks.
Still TODO: make statistical estimation routines in selfuncs.c and costsize.c
smarter about expressions that are more complex than plain Vars.  The need
for this is considerably greater now that we have to be able to estimate
the suitability of merge and hash join techniques on such expressions.
2003-01-15 19:35:48 +00:00
Bruce Momjian 0eed62f34d Reorder VARCHAR() to appear before CHAR() in docs. 2003-01-15 18:01:05 +00:00
Bruce Momjian 3b6ca54cda This patch includes some minor fixes and improvements to the SGML docs
for PL/PgSQL.

Neil Conway
2003-01-15 16:40:24 +00:00
Peter Eisentraut 2160c9177d Add sql_features table to information schema. Generate the features list
in the documentation from that same data.
2003-01-14 23:19:34 +00:00
Peter Eisentraut 97f0d0c86f Escape ampersand. 2003-01-14 10:19:02 +00:00
Tom Lane d4ce5a4f4c Revise cost_qual_eval() to compute both startup (one-time) and per-tuple
costs for expression evaluation, not only per-tuple cost as before.
This extension is needed in order to deal realistically with hashed or
materialized sub-selects.
2003-01-12 22:35:29 +00:00
Tom Lane b05204ac8a Fix some minor grammatical errors. 2003-01-12 18:42:59 +00:00
Bruce Momjian 3e54e26bcf SGML build cleanups from Neil Conway. 2003-01-12 01:33:00 +00:00
Bruce Momjian 161c2a7be6 Fix capitalization. 2003-01-11 21:02:49 +00:00
Bruce Momjian 266eb6ad28 Fix markup problem in link to other SGML file. 2003-01-11 17:03:45 +00:00
Bruce Momjian 3cd7edfee0 > > This patch improves the documentation for the shared_buffers GUC param.
>
> I'd suggest that the runtime.sgml description explicitly say "values of
> at least a few thousand are recommended for production installations".

Neil Conway
2003-01-11 05:04:14 +00:00
Bruce Momjian ab74a932a3 Add doc links from SET to SET_CONSTRAINTS, SET_SESSION_AUTH,
SET_TRANSACTION.
2003-01-11 00:39:52 +00:00
Peter Eisentraut 2650fba6ff Fix markup. 2003-01-11 00:00:03 +00:00
Peter Eisentraut b65cd56240 Read-only transactions, as defined in SQL. 2003-01-10 22:03:30 +00:00
Peter Eisentraut 36ea26793a Add optional drop behavior clause to REVOKE command, for SQL conformance.
Currently, only RESTRICT is allowed.
2003-01-10 11:02:51 +00:00
Tom Lane 061168d38f Code review for FETCH/MOVE 0 changes. Improve documentation, do the
right thing with the destination when FETCH 0 can't return a row,
don't try to stuff LONG_MAX into an int value.
2003-01-08 00:22:27 +00:00
Tom Lane b4b62cff93 Apply the proper version of Christopher Kings-Lynne's describe patch
(ie, the one with describe-schema support).  Minor code review.
Adjust display of casts to use standard type names.
2003-01-07 20:56:07 +00:00
Bruce Momjian 925800cc0b Document that psql \encoding doesn't see SET CLIENT_ENCODING changes. 2003-01-07 18:46:52 +00:00
Bruce Momjian c859cda782 Document libpq service capability, and add sample file. 2003-01-07 04:25:29 +00:00
Bruce Momjian c9cf982038 Enable IPv6 libpq 'hostaddr' addresses. Update docs. 2003-01-06 22:48:16 +00:00
Peter Eisentraut 939a59ffc6 Use our own version of getopt_long() if the OS doesn't have one. 2003-01-06 18:53:25 +00:00
Bruce Momjian c3e9699f21 Enable IPv6 connections to the server, and add pg_hba.conf IPv6 entries
if the OS supports it.  Code will still compile on non-IPv6-aware
machines (feature added by Bruce).

Nigel Kukard
2003-01-06 03:18:27 +00:00
Tom Lane d99e7b5a0d Add note explaining that a mergejoinable equality operator is now
required if a datatype is to be accepted by GROUP BY, DISTINCT, or
ORDER BY.  This is documentation for code changes made pursuant to
pgsql-hackers discussion around 29-Nov-02.
2003-01-06 01:20:40 +00:00
Tom Lane daec989f6a ALTER DOMAIN OWNER, from Rod Taylor. 2003-01-06 00:31:45 +00:00
Tom Lane 699782b695 Adjust Tcl-related code to compile cleanly with Tcl 8.4 (add const modifiers as
needed).  Some desultory const-ification of SPI interface to support this.
2002-12-30 22:10:54 +00:00
Tom Lane 896bd121cc Code review for transaction-safe-TRUNCATE patch: minor cleanups. 2002-12-30 19:45:17 +00:00
Tom Lane a03c0d93d5 Code review for CLUSTER ALL patch. Fix bogus locking, incorrect transaction
stop/start nesting, other infelicities.
2002-12-30 18:42:17 +00:00
Bruce Momjian 33f0108df8 Cause FETCH 1 to return the current cursor row, or zero if at
beginning/end of cursor.

Have MOVE return 0/1 depending on cursor position.

Matches SQL spec.

Pass cursor counter from parser as a long rather than int.

Doc updates.
2002-12-30 15:31:51 +00:00
Bruce Momjian 9a39ba4b0f Trivial patch to increase max_fsm_pages as per earlier discussion.
Philip Warner
2002-12-27 14:06:34 +00:00
Bruce Momjian ff494e8851 Update 7.3.1 to give proper attribution to pg_dump item. 2002-12-20 00:24:00 +00:00
Bruce Momjian e77443fde0 MVCC doc improvements:
> I'm not objecting to improving the text.  I am objecting to deleting it
> outright...

Ok, fair enough. I've attached a revised version of the patch -- let me
know you think it needs further improvements.

Neil Conway
2002-12-18 20:40:24 +00:00
Tom Lane 88e816964b Add some items to development-branch release notes. 2002-12-18 19:01:25 +00:00
Bruce Momjian d1e2d0345f Stamp 7.3.1. 2002-12-18 02:06:23 +00:00
Bruce Momjian 49077e87af Improvement to CREATE TRIGGER and catalog documentation.
Neil Conway
2002-12-17 17:41:30 +00:00
Tom Lane 9cecff0314 Document that zero-column tables are allowed (and non-standard). 2002-12-16 19:08:25 +00:00
Peter Eisentraut 1b42ad7e59 Initial version of the SQL information schema 2002-12-14 00:24:35 +00:00
Bruce Momjian e60b5d5306 This patch fixes a few typos in the documentation for the '~/.pgpass'
libpq feature.

Neil Conway
2002-12-13 05:49:10 +00:00
Bruce Momjian d274105942 > There is an ugly little problem with the DB wrapper class.
>
> In pg.py the attributes of DB are defined as being the same as
> the attributes of the corresponding pgobject "db", using the following

...

> The problem is that the attributes of db (which are read only)
> are not static (they are actually function calls to PostgreSQL),
> especially "status" and "error", but those attributes are copied
> and this is done only once when initializing the DB object.
>
> So, in effect, only the attribute "db.error" of a DB instance
> will be updated, but not the attribute "error". Same with "status".


> Don't copy the (read only) attributes of the pgobject to the
> DB object, but only the methods, and all of them, like this:
>
> --------------- change in pg.py ------------------
> # Create convience methods, in a way that is still overridable.
> for e in self.db.__methods__:
>  setattr(self, e, getattr(self.db, e))
> ----------------------------------------------------
>
> Furthermore, make an addition to the documentation of the
> DB wrapper class (i.e. in pygresql-pg-db.html):
> After the sentence "All pgobject methods are included in this class also."
> add the following sentence "The pgobject read-only attributes can be
> accessed py adding the prefix 'db.' to them."

Christoph Zwerschke
2002-12-12 22:49:27 +00:00
Bruce Momjian 40c4472e22 TODO marked as done:
* Add schema, cast, and conversion backslash commands to psql

I had to create a new publically available function,
pg_conversion_is_visible, as it seemed to be missing from the catalogs.
This required me to do no small amount of hacking around in namespace.c

I have updated the \? help and sgml docs.

\dc - list conversions [PATTERN]
\dC - list casts
\dn list schemas

I didn't support patterns with casts as there's nothing obvious to match
against.

Catalog version incremented --- initdb required.

Christopher Kings-Lynne
2002-12-12 21:02:25 +00:00
Tom Lane b0422b215c Preliminary code review for domain CHECK constraints patch: add documentation,
make VALUE a non-reserved word again, use less invasive method of passing
ConstraintTestValue into transformExpr, fix problems with nested constraint
testing, do correct thing with NULL result from a constraint expression,
remove memory leak.  Domain checks still need much more work if we are going
to allow ALTER DOMAIN, however.
2002-12-12 20:35:16 +00:00
Bruce Momjian dc8d322a8b Mark SCO Openserver 5.0.4. supported by 7.3.1 as per chat report from user.
template/sco updated.
2002-12-11 22:27:26 +00:00
Bruce Momjian 1d8dfe3ac4 More minor improvements to the SGML docs, namely
doc/src/sgml/runtime.sgml

Neil Conway
2002-12-10 01:57:46 +00:00
Bruce Momjian 3bca6ca61c This patch updates doc/src/sgml/runtime.sgml to refer to "MacOS X", not
"OS/X".

Neil Conway
2002-12-09 21:03:30 +00:00
Bruce Momjian 3af3f79e69 In the examples, I missed changing a few 'column' and 'table' mentions
to domain when copying alter table docs.
--
Rod Taylor <rbt@rbt.ca>
2002-12-06 16:40:13 +00:00
Bruce Momjian e87e82d2b7 Attached are two small patches to expose md5 as a user function -- including
documentation and regression test mods. It seemed small and unobtrusive enough
to not require a specific proposal on the hackers list -- but if not, let me
know and I'll make a pitch. Otherwise, if there are no objections please apply.

Joe Conway
2002-12-06 05:20:28 +00:00
Bruce Momjian 88ae9cd411 Mention of DEFAULT_STATISTICS_TARGET default.
Jeff Davis
2002-12-06 05:18:57 +00:00
Bruce Momjian da1738a178 This patch improves the documentation for SERIAL columns a little bit.
Neil Conway
2002-12-06 05:17:42 +00:00
Bruce Momjian 982b26c0a9 RANDOM_PAGE_COST clarification of docs.
Joseph Shraibman
2002-12-06 05:17:03 +00:00
Bruce Momjian f679690621 Mark ALTER DOMAIN as supported, fix typo in header. 2002-12-06 05:07:16 +00:00
Bruce Momjian 05a6b37912 Re-addd Rod's ALTER DOMAIN patch. 2002-12-06 05:00:34 +00:00
Bruce Momjian 78705d0a19 Add file. 2002-12-06 04:40:58 +00:00
Bruce Momjian 6e9adbe191 Add SGML file. 2002-12-06 04:40:36 +00:00
Bruce Momjian 5b4c16e099 Back out ALTER DOMAIN patch until missing file appears. 2002-12-06 03:43:35 +00:00
Bruce Momjian 853153ca6d ALTER DOMAIN .. SET / DROP NOT NULL
ALTER DOMAIN .. SET / DROP DEFAULT
ALTER DOMAIN .. ADD / DROP CONSTRAINT

New files:
- doc/src/sgml/ref/alter_domain.sgml

Rod Taylor
2002-12-06 03:28:34 +00:00
Bruce Momjian d851f002a4 With a recent commit truncate is transaction safe in 7.4.
Rod Taylor
2002-12-06 03:15:07 +00:00
Bruce Momjian 23e88e25d6 Document get/set bit/byte functions. 2002-12-05 04:38:30 +00:00
Bruce Momjian ec1bee1478 Update docs mention of query string for debug_ commands, from Joseph
Shraibman.
2002-12-04 21:43:07 +00:00
Bruce Momjian f988edb4e1 Add OpenBSD local indent credentials, from William Ahern. 2002-12-03 21:50:44 +00:00
Bruce Momjian 75d1ed3392 Recreate HISTORY file to match release.sgml changes. Stamp 7.3 final in
configure/configure.in.
2002-11-26 22:04:03 +00:00
Bruce Momjian 80e6d99731 Add -cmdTuples to tcl interface. 2002-11-26 21:38:49 +00:00
Bruce Momjian 22a717a18e Update build rules for /HISTORY. 2002-11-26 19:22:16 +00:00
Bruce Momjian 6bfc09baf4 7.4devel now supports SQL:1999's "enhanced trigger capability" (which
is just FOR EACH STATEMENT triggers, AFAICS); this patch updates the
SQL conformance docs to note that.

Neil Conway
2002-11-24 03:15:55 +00:00
Bruce Momjian a2b4a7071d This minor patch corrects an error in the function docs: it's
"version()", not "version".

Neil Conway
2002-11-23 04:04:43 +00:00
Bruce Momjian 1b7f3cc02d This patch implements FOR EACH STATEMENT triggers, per my email to
-hackers a couple days ago.

Notes/caveats:

        - added regression tests for the new functionality, all
          regression tests pass on my machine

        - added pg_dump support

        - updated PL/PgSQL to support per-statement triggers; didn't
          look at the other procedural languages.

        - there's (even) more code duplication in trigger.c than there
          was previously. Any suggestions on how to refactor the
          ExecXXXTriggers() functions to reuse more code would be
          welcome -- I took a brief look at it, but couldn't see an
          easy way to do it (there are several subtly-different
          versions of the code in question)

        - updated the documentation. I also took the liberty of
          removing a big chunk of duplicated syntax documentation in
          the Programmer's Guide on triggers, and moving that
          information to the CREATE TRIGGER reference page.

        - I also included some spelling fixes and similar small
          cleanups I noticed while making the changes. If you'd like
          me to split those into a separate patch, let me know.

Neil Conway
2002-11-23 03:59:09 +00:00
Tom Lane 9416f3839d Update ports list from recent regression-test-database entries. 2002-11-23 03:50:34 +00:00
Tom Lane 349d529abf Release note improvements (Neil, Tom) 2002-11-23 02:41:03 +00:00
Peter Eisentraut ed24f28538 Fixups for man pages 2002-11-21 23:34:43 +00:00
Tom Lane 75394d3f5b Fix breakage in new-in-7.3 timetz_zone() function: was giving random
results due to doing arithmetic on uninitialized values.  Add some
documentation about the AT TIME ZONE construct.  Update some other
date/time documentation that seemed out of date for 7.3.
2002-11-21 23:31:20 +00:00
Bruce Momjian 71f411dd03 Add mention of kern.ipc.shm_use_phys for locking shared memory. 2002-11-21 18:19:51 +00:00
Tom Lane 8362be35e8 Code review for superuser_reserved_connections patch. Don't try to do
database access outside a transaction; revert bogus performance improvement
in SIBackendInit(); improve comments; add documentation (this part courtesy
Neil Conway).
2002-11-21 06:36:08 +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
Bruce Momjian 2676e11fdf Update ports list. 2002-11-20 22:01:57 +00:00
Bruce Momjian cd55a2b1be Back out NetBSD/arm32 port. 2002-11-19 17:17:48 +00:00
Bruce Momjian 7b5571e83d Update ports list. 2002-11-19 16:40:05 +00:00
Peter Eisentraut ded8f887aa Fix typo and markup. 2002-11-18 18:10:59 +00:00
Bruce Momjian 075f482024 Update SGML problem in ports. 2002-11-18 17:15:27 +00:00
Bruce Momjian c4501ec551 Remove ALL from CLUSTER ALL. Use just CLUSTER. 2002-11-18 17:12:07 +00:00
Bruce Momjian 72cf681383 Update ports list. 2002-11-18 05:02:08 +00:00
Bruce Momjian 38e6eb197d Re-order REINDEX options in manual for consistency. REINDEX
DATABASE/TABLE/INDEX is the proper order.
2002-11-17 23:43:32 +00:00
Peter Eisentraut 35223af057 Revise SQL features list. 2002-11-17 13:28:43 +00:00
Bruce Momjian 9249bdaabd SGML markup fixes. 2002-11-15 03:22:30 +00:00
Bruce Momjian da8149032a SGML improvements.
Neil Conway
2002-11-15 03:11:18 +00:00
Bruce Momjian 8bc717cb88 New version attached. The following is implemented:
- CLUSTER ALL clusters all the tables that have some index with
  indisclustered set and the calling user owns.
- CLUSTER tablename clusters the named table, using the index with
  indisclustered set.  If no index has the bit set, throws elog(ERROR).
- The multi-relation version (CLUSTER ALL) uses a multitransaction
  approach, similar to what VACUUM does.

Alvaro Herrera
2002-11-15 03:09:39 +00:00
Bruce Momjian 6b603e67dc Add DOMAIN check constraints.
Rod Taylor
2002-11-15 02:50:21 +00:00
Bruce Momjian 2986aa6a66 Add checkpoint_warning to warn of excessive checkpoints caused by too
few WAL files.
2002-11-15 02:44:57 +00:00
Bruce Momjian c948a3f4b8 Rename hostname_lookup to log_hostname. 2002-11-15 01:57:28 +00:00
Bruce Momjian aead49667b Rename show_source_port to log_source_port. 2002-11-15 01:40:20 +00:00
Bruce Momjian d36aa2e885 Rename:
! #show_parser_stats = false
! #show_planner_stats = false
! #show_executor_stats = false
! #show_statement_stats = false

TO:

! #log_parser_stats = false
! #log_planner_stats = false
! #log_executor_stats = false
! #log_statement_stats = false
2002-11-15 00:47:22 +00:00
Bruce Momjian 001d5a7aa5 Rename server_min_messages to log_min_messages. Part of consolidation
of log_ settings.
2002-11-14 23:53:27 +00:00
Bruce Momjian 65fbc29956 Update ports list. 2002-11-14 18:39:43 +00:00
Bruce Momjian af98ed5fda Fix Magnus's name. 2002-11-14 14:53:29 +00:00
Bruce Momjian 06bfabc88e Fix version number for FreeBSD/alpha on ports list. 2002-11-14 14:51:38 +00:00
Bruce Momjian 3be0907de8 Update ports list. 2002-11-14 14:23:59 +00:00
Bruce Momjian 4a57ef6826 Update ports list. 2002-11-14 04:59:15 +00:00
Bruce Momjian db286699c6 Update ports list. 2002-11-14 03:59:46 +00:00
Bruce Momjian 4e5a947d1c Make MOVE/FETCH 0 actually move/fetch 0. Add MOVE LAST to move to end
of cursor.
2002-11-13 00:44:09 +00:00
Bruce Momjian 266c3679f7 Add AIX as supported platform. 2002-11-12 20:19:55 +00:00
Tom Lane f9b5b41ef9 Code review for ON COMMIT patch. Make the actual on-commit action happen
before commit, not after :-( --- the original coding is not only unsafe
if an error occurs while it's processing, but it generates an invalid
sequence of WAL entries.  Resurrect 7.2 logic for deleting items when
no longer needed.  Use an enum instead of random macros.  Editorialize
on names used for routines and constants.  Teach backend/nodes routines
about new field in CreateTable struct.  Add a regression test.
2002-11-11 22:19:25 +00:00
Peter Eisentraut 1b342df00a Merge documentation updates from 7.3 branch. 2002-11-11 20:14:04 +00:00
Peter Eisentraut b327906683 Merge release note updates from 7.3 branch. 2002-11-11 20:06:00 +00:00
Barry Lind 80c980021f Update jdbc doc to reflect correct name of the PGConnection class. 2002-11-11 07:31:28 +00:00
Bruce Momjian cfd2728100 This patch makes a minor cleanup to the implementation of PERFORM in
PL/PgSQL. Previously, it had been bundled together with the assign
statement implementation, for some reason that wasn't clear to me
(they certainly don't share any code with one another). So I separated
them and made PERFORM a statement like any other. No changes in
functionality.

Along the way, I added some regression tests for PERFORM, added a
bunch more SGML tags to the PL/PgSQL docs, and removed an obsolete
comment relating to the implementation of RETURN NEXT.

Neil Conway
2002-11-10 00:35:58 +00:00
Bruce Momjian 50e726a2c3 Add documentation for array_upper/lower(). 2002-11-10 00:32:16 +00:00
Bruce Momjian 4ca28eb7c7 I just discovered, that there is missing a const when passing a buffer
to  PQescapeBytea and PQunescapeBytea. I fixed it and tried to create a
usable  diff (I'm not so familar to diff).

Tommi M?kitalo
2002-11-10 00:14:22 +00:00
Bruce Momjian 3eabc4490e Tweak CREATE SEQUENCE grammar to be more SQL1999 standards compliant.
Neil Conway
2002-11-10 00:10:20 +00:00
Bruce Momjian ebb531836a Add code to handle [ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP }]
for temp tables.

Gavin Sherry
2002-11-09 23:56:39 +00:00
Tom Lane f2ef470196 Update discussion of floating-point problems in regression tests. 2002-11-08 20:26:12 +00:00
Bruce Momjian b26dfbb0e3 Here is a patch that does just that, while maintaining the
"traditional" behavior, so the change should be transparent. Use the
command "\pset pager always" to turn it on. Anything else does the
normal toggle between "on" and "off"

Greg Sabino Mullane
2002-11-08 19:12:21 +00:00
Tom Lane d2c744aa56 Add extra_float_digits GUC parameter to allow adjustment of displayed
precision for float4, float8, and geometric types.  Set it in pg_dump
so that float data can be dumped/reloaded exactly (at least on platforms
where the float I/O support is properly implemented).  Initial patch by
Pedro Ferreira, some additional work by Tom Lane.
2002-11-08 17:37:52 +00:00
Bruce Momjian 88f528c3e9 Update libpq PQcmdTuples() and PQcmdStatus() docs, remove const param
doc mention to match code and include files.
2002-11-08 05:03:11 +00:00
Bruce Momjian 02608cbce6 I'm using libpgtcl with PostgreSQL-7.2.3. There is a discrepancy between
the documentation and behavior of "pg_result $res -oid" when $res is not
from an INSERT.  The documentation says it should return an empty
string, but in fact it returns 0. I think it used to return an empty
string around PostgreSQL-7.1.3 when PQoidStatus() was used, but now it
uses PQoidValue() which returns InvalidOid, 0 in this case.

Assuming the current behavior is desired, here is a patch to the
documentation doc/src/sgml/libpgtcl.sgml to match what really happens:


ljb
2002-11-08 04:56:40 +00:00
Bruce Momjian 433d4eb986 Update release docs for 7.3. 2002-11-08 03:44:15 +00:00
Bruce Momjian a8c18b980e Add OS/X kernel tuning section. 2002-11-05 23:16:56 +00:00
Bruce Momjian c4ee9153c4 Update ports list. 2002-11-05 19:01:07 +00:00
Bruce Momjian 44c9a28b7c Update ports list. 2002-11-05 17:31:36 +00:00
Bruce Momjian 1f07f7d88b Update ports list. 2002-11-05 17:11:46 +00:00
Bruce Momjian 44a35e3598 Update ports list. 2002-11-05 17:09:50 +00:00
Tom Lane 5ca2fe3e96 Fix broken markup. 2002-11-05 04:34:51 +00:00
Bruce Momjian 704895a0bd Update ports list. 2002-11-05 03:18:09 +00:00
Bruce Momjian 1a9f24462c Update ports list. 2002-11-04 22:40:43 +00:00
Bruce Momjian d3f9d0ce57 This patch adds a couple of extra index entries and removes some
out-of-date text about multibyte encoding (which is now always
included).

Oliver Elphick
2002-11-03 01:31:32 +00:00
Bruce Momjian ba95f2d6aa This patch adds information to the documentation on .pgpass and creates
additional index entries for it.

Oliver Elphick
2002-11-03 01:30:46 +00:00
Tom Lane 77fcc1cbae Fix some misstatements in WAL parameter discussion. 2002-11-02 22:23:01 +00:00
Tom Lane 5123139210 Remove encoding lookups from grammar stage, push them back to places
where it's safe to do database access.  Along the way, fix core dump
for 'DEFAULT' parameters to CREATE DATABASE.  initdb forced due to
change in pg_proc entry.
2002-11-02 18:41:22 +00:00
Tom Lane 6a7273e14c Fix permissions-checking bugs and namespace-search-path bugs in
CONVERSION code.  Still need to figure out what to do about inappropriate
coding in parsing.
2002-11-02 02:33:03 +00:00
Bruce Momjian caed998b69 Update port list. 2002-11-02 01:29:37 +00:00
Tom Lane 676a7c02d6 Update description of timestamp types for 7.3 implementation. 2002-10-31 22:18:42 +00:00
Bruce Momjian 2c58fcc0aa Add mention of T on .pot files, from pkuczynski@hypode.pl 2002-10-30 05:14:32 +00:00
Bruce Momjian faf285362e Clean up Unixware entry for Larry Rosenman 2002-10-30 03:00:53 +00:00
Bruce Momjian 5bd06b236f Update ports list. 2002-10-29 19:09:41 +00:00
Bruce Momjian db72810361 Update ports list. 2002-10-29 18:59:38 +00:00
Bruce Momjian ee244d6327 Update ports list. 2002-10-29 18:13:28 +00:00
Bruce Momjian 9f8a1215a0 Clean up markup in ports list. 2002-10-29 03:56:51 +00:00
Bruce Momjian 3f6d48a775 Update ports list. 2002-10-29 03:47:41 +00:00
Bruce Momjian ca3396802a Update Giles email address. 2002-10-29 03:29:42 +00:00
Bruce Momjian 79ec810031 Update port list. 2002-10-29 03:07:11 +00:00
Bruce Momjian 99a1b0d630 Update port list. 2002-10-29 02:57:28 +00:00
Bruce Momjian 2e447d21b8 Update port list. 2002-10-29 02:38:37 +00:00
Bruce Momjian 3b2796e6d2 Update port list. 2002-10-29 02:36:55 +00:00
Bruce Momjian bb5f8918c4 Update ports list. 2002-10-27 23:50:05 +00:00
Bruce Momjian f3f39d0b9c Update ports. 2002-10-26 20:45:40 +00:00
Bruce Momjian e3edb8c69b Update ports list. 2002-10-26 20:15:42 +00:00
Bruce Momjian 458222e76f Update port list. 2002-10-26 20:12:25 +00:00
Bruce Momjian 5d42962bd3 Update ports. 2002-10-26 20:04:55 +00:00
Bruce Momjian 0ed0a9ddc0 Update BSD/OS as supported platform. 2002-10-26 02:17:05 +00:00
Tom Lane 6b704bf501 Add note about sort order of character datatypes being locale-dependent,
per suggestion from Nicolaus Erichsen.
2002-10-24 21:19:15 +00:00
Tom Lane 3a0fde3b51 Make link to schema inspection functions more clear. 2002-10-24 21:10:58 +00:00
Peter Eisentraut 266a280584 Add introductory sections explaining what each book is about. Remove Y2K
statement.
2002-10-24 17:48:54 +00:00
Bruce Momjian 3675d064c9 Add mention of postgres signals to reference page
Joseph Shraibman
2002-10-23 23:33:08 +00:00
Tom Lane 19cc7bcbe5 Specify that we need bison >= 1.50. 2002-10-22 13:46:59 +00:00
Bruce Momjian f3e1937e5d Move libpgeasy.sgml to gborg. 2002-10-21 23:14:10 +00:00
Bruce Momjian 9761f1a07e Move odbc.sgml to gborg ODBC project. 2002-10-21 23:10:09 +00:00
Bruce Momjian b6f0c50232 Small update for the removal of some memory leaks in plpython SGML example.
Nigel J. Andrews
2002-10-21 20:34:09 +00:00
Peter Eisentraut cc4f576957 Improve ECPG documentation. 2002-10-21 18:04:05 +00:00
Tom Lane 210a039d4f Since ANY is a reserved word, better suggest that ANY be quoted when
used for the input type of an aggregate.
2002-10-21 04:33:39 +00:00
Tom Lane 156408e97b Fix documented sizes of geometric types. 2002-10-21 02:12:08 +00:00
Tom Lane a92df3a208 Fix example of doing a restore. 2002-10-21 02:11:37 +00:00
Bruce Momjian 76cadb59fe Remove trailing blanks in cvs.sgml. 2002-10-20 20:58:02 +00:00
Tom Lane c918be6a17 Update description of numeric constants to match 7.3 reality.
Miscellaneous other copy-editing.
2002-10-20 05:05:46 +00:00
Tom Lane f1c0071d5a Add warning that autocommit=off is not well-supported yet. 2002-10-20 01:43:32 +00:00
Tom Lane ab901c60c8 Move BeOS and QNX4 to unsupported-platform list, until someone cares
to expend the effort to update them for new semaphore code.
2002-10-20 01:38:18 +00:00
Tom Lane 272bf59d29 Fix inconsistent formatting. 2002-10-19 23:09:20 +00:00
Tom Lane 93dca0d224 Fix incomplete definition of ALTER TABLE ADD/DROP CONSTRAINT syntax.
Add some verbiage about recent tweaks to behavior of ADD and DROP
COLUMN when there are descendant tables.
2002-10-19 22:51:45 +00:00
Tom Lane c1f91a38e2 Fix rewrite code so that rules are in fact executed in order by name,
rather than being reordered according to INSTEAD attribute for
implementation convenience.
Also, increase compiled-in recursion depth limit from 10 to 100 rewrite
cycles.  10 seems pretty marginal for situations where multiple rules
exist for the same query.  There was a complaint about this recently,
so I'm going to bump it up.  (Perhaps we should make the limit a GUC
parameter, but that's too close to being a new feature to do in beta.)
2002-10-19 19:00:47 +00:00
Tom Lane 44dc9c1faa Fix psql's \copy to accept table names containing schemas, as well as
a column list.  Bring its parsing of quoted names and quoted strings
somewhat up to speed --- I believe it now handles all non-error cases
the same way the backend would, but weird boundary conditions are not
necessarily done the same way.
2002-10-19 00:22:14 +00:00
Tom Lane fb9bc342ff Improve discussion of FOR UPDATE. 2002-10-18 18:26:22 +00:00
Peter Eisentraut 841e4b2089 Put the disk information all in one chapter. 2002-10-16 22:06:33 +00:00
Tom Lane d508b057ac Adjust handling of command status strings in the presence of rules,
as per recent pghackers discussions.  initdb forced due to change in
fields of stored Query nodes.
2002-10-14 22:14:35 +00:00
Bruce Momjian 8fc1f413f4 - Link the entries in the table to the catalog heading
- Wrap them in the <database class="table"> tags, since thats what they
are (no markup rules for this, so it inherits from parent -- no style
change)
- Mention that pg_database, pg_shadow, and pg_group are global, and the
rest are local to the specific DB. (I believe this is correct).

> Works for me, though I suppose we could explain what the exceptions are
> like in general terms.  Perhaps something like
>
> 'Most system catalogs are copied from the template database during
> database creation, and are thereafter database-specific.  A few
> catalogs are physically shared across all databases in an installation;
> these are marked in the descriptions of the individual catalogs.'

Ok, new patch.

Rod Taylor
2002-10-14 04:29:23 +00:00
Tom Lane ad4ce7aa5b Make SET really not start a transaction. 2002-10-13 16:55:05 +00:00
Peter Eisentraut 0cd5ce6b11 Compute version number for docs on the fly. 2002-10-12 16:34:28 +00:00
Peter Eisentraut 08028faa22 Handle indentation of verbatim environments in HTML output via CSS. 2002-10-12 16:33:43 +00:00
Peter Eisentraut af514dca9e Fix linking problem. 2002-10-12 16:31:55 +00:00
Peter Eisentraut 10f41b2b80 Replace &version; by appropriate version. 2002-10-12 16:29:51 +00:00
Peter Eisentraut c086590380 Assorted reference page updates 2002-10-11 23:03:48 +00:00
Bruce Momjian 5aa7849e1b set.patch updates an example in ref/set.sgml to have microsecond
precision.

vacuum.patch updates ref/vacuum.sgml to explicitly state that an
exclusive lock is not obtained during normal (non-FULL) vacuum.

  Rod Taylor
2002-10-09 16:27:48 +00:00
Bruce Momjian d015dcbe4e Have SET not start transaction when autocommit off, with doc updates. 2002-10-09 04:59:38 +00:00
Bruce Momjian fb5e61fd2d Fix markup error. 2002-10-05 23:43:42 +00:00
Bruce Momjian 0c88e38eda Add more documentation about CURRENT_TIMESTAMP.
Also, code < and > as &lt;/&gt; for cleaner SGML.
2002-10-05 19:03:16 +00:00
Tom Lane 916d8164df Restrict CREATE OPERATOR CLASS to superusers, per discussion some weeks
ago.
2002-10-04 22:19:29 +00:00
Tom Lane d2db166c75 Require superuser privilege to create a binary-compatible cast, per
discussion some weeks ago.  Also, add a check that two types to be
binary-equivalenced match as to typlen, typbyval, and typalign; if
they don't then it's surely a mistake to equivalence them.
2002-10-04 22:08:44 +00:00
Bruce Momjian 04287daa83 Add wording so people know PANIC is really "off" for log_min_error_statement. 2002-10-03 02:26:49 +00:00
Tom Lane 71e74a2f58 Re-enable pg_resetxlog to accept -l values in hexadecimal (it used to
be able to do that, but the ability seems to have got lost in the
shuffle).  Add a -o nextOID switch for completeness.  Improve the
documentation to explain how and why to use these switches.
2002-10-02 21:30:13 +00:00
Bruce Momjian c74c7e604c Turn GUC log_min_error_statement off by default by setting it to PANIC. 2002-10-02 16:27:57 +00:00
Barry Lind 5aa14def55 Applied doc patch to jdbc doc which documents support for datasources
patch submitted by ammulder@alumni.princeton.edu

 Modified Files:
 	jdbc.sgml
2002-10-01 04:09:13 +00:00
Bruce Momjian fbc48fac11 Update HISTORY/release.sgml for 7.2.3. 2002-10-01 03:23:05 +00:00
Bruce Momjian dcc59f8ed6 Simplify SSL certificate instructions. 2002-09-27 02:04:39 +00:00
Bruce Momjian 15b95cf872 Allow SSL to work withouth client-side certificate infrastructure. 2002-09-26 04:41:55 +00:00
Peter Eisentraut c889c9c901 Enhance the description of user and database management. Reduce the
number of forward references in the admin guide.
2002-09-25 21:16:10 +00:00
Bruce Momjian a6c00af4c8 Make PL/pgSQL capitalization consistent. 2002-09-24 23:37:42 +00:00
Tom Lane c6367df506 Change default privileges for languages and functions to be PUBLIC USAGE
and PUBLIC EXECUTE, respectively.  Per discussion about easing updates
from prior versions.
2002-09-24 23:14:25 +00:00
Tom Lane e92bec2844 Update some obsolete comments and column descriptions. 2002-09-24 21:26:44 +00:00
Peter Eisentraut 8c3ab663ab Tweak conversion names to follow the established naming scheme, and
document that scheme.
2002-09-24 20:14:59 +00:00
Tom Lane 44f68fc7bd Fix broken markup. 2002-09-23 23:20:38 +00:00
Peter Eisentraut 0d3be98ae9 Move PyGreSQL usage documentation from README into DocBook. Some other
editing.
2002-09-23 21:10:13 +00:00
Bruce Momjian 909a8377db The valid return value should be MODIFY instead of MODIFIED.
The error message said so :-)

In 25.3. Using PL/Python

        If the trigger "when" is BEFORE, you may return None or "OK"
        from the Python function to indicate the tuple is unmodified, "SKIP"
        to abort the event, or "MODIFIED" to indicate you've modified the tuple.

should read
        If the trigger "when" is BEFORE, you may return None or "OK"
        from the Python function to indicate the tuple is unmodified, "SKIP"
        to abort the event, or "MODIFY" to indicate you've modified the tuple.

elein
2002-09-23 01:51:02 +00:00
Tom Lane 286fb25243 Make \dS work more like it used to, viz, show only system objects. 2002-09-22 20:44:22 +00:00
Tom Lane c328b6dd8b Replace pg_attribute.attisinherited with attislocal and attinhcount
columns, to allow more correct behavior in multiple-inheritance cases.
Patch by Alvaro Herrera, review by Tom Lane.
2002-09-22 19:42:52 +00:00
Tom Lane 634e440b58 Fix busted markup. 2002-09-22 18:47:24 +00:00
Tom Lane 9946b83ded Bring SIMILAR TO and SUBSTRING into some semblance of conformance with
the SQL99 standard.  (I'm not sure that the character-class features are
quite right, but that can be fixed later.)  Document SQL99 and POSIX
regexps as being different features; provide variants of SUBSTRING for
each.
2002-09-22 17:27:25 +00:00
Tom Lane eb3adab568 Provide an upgrade strategy for dump files containing functions declared
with OPAQUE.  CREATE LANGUAGE, CREATE TRIGGER, and CREATE TYPE will all
accept references to functions declared with OPAQUE --- but they will
issue a NOTICE, and will modify the function entries in pg_proc to have
the preferred type-safe argument or result types instead of OPAQUE.
Per recent pghackers discussions.
2002-09-21 18:39:26 +00:00
Peter Eisentraut bc49968764 Add more appropriate markup. 2002-09-21 18:32:54 +00:00
Peter Eisentraut de96cd5e3a Revision 2002-09-20 18:39:41 +00:00
Bruce Momjian 708a000efe Mention that pg_get_viewdef(name) is deprecated.
Rod Taylor
2002-09-20 03:44:06 +00:00
Bruce Momjian 674818dce8 This patch corrects a minor mis-statement in the CREATE DOMAIN docs,
pointed out by Chris KL on -hackers a little while ago -- NOT NULL !=
CHECK xxx IS NOT NULL.

Neil Conway
2002-09-20 03:39:15 +00:00
Tom Lane b26dfb9522 Extend pg_cast castimplicit column to a three-way value; this allows us
to be flexible about assignment casts without introducing ambiguity in
operator/function resolution.  Introduce a well-defined promotion hierarchy
for numeric datatypes (int2->int4->int8->numeric->float4->float8).
Change make_const to initially label numeric literals as int4, int8, or
numeric (never float8 anymore).
Explicitly mark Func and RelabelType nodes to indicate whether they came
from a function call, explicit cast, or implicit cast; use this to do
reverse-listing more accurately and without so many heuristics.
Explicit casts to char, varchar, bit, varbit will truncate or pad without
raising an error (the pre-7.2 behavior), while assigning to a column without
any explicit cast will still raise an error for wrong-length data like 7.3.
This more nearly follows the SQL spec than 7.2 behavior (we should be
reporting a 'completion condition' in the explicit-cast cases, but we have
no mechanism for that, so just do silent truncation).
Fix some problems with enforcement of typmod for array elements;
it didn't work at all in 'UPDATE ... SET array[n] = foo', for example.
Provide a generalized array_length_coerce() function to replace the
specialized per-array-type functions that used to be needed (and were
missing for NUMERIC as well as all the datetime types).
Add missing conversions int8<->float4, text<->numeric, oid<->int8.
initdb forced.
2002-09-18 21:35:25 +00:00
Peter Eisentraut da123b7c58 Update installation instructions and put mostly everything in one place.
Also, some editing in PL/Perl and PL/Python chapters.
2002-09-18 20:09:32 +00:00
Peter Eisentraut 0db8c41523 Remove pgeasy and odbc. 2002-09-18 20:07:15 +00:00
Bruce Momjian 445732a5ff Point out that CREATE INDEX uses sorts and hence sort_mem GUC parameter. 2002-09-17 21:41:47 +00:00
Peter Eisentraut 5ea9322872 Cast functions can be immutable or stable. 2002-09-15 13:04:16 +00:00
Tom Lane 1b69b122bb Some PL/PgSQL documentation improvements from Neil Conway. 2002-09-14 20:11:16 +00:00
Peter Eisentraut 49c86099f3 Shrink the pg_hba.conf and pg_ident.conf default files and move most of the
inline documentation to the main docs.
2002-09-14 18:35:46 +00:00
Peter Eisentraut 6d77f6e5fb Add more information about schemas. Combines some previously existing
material into the new location.
2002-09-12 22:05:36 +00:00
Bruce Momjian 81186865fe Joe Conway wrote:
> Hannu Krosing wrote:
 >
 >> It seems that my last mail on this did not get through to the list
 >> ;(
 >>
 >> Please consider renaming the new builtin function
 >> split(text,text,int)
 >>
 >> to something else, perhaps
 >>
 >> split_part(text,text,int)
 >>
 >> (like date_part)
 >>
 >> The reason for this request is that 3 most popular scripting
 >> languages (perl, python, php) all have also a function with similar
 >> signature, but returning an array instead of single element and the
 >> (optional) third argument is limit (maximum number of splits to
 >> perform)
 >>
 >> I think that it would be good to have similar function in (some
 >> future release of) postgres, but if we now let in a function with
 >> same name and arguments but returning a single string instead an
 >> array of them, then we will need to invent a new and not so easy to
 >> recognise name for the "real" split function.
 >>
 >
 > This is a good point, and I'm not opposed to changing the name, but
 > it is too bad your original email didn't get through before beta1 was
 >  rolled. The change would now require an initdb, which I know we were
 >  trying to avoid once beta started (although we could change it
 > without *requiring* an initdb I suppose).
 >
 > I guess if we do end up needing an initdb for other reasons, we
 > should make this change too. Any other opinions? Is split_part an
 > acceptable name?
 >
 > Also, if we add a todo to produce a "real" split function that
 > returns an array, similar to those languages, I'll take it for 7.4.

No one commented on the choice of name, so the attached patch changes
the name of split(text,text,int) to split_part(text,text,int) per
Hannu's recommendation above. This can be applied without an initdb if
current beta testers are advised to run:

   update pg_proc set proname = 'split_part' where proname = 'split';

in the case they want to use this function. Regression and doc fix is
also included in the patch.

Joe Conway
2002-09-12 00:21:25 +00:00
Bruce Momjian 6a5733a1ea Fix atan() description.
Bruno Wolff III
2002-09-11 02:56:46 +00:00
Bruce Momjian fe80b5ed8a Remove more references to pgaccess as a build target in docs. 2002-09-08 02:33:08 +00:00
Bruce Momjian fba5c7b944 Remove pgaccess from docs; not shipping it anymore. 2002-09-07 16:49:50 +00:00
Peter Eisentraut 40853dd445 Allow pg_dumpall to work with previous releases again. Don't pass the -c
option down to pg_dump, where it's useless, and clarify the meaning of -c
in the documentation.
2002-09-07 16:14:33 +00:00
Peter Eisentraut 38e444aae6 Make sure the pg_dump tar archiver can handle members larger than 2 GB, but
does not create members larger than allowed by the tar format.  Also, fix
the generation of the tar header to conform to POSIX.
2002-09-06 21:58:36 +00:00
Bruce Momjian b4295d052e Fix another typo. 2002-09-06 20:26:00 +00:00
Bruce Momjian 022eb280af Fix typo. 2002-09-06 20:08:06 +00:00
Bruce Momjian cd06c70d9a Missed mention of PGPASSWORDFILE. 2002-09-05 22:09:42 +00:00
Bruce Momjian 5fc10c3d17 Remove PGPASSWORDFILE and default to always trying $HOME/.pgpass.
Cleanup up memory allocation for $HOME in related psql places.

Update mention of $HOME/.pgpass in the docs;  add mention in pg_dumpall.
2002-09-05 22:05:50 +00:00
Peter Eisentraut 04604fd1a4 Fill in section on table modification. 2002-09-05 21:32:23 +00:00
Bruce Momjian 79ecb80c74 Brand 7.3. Ready for beta! 2002-09-04 07:23:04 +00:00
Bruce Momjian 4f1a32b37e Update new HISTORY file for 7.3! 2002-09-04 07:16:32 +00:00
Tom Lane d61de58906 Arrange for the default permissions on a database to allow temp table
creation to world, but disallow temp table creation in template1.  Per
latest round of pghackers discussion.
I did not force initdb, but the permissions lockdown on template1 will
not take effect unless you do one (or manually REVOKE TEMP ON DATABASE template1 FROM public).
2002-09-03 22:17:35 +00:00
Bruce Momjian bfd5854574 Fix SGML build failure. 2002-09-03 16:21:23 +00:00
Tom Lane 4a954ce79d Documentation improvements. 2002-09-03 01:11:37 +00:00
Tom Lane ab82bde7e0 Code review and documentation updates for indisclustered patch. 2002-09-03 01:04:41 +00:00
Tom Lane 8c8aa53953 pg_on_connection_loss command for libpgtcl. Patch from
Gerhard Hintermayer, revised and documented by Tom Lane.

This patch also fixes a 'must fix' bug: libpgtcl's LISTEN/NOTIFY
support was broken by the recent changes to the PGnotify structure.
Guess that change wasn't quite so safe as we thought.
2002-09-02 21:51:47 +00:00
Tom Lane b356b969ef Fix obsolete description of PGnotify struct. 2002-09-02 20:21:32 +00:00
Tom Lane 8f60f43f2e Department of second thoughts: make checks for replacing a view slightly
more flexible, and improve the error reporting.  Also, add documentation
for REPLACE RULE/VIEW.
2002-09-02 20:04:40 +00:00
Tom Lane 6dff9bc97d Fix broken markup. 2002-09-02 13:45:30 +00:00
Bruce Momjian 81efc82608 This patch fixes a minor inaccuracy in the documentation: NOT NULL is
not synonymous with CHECK (xxx IS NOT NULL) -- for example, consider
ALTER TABLE ADD PRIMARY KEY, which checks for 'NOT NULL', not a check
constraint.

Neil Conway
2002-09-02 06:20:53 +00:00
Bruce Momjian a12b4e279b I checked all the previous string handling errors and most of them were
already fixed by You. However there were a few left and attached patch
should fix the rest of them.

I used StringInfo only in 2 places and both of them are inside debug
ifdefs. Only performance penalty will come from using strlen() like all
the other code does.

I also modified some of the already patched parts by changing
snprintf(buf, 2 * BUFSIZE, ... style lines to
snprintf(buf, sizeof(buf), ... where buf is an array.

Jukka Holappa
2002-09-02 06:11:43 +00:00
Bruce Momjian e82bcba5e0 Here's a doc patch for the new string functions recently committed --
replace, split, and to_hex. The patch also moves encode and decode into
alphabetical order (since everything else in the table was).

Joe Conway
2002-09-02 05:53:23 +00:00
Bruce Momjian ab5fe2a91f Move pg_settings doc into the right section. 2002-09-02 05:52:34 +00:00
Bruce Momjian c7be7ffdb0 Here is a documentation patch for the pg_settings virtual table. If
there are no objections, please apply.

Joe Conway
2002-09-02 05:44:43 +00:00
Bruce Momjian 9fd842c4b2 Add GUC variable to print original query to the server logs when there
is an error, warning, etc.

Gavin Sherry
2002-09-02 05:42:54 +00:00
Tom Lane c7a165adc6 Code review for HeapTupleHeader changes. Add version number to page headers
(overlaying low byte of page size) and add HEAP_HASOID bit to t_infomask,
per earlier discussion.  Simplify scheme for overlaying fields in tuple
header (no need for cmax to live in more than one place).  Don't try to
clear infomask status bits in tqual.c --- not safe to do it there.  Don't
try to force output table of a SELECT INTO to have OIDs, either.  Get rid
of unnecessarily complex three-state scheme for TupleDesc.tdhasoids, which
has already caused one recent failure.  Improve documentation.
2002-09-02 01:05:06 +00:00
Bruce Momjian 548d646e65 Add log_duration to GUC/postgresql.conf.
Rename debug_print_query to log_statement and rename show_query_stats to
show_statement_stats.
2002-09-01 23:26:06 +00:00
Tom Lane 470a1048ec plpgsql functions can return RECORD, per Neil Conway. 2002-09-01 16:28:06 +00:00
Tom Lane 1903221517 Minor copy-editing. 2002-09-01 02:37:02 +00:00
Bruce Momjian a03f9adb98 Remove mention of wal_files in a SHOW example. 2002-09-01 01:59:48 +00:00
Tom Lane 1bab464eb4 Code review for pg_locks feature. Make shmemoffset of PROCLOCK structs
available (else there's no way to interpret the list links).  Change
pg_locks view to show transaction ID locks separately from ordinary
relation locks.  Avoid showing N duplicate rows when the same lock is
held multiple times (seems unlikely that users care about exact hold
count).  Improve documentation.
2002-08-31 17:14:28 +00:00
Tom Lane 9c279355fb Updates to reflect availability of autocommit option. 2002-08-30 22:45:25 +00:00
Tom Lane 26993b2918 AUTOCOMMIT mode is now an available backend GUC variable; setting it
to false provides more SQL-spec-compliant behavior than we had before.
I am not sure that setting it false is actually a good idea yet; there
is a lot of client-side code that will probably be broken by turning
autocommit off.  But it's a start.

Loosely based on a patch by David Van Wie.
2002-08-30 22:18:07 +00:00
Tom Lane e2d156fa6e Add attisinherited column to pg_attribute; use it to guard against
column additions, deletions, and renames that would let a child table
get out of sync with its parent.  Patch by Alvaro Herrera, with some
kibitzing by Tom Lane.
2002-08-30 19:23:20 +00:00
Bruce Momjian 47c51db5f3 Update documentation for --with-perl. 2002-08-30 17:14:30 +00:00
Bruce Momjian 2c65658c04 Improve wording after wal_files removal. 2002-08-30 16:53:34 +00:00
Bruce Momjian 63653f7ffa Complete TODO item:
* Remove wal_files postgresql.conf option because WAL files are
	  now recycled
2002-08-30 16:50:50 +00:00
Bruce Momjian f7e089b3fa Back out password packet length check.
Improve wording of pre-7.3 syntax mention.
2002-08-30 16:00:41 +00:00
Bruce Momjian cafebdd4d8 Add comment on old sytax for SELECT FOR UPDATE/LIMIT and COPY. 2002-08-30 03:18:23 +00:00
Tom Lane e107f3a7e3 PL/pgSQL functions can return sets. Neil Conway's patch, modified so
that the functionality is available to anyone via ReturnSetInfo, rather
than hard-wiring it to PL/pgSQL.
2002-08-30 00:28:41 +00:00
Peter Eisentraut 6d27cfdd89 Make pg_resetxlog options parsing more standard and prepare messages for
translation.
2002-08-29 22:19:03 +00:00
Bruce Momjian 31fbdad6e5 The unit for statement_timeout is s/1000, not s/1000000
Manfred Koizar
2002-08-29 19:53:58 +00:00
Tom Lane e4186762ff Adjust nodeFunctionscan.c to reset transient memory context between calls
to the table function, thus preventing memory leakage accumulation across
calls.  This means that SRFs need to be careful to distinguish permanent
and local storage; adjust code and documentation accordingly.  Patch by
Joe Conway, very minor tweaks by Tom Lane.
2002-08-29 17:14:33 +00:00
Tom Lane bf59ccc7d8 A few more fixes for the <replaceable>able> fiasco. 2002-08-29 05:17:55 +00:00
Tom Lane 99fd5cbd41 FOUND patch was a bit over-enthusiastic: SQL commands that are not
INSERT, UPDATE, or DELETE shouldn't change FOUND.  IMHO anyway.
Also, try to make documentation a little clearer.
2002-08-29 04:12:03 +00:00
Tom Lane 5241a6259f Remove support for version-0 FE/BE protocol, per pghackers discussion.
This breaks support for 6.2 or older client libraries.
2002-08-29 03:22:01 +00:00
Tom Lane 64505ed58b Code review for standalone composite types, query-specified composite
types, SRFs.  Not happy with memory management yet, but I'll commit these
other changes.
2002-08-29 00:17:06 +00:00
Bruce Momjian 1923816c37 Add mention of foreign key dependency and SERIAL in 7.2 data restores.
Note can probably be removed after a couple of releases.

Rod Taylor
2002-08-28 20:17:44 +00:00
Tom Lane 83501ef4ca Update info about relkind and pg_type entries for composite-types patch. 2002-08-28 15:02:55 +00:00
Bruce Momjian 6077db92c2 Allow FOR UPDATE to appear after LIMIT/OFFSET to match MySQL syntax and as
a more logical ordering.
2002-08-28 14:35:37 +00:00
Peter Eisentraut 7292131c66 Enable locale, so case conversion (identifier processing) and number
formatting (\timing) works correctly.  Change "Total time" to "Time"
since there is nothing that "total" refers to.  Remove non-multibyte
code.
2002-08-27 20:16:49 +00:00
Peter Eisentraut 7af5ea736f Reimplement pg_dumpall in C. Currently no change in functionality,
except that it's more robust, reconnects less often, and is NLS'ed.
2002-08-27 18:57:26 +00:00
Tom Lane 28e82066a1 PREPARE/EXECUTE statements. Patch by Neil Conway, some kibitzing
from Tom Lane.
2002-08-27 04:55:12 +00:00
Bruce Momjian e0a77f56e3 Cleanup of SGML 2002-08-27 03:55:17 +00:00
Bruce Momjian c0ad595386 I attach a little patch to make CLUSTER set and reset the indisclustered
bit on the indexes.

I also attach clusterdb and clusterdb.sgml; both of them are blatant
rips of vacuumdb and vacuumdb.sgml, but get the job done.  Please review
them, as I'm probably making a lot of mistakes with SGML and I can't
compile it here.

vacuumdb itself is not very comfortable to use when the databases have
passwords, because it has to connect once for each table (I can probably
make it connect only once for each database; should I?).  Because of
this I added a mention of PGPASSWORDFILE in the documentation, but I
don't know if that is the correct place for that.

Alvaro Herrera
2002-08-27 03:38:28 +00:00
Bruce Momjian 90997ddaac Add OS X link line example for external functions. 2002-08-26 23:22:47 +00:00
Bruce Momjian d46172e4fa Update docs for 7.2.2 release info. 2002-08-25 14:34:24 +00:00
Tom Lane 976246cc7e The cstring datatype can now be copied, passed around, etc. The typlen
value '-2' is used to indicate a variable-width type whose width is
computed as strlen(datum)+1.  Everything that looks at typlen is updated
except for array support, which Joe Conway is working on; at the moment
it wouldn't work to try to create an array of cstring.
2002-08-24 15:00:47 +00:00
Tom Lane a2a3192802 Further cleanup around the edges of OPAQUE/pseudotype changes. Correct
the declarations of some index access method support functions.  Support
SQL functions returning VOID.
2002-08-23 16:41:38 +00:00
Bruce Momjian 6415ffe7af Not sure how I fixed it the first time, but here's a fix for another
instance in which the docs mention that 'NAMEDATALEN == 32".

Neil Conway
2002-08-23 04:27:19 +00:00
Bruce Momjian 2e0e430659 This patch updates the CREATE OPERATOR sgml docs for the new default
settings of NAMEDATALEN. I looked through the docs for other
references to NAMEDATALEN, but this is the only one I could find.

Neil Conway
2002-08-23 02:54:18 +00:00
Tom Lane ebddac07a9 Very minor copy-editing. 2002-08-23 01:28:17 +00:00
Tom Lane 6bd8a1c2d3 Add note that explains that \df omits functions it thinks are I/O functions. 2002-08-23 01:27:44 +00:00
Tom Lane 41ff800bb2 Update reference to value of NAMEDATALEN. Someone needs to troll the
docs and find the other obsolete statements that no doubt lurk.
2002-08-23 00:33:24 +00:00
Bruce Momjian 090884bed3 Fix for documention:
>>" It's also possible to select no escape character by writing ESCAPE ''.
>>In this case there is no way to turn off the special meaning of
>>underscore and percent signs in the pattern."

Joe Conway
2002-08-22 04:56:44 +00:00
Bruce Momjian c76f5aa530 > > I had great difficulty in finding how to change the search path, so here
> > is a patch to add some cross-referencing.

Oliver Elphick
2002-08-22 04:52:17 +00:00
Bruce Momjian f6353c6ee4 Remove libpq++ SGML documentation. 2002-08-22 03:17:38 +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
Bruce Momjian 0f9f2feee4 Fix bad markup detected by Alvaro Herrera 2002-08-21 16:08:19 +00:00
Bruce Momjian cbe19208ee Fix markup, Alvaro Herrera. 2002-08-21 05:25:49 +00:00
Peter Eisentraut 6faf8024fa Enable large file support.
Use off_t and size_t in pg_dump to handle file offset arithmetic correctly.
2002-08-20 17:54:45 +00:00
Bruce Momjian ebe1be1321 This patch improves the behavior of FOUND in PL/PgSQL. In Oracle,
FOUND is set whenever a SELECT INTO returns > 0 rows, *or* when an
INSERT, UPDATE, or DELETE affects > 0 rows. We implemented the first
part of this behavior, but not the second.

I also improved the documentation on the various situations in which
FOUND can be set (excluding inside FOR loops, which I still need to
think about), and added some regression tests for this behavior.

Neil Conway
2002-08-20 05:28:24 +00:00
Bruce Momjian 5243f9a998 Allow pg_statistics to be reset by calling pg_stat_reset().
Christopher Kings-Lynne
2002-08-20 04:47:52 +00:00
Bruce Momjian de9801fc62 Add current_database().
> Quick system function to pull out the current database.
>
> I've used this a number of times to allow stored procedures to find out
> where they are.  Especially useful for those that do logging or hit a
> remote server.
>
> It's called current_database() to match with current_user().

It's also a necessity for an informational schema.  The catalog
(database) name is required in a number of places.

Rod Taylor
2002-08-20 04:46:00 +00:00
Bruce Momjian c43760a714 Add mention of -F not supported by pg_dumpall. Code already disallows it. 2002-08-20 02:20:48 +00:00
Tom Lane a0bf1a7f2e Fix pg_dump to dump serial columns as serials. Per pghackers discussion,
cause SERIAL column declaration not to imply UNIQUE, so that this can be
done without creating an extra index.
2002-08-19 19:33:36 +00:00
Tatsuo Ishii d35dc342f1 Fix broken tag. 2002-08-19 04:05:00 +00:00
Peter Eisentraut c828ec8820 Make pg_dump output more portable and more pleasing to look at.
The -n and -N options were removed.  Quoting is now smart enough to
supply quotes if and only if necessary.

Numerical types are now printed without quotes, except in cases of
special values such as NaN.

Boolean values printed as true and false.

Most string literals now do not escape whitespace characters (newlines,
etc.) for portability.

SET SESSION AUTHORIZATION argument is a string literal, to follow SQL.

Made commands output by pg_dump use consistent spacing and indentation.
2002-08-18 09:36:26 +00:00
Bruce Momjian 2c6b34d959 Add db-local user names, per discussion on hackers. 2002-08-18 03:03:26 +00:00
Tom Lane e16591038a Fix typo. 2002-08-17 20:24:51 +00:00
Bruce Momjian 82119a696e [ Newest version of patch applied.]
This patch is an updated version of the lock listing patch. I've made
the following changes:

    - write documentation
    - wrap the SRF in a view called 'pg_locks': all user-level
      access should be done through this view
    - re-diff against latest CVS

One thing I chose not to do is adapt the SRF to use the anonymous
composite type code from Joe Conway. I'll probably do that eventually,
but I'm not really convinced it's a significantly cleaner way to
bootstrap SRF builtins than the method this patch uses (of course, it
has other uses...)

Neil Conway
2002-08-17 13:04:19 +00:00
Bruce Momjian f0ed4311b6 Add libpq connection timeout parameter.
Denis A Ustimenko
2002-08-17 12:33:18 +00:00