Commit Graph

2518 Commits

Author SHA1 Message Date
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
Bruce Momjian
b813554dbd Improve documentation of trigger firing queue handling, cleanup.
Neil Conway
2002-08-17 12:15:49 +00:00
Tom Lane
2132ac89bf Editorial corrections. 2002-08-17 05:07:18 +00:00
Tom Lane
8bca70fad5 Broken markup. 2002-08-17 04:09:18 +00:00
Tom Lane
d383b734f8 Add missing links. 2002-08-17 03:38:43 +00:00
Bruce Momjian
08f245bfd4 Add doc file for pg_resetxlog. 2002-08-17 02:45:29 +00:00
Bruce Momjian
6945ea3445 Move pg_controldata to /bin. 2002-08-17 02:43:08 +00:00
Tom Lane
a208ea72bc Modify pg_dump to dump foreign-key constraints as constraints, not as
sets of triggers.  Also modify psql \d command to show foreign key
constraints as such and hide the triggers.  pg_get_constraintdef()
function added to backend to support these.  From Rod Taylor, code
review and some editorialization by Tom Lane.
2002-08-16 23:01:21 +00:00
Bruce Momjian
141539c31e Improve wording. 2002-08-16 20:36:25 +00:00
Bruce Momjian
cd1f4087c9 Move pg_controldata from /contrib to src/bin. 2002-08-16 20:34:06 +00:00
Bruce Momjian
8352113169 This patch improves the "Client Authentication" section of the user's
guide in a few minor ways.

Neil Conway
2002-08-16 04:48:16 +00:00
Bruce Momjian
b4794bfb54 This patch improves the "Database Users and Permissions" section of
the Administrator's Guide. This section needs a lot more work, but
this is a start anyway...

Neil Conway
2002-08-16 04:47:43 +00:00
Bruce Momjian
b1a5f87209 Tom Lane wrote:
> There's no longer a separate call to heap_storage_create in that routine
> --- the right place to make the test is now in the storage_create
> boolean parameter being passed to heap_create.  A simple change, but
> it passeth patch's understanding ...

Thanks.

Attached is a patch against cvs tip as of 8:30 PM PST or so. Turned out
that even after fixing the failed hunks, there was a new spot in
bufmgr.c which needed to be fixed (related to temp relations;
RelationUpdateNumberOfBlocks). But thankfully the regression test code
caught it :-)

Joe Conway
2002-08-15 16:36:08 +00:00
Bruce Momjian
38294db64b Reorder entry to be alphabetical to match others. 2002-08-15 14:26:15 +00:00
Bruce Momjian
1276356268 PostgreSQL 7.2.1 Documentation
Chapter 1. libpq - C Library
1.3. Command Execution Functions
1.3.3. Escaping binary strings for inclusion in SQL queries

I found the line
"The result string length does not include the terminating zero byte of the result."
is not right.
The result string length does indeed include the terminating zero byte.

Christoph Haller
2002-08-15 03:00:59 +00:00
Bruce Momjian
88bd306832 > Neil Conway <nconway@klamath.dyndns.org> writes:
> > This patch improves the documentation of the UPDATE and ALTER TABLE
> > commands to elaborate on the effect of specifying an "ONLY" clause.
>
> Unfortunately this is still only half the truth ... see the
> SQL_INHERITANCE configuration variable.

Okay, I've attached an updated patch with more information on
SQL_INHERITANCE and inheritance behavior in prior releases.

Neil Conway
2002-08-15 02:59:18 +00:00
Bruce Momjian
7f4981f4af I'm giving a try at some TODO items. Currently it's the turn of the
PGPASSWORDFILE environment variable.  I have modified libpq to make use
of this variable.  I present the first cut here.

Currently the format for the file should be

host:port:database:user:password

