Commit Graph

3846 Commits

Author SHA1 Message Date
Tom Lane
5ed27e35f3 Another round of protocol changes. Backend-to-frontend messages now all
have length words.  COPY OUT reimplemented per new protocol: it doesn't
need \. anymore, thank goodness.  COPY BINARY to/from frontend works,
at least as far as the backend is concerned --- libpq's PQgetline API
is not up to snuff, and will have to be replaced with something that is
null-safe.  libpq uses message length words for performance improvement
(no cycles wasted rescanning long messages), but not yet for error
recovery.
2003-04-22 00:08:07 +00:00
Bruce Momjian
185ad7a839 Add mention of Novell Netware 6 port. 2003-04-21 14:54:15 +00:00
Bruce Momjian
7773434999 Make it clear it is the server version that determines if crlf is used. Idea from Joe Conway. 2003-04-20 01:52:55 +00:00
Bruce Momjian
9c48cae3e4 Add pipe parameter to COPY function to allow proper line termination. 2003-04-19 19:55:37 +00:00
Tom Lane
bd8d441775 Second round of FE/BE protocol changes. Frontend->backend messages now
have length counts, and COPY IN data is packetized into messages.
2003-04-19 00:02:30 +00:00
Tom Lane
cb7fb3ca95 First phase of FE/BE protocol modifications: new StartupPacket layout
with variable-width fields.  No more truncation of long user names.
Also, libpq can now send its environment-variable-driven SET commands
as part of the startup packet, saving round trips to server.
2003-04-17 22:26:02 +00:00
Bruce Momjian
76fd678c06 Make pg_dump's concurency capability more prominent. 2003-04-17 15:34:37 +00:00
Tom Lane
26b237ffad Various clarifications; add a clear DRAFT marker; minor adjustments in
some message types.  In particular add text/binary flag to StartCopyIn
and StartCopyOut, so that client library can know what is expected or
forthcoming.
2003-04-16 20:53:38 +00:00
Bruce Momjian
e8ee547829 Add mention of OpenProjects IRC channel. It is as large as EFNet now. 2003-04-16 18:56:24 +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
Bruce Momjian
dde302dd4b Update Japanese FAQ, from Jun Kuwamura. 2003-04-15 21:00:27 +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
Bruce Momjian
d79f743d51 Done in previous release:
< * Add --port flag to regression tests
2003-04-02 22:44:50 +00:00
Bruce Momjian
52bc8cadd4 Update Russian FAQ, from Viktor Vislobokov 2003-04-01 03:10:44 +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
7638087882 Remove email file. 2003-03-27 16:47:58 +00:00
Bruce Momjian
fef89414e6 Done:
> 	o -Allow cursors outside transactions
2003-03-27 16:47:10 +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
Bruce Momjian
c7d17a551a Done:
> * -Change NUMERIC data type to use base 10,000 internally
2003-03-21 03:47:38 +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