Alvaro Herrera
2002-08-15 02:56:19 +00:00
Tatsuo Ishii
969e0246ed Add Cyrillic and other encodings for encoding conversion.
Patches submitted by Kaori Inaba (i-kaori@sra.co.jp).
2002-08-14 02:45:10 +00:00
Bruce Momjian
46bb23ac01 Change NAMEDATALEN to 64, INDEX_MAX_KEYS/MAX_FUNC_ARGS to 32, per discussion on hackers. 2002-08-13 20:40:44 +00:00
Peter Eisentraut
1e4c4f9eb7 Remove obsolete uses of lanispl. Only used in pg_dump now, but can be
removed altogether if pg_dump doesn't need it anymore.
2002-08-13 17:22:08 +00:00
Peter Eisentraut
282a5884de Correct description of sequence privileges. 2002-08-12 20:02:09 +00:00
Tom Lane
77a7e9968b Change memory-space accounting mechanism in tuplesort.c and tuplestore.c
to make a reasonable attempt at accounting for palloc overhead, not just
the requested size of each memory chunk.  Since in many scenarios this
will make for a significant reduction in the amount of space acquired,
partially compensate by doubling the default value of SORT_MEM to 1Mb.
Per discussion in pgsql-general around 9-Jun-2002..
2002-08-12 00:36:12 +00:00
Tom Lane
e44beef712 Code review of CLUSTER patch. Clean up problems with relcache getting
confused, toasted data getting lost, etc.
2002-08-11 21:17:35 +00:00
Peter Eisentraut
9bccdf17f7 Create/drop cast now requires ownership of at least one of the types. 2002-08-11 17:44:12 +00:00
Tom Lane
014a86ac47 Editorial improvements. 2002-08-11 02:43:57 +00:00
Bruce Momjian
5c3102d6d1 Mention ANALYZE after CLUSTER. 2002-08-10 21:03:33 +00:00
Bruce Momjian
7dc40a2be0 Major improvement in CLUSTER which preserves table characteristics using
relfilenode.

I sent the CLUSTER patch a few days ago and I think it was missed.  I
append it again, this time including the regression test files.  For the
committer, please note that you have to cvs add the files as they don't
exist.  Maybe add to the parallel and serial schedules also, but I don't
know such stuff.

Alvaro Herrera (<alvherre[a]atentus.com>)
2002-08-10 20:43:46 +00:00
Tom Lane
8be9bd83ac psql prints its version number in its startup message, per recent
discussion.  Also, cause the \timing command to display time in a
format consistent with the backend's EXPLAIN ANALYZE output.
2002-08-10 19:35:01 +00:00
Tom Lane
a5e6e99357 Allow schema-qualified operator names to be used in the optional
arguments of CREATE OPERATOR.
2002-08-10 19:01:53 +00:00
Peter Eisentraut
029aa97f2d Make sure all clients have the same understanding of default user name
and database.  In particular, make script wrappers understand the
PGDATABASE environment variable.
2002-08-10 16:57:32 +00:00
Tom Lane
039cb47988 psql backslash commands are schema-aware. Pattern matching behavior
follows recent pghackers discussion.  This commit includes all the
relevant fixes from Greg Mullane's patch of 24-June.
2002-08-10 03:56:24 +00:00
Peter Eisentraut
6ce4a4e3e1 Make sure monetary, numeric, and time locale categories are set to C and
are only activated temporarily to read out formatting information.
2002-08-09 22:52:04 +00:00
Tom Lane
4ab8e69094 has_table_privilege spawns scions has_database_privilege, has_function_privilege,
has_language_privilege, has_schema_privilege to let SQL queries test
all the new privilege types in 7.3.  Also, add functions pg_table_is_visible,
pg_type_is_visible, pg_function_is_visible, pg_operator_is_visible,
pg_opclass_is_visible to test whether objects contained in schemas are
visible in the current search path.  Do some minor cleanup to centralize
accesses to pg_database, as well.
2002-08-09 16:45:16 +00:00
Tom Lane
d176fad580 Some improvements in geometric-operators documentation. 2002-08-08 14:29:07 +00:00
Tatsuo Ishii
f84002176f Fix bug in encoding conversion table 2002-08-08 08:21:52 +00:00
Tatsuo Ishii
6206a880cf Add SQL99 CONVERT() function. 2002-08-06 05:40:47 +00:00
Bruce Momjian
7b30ed8fa4 This patch fixes two typos in the documentation for the newly added
START TRANSACTION command.

Neil Conway
2002-08-06 05:32:16 +00:00
Peter Eisentraut
35cd432b18 Forgot to add/remove files. 2002-08-05 19:44:58 +00:00
Peter Eisentraut
6f4a9fb119 Add User's Guide chapters on Data Definition and Data Manipulation.
Still needs to be filled with more information, but it gives us a
framework to have a User's Guide with complete coverage of the basic
SQL operations.  Move arrays into data type chapter, inheritance into
DDL chapter (for now).

Make <comment>s show up in the output while the version number ends in
"devel".

Allow cross-book references with entities &cite-user; etc.
2002-08-05 19:43:31 +00:00
Tom Lane
07f9682de4 Preliminary code review for anonymous-composite-types patch: fix breakage
of functions returning domain types, update documentation for typtype,
move get_typtype to lsyscache.c (actually, resurrect the old version),
add defense against creating pseudo-typed table columns, fix some
bogus list-parsing in grammar.  Issues remain with respect to alias
handling and type checking; Joe is on those.
2002-08-05 02:30:50 +00:00
Bruce Momjian
d7859a9570 Rename backend_pid to pg_backend_pid, move docs to monitoring section. 2002-08-04 19:51:30 +00:00
Bruce Momjian
9218689b69 Attached are two patches to implement and document anonymous composite
types for Table Functions, as previously proposed on HACKERS. Here is a
brief explanation:

1. Creates a new pg_type typtype: 'p' for pseudo type (currently either
     'b' for base or 'c' for catalog, i.e. a class).

2. Creates new builtin type of typtype='p' named RECORD. This is the
     first of potentially several pseudo types.

3. Modify FROM clause grammer to accept:
     SELECT * FROM my_func() AS m(colname1 type1, colname2 type1, ...)
     where m is the table alias, colname1, etc are the column names, and
     type1, etc are the column types.

4. When typtype == 'p' and the function return type is RECORD, a list
     of column defs is required, and when typtype != 'p', it is
disallowed.

5. A check was added to ensure that the tupdesc provide via the parser
     and the actual return tupdesc match in number and type of
attributes.

When creating a function you can do:
     CREATE FUNCTION foo(text) RETURNS setof RECORD ...

When using it you can do:
     SELECT * from foo(sqlstmt) AS (f1 int, f2 text, f3 timestamp)
       or
     SELECT * from foo(sqlstmt) AS f(f1 int, f2 text, f3 timestamp)
       or
     SELECT * from foo(sqlstmt) f(f1 int, f2 text, f3 timestamp)

Included in the patches are adjustments to the regression test sql and
expected files, and documentation.

p.s.
     This potentially solves (or at least improves) the issue of builtin
     Table Functions. They can be bootstrapped as returning RECORD, and
     we can wrap system views around them with properly specified column
     defs. For example:

     CREATE VIEW pg_settings AS
       SELECT s.name, s.setting
       FROM show_all_settings()AS s(name text, setting text);

     Then we can also add the UPDATE RULE that I previously posted to
     pg_settings, and have pg_settings act like a virtual table, allowing
     settings to be queried and set.


Joe Conway
2002-08-04 19:48:11 +00:00
Thomas G. Lockhart
a19d9d3c4c Add IS OF type predicate. 2002-08-04 06:17:29 +00:00
Thomas G. Lockhart
6045f39bfd Add Myannar Time, Iran Time variant name, and Marquesas Time. 2002-08-04 06:15:45 +00:00
Tom Lane
0a4fc8556c Fix broken markup. 2002-08-04 05:46:02 +00:00
Tom Lane
5f9ba042a7 Neil's patch claimed a column list didn't work for COPY BINARY.
Which was true when he submitted it, but is so no longer.
2002-08-04 05:22:02 +00:00
Bruce Momjian
7926259de3 Add missing file; new docs for start_transaction. 2002-08-04 05:14:06 +00:00
Bruce Momjian
6b64704e4f This patch fixes a probably harmless write of uninitialized memory in
the statistics collector and makes a number of corrections to the
documentation for SET, SHOW, and COPY.

Neil Conway
2002-08-04 05:09:36 +00:00
Bruce Momjian
19e0e35bcd The attached patch implements START TRANSACTION, per SQL99. The
functionality of the command is basically identical to that of
BEGIN; it just accepts a few extra options (only one of which
PostgreSQL currently implements), and is standards-compliant.
The patch includes a simple regression test and documentation.

[ Regression tests removed, per Peter.]

Neil Conway
2002-08-04 04:31:44 +00:00
Bruce Momjian
7ef5634701 Here is a doc patch for the SHOW X changes and new config-settings
functions. If there are no objections, please apply.

Joe Conway
2002-08-04 03:53:11 +00:00
Tom Lane
38bb77a5d1 ALTER TABLE DROP COLUMN works. Patch by Christopher Kings-Lynne,
code review by Tom Lane.  Remaining issues: functions that take or
return tuple types are likely to break if one drops (or adds!)
a column in the table defining the type.  Need to think about what
to do here.

Along the way: some code review for recent COPY changes; mark system
columns attnotnull = true where appropriate, per discussion a month ago.
2002-08-02 18:15:10 +00:00
Tom Lane
ce7565ab91 Instead of having a configure-time DEFAULT_ATTSTATTARGET, store -1 in
attstattarget to indicate 'use the default'.  The default is now a GUC
variable default_statistics_target, and so may be changed on the fly.  Along
the way we gain the ability to have pg_dump dump the per-column statistics
target when it's not the default.  Patch by Neil Conway, with some kibitzing
from Tom Lane.
2002-07-31 17:19:54 +00:00