Commit graph

9356 commits

Author SHA1 Message Date
Peter Eisentraut
570e15f16f doc: Remove PostgreSQL version number from xml2 deprecation notice
It is obviously no longer true.
2013-02-24 15:41:06 -05:00
Tom Lane
2228ce6a11 Stamp 8.4.16. 2013-02-04 16:28:55 -05:00
Tom Lane
308ba8702c Prevent execution of enum_recv() from SQL.
This function was misdeclared to take cstring when it should take internal.
This at least allows crashing the server, and in principle an attacker
might be able to use the function to examine the contents of server memory.

The correct fix is to adjust the system catalog contents (and fix the
regression tests that should have caught this but failed to).  However,
asking users to correct the catalog contents in existing installations
is a pain, so as a band-aid fix for the back branches, install a check
in enum_recv() to make it throw error if called with a cstring argument.
We will later revert this in HEAD in favor of correcting the catalogs.

Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue.

Security: CVE-2013-0255
2013-02-04 16:25:25 -05:00
Tom Lane
90f77d759b Update release notes for 9.2.3, 9.1.8, 9.0.12, 8.4.16, 8.3.23. 2013-02-04 15:50:56 -05:00
Alvaro Herrera
fe738d77f1 DROP OWNED: don't try to drop tablespaces/databases
My "fix" for bugs #7578 and #6116 on DROP OWNED at fe3b5eb08a not only
misstated that it applied to REASSIGN OWNED (which it did not affect),
but it also failed to fix the problems fully, because I didn't test the
case of owned shared objects.  Thus I created a new bug, reported by
Thomas Kellerer as #7748, which would cause DROP OWNED to fail with a
not-for-user-consumption error message.  The code would attempt to drop
the database, which not only fails to work because the underlying code
does not support that, but is a pretty dangerous and undesirable thing
to be doing as well.

This patch fixes that bug by having DROP OWNED only attempt to process
shared objects when grants on them are found, ignoring ownership.

Backpatch to 8.3, which is as far as the previous bug was backpatched.
2013-01-28 19:02:26 -03:00
Peter Eisentraut
bed5141685 doc: Fix syntax of a URL
Leading white space before the "http:" is apparently treated as a
relative link at least by some browsers.
2013-01-20 19:42:01 -05:00
Bruce Momjian
ae80eb70ce Update copyrights for 2013
Fully update git head, and update back branches in ./COPYRIGHT and
legal.sgml files.
2013-01-01 17:14:59 -05:00
Peter Eisentraut
a5dbb053b3 Update ISO 3166 link
The old one no longer pointed to anything useful.
2012-12-08 07:41:56 -05:00
Tom Lane
965edcab6e Stamp 8.4.15. 2012-12-03 15:25:45 -05:00
Tom Lane
9b50e97280 Update release notes for 9.2.2, 9.1.7, 9.0.11, 8.4.15, 8.3.22. 2012-12-03 15:10:22 -05:00
Tom Lane
1d48cecc31 Fix documentation of path(polygon) function.
Obviously, this returns type "path", but somebody made a copy-and-pasteo
long ago.

Dagfinn Ilmari Mannsåker
2012-12-03 11:09:11 -05:00
Peter Eisentraut
3f27f90cfe doc: Fix broken links to DocBook wiki 2012-12-01 01:55:25 -05:00
Bruce Momjian
67b5effe8c Remove inaccurate "Incrementally Updated Backups" documentation section;
already removed from 9.0+.

Applied to 8.3 and 8.4.
2012-11-26 17:36:21 -05:00
Simon Riggs
d76f2f0371 Fix typo in previous commit 2012-10-17 09:24:16 +01:00
Simon Riggs
8ae503a5be Add hash index caution to CREATE INDEX docs 2012-10-17 08:35:39 +01:00
Tom Lane
ef23ad39be Fix permissions explanations in CREATE DATABASE and CREATE SCHEMA docs.
These reference pages still claimed that you have to be superuser to create
a database or schema owned by a different role.  That was true before 8.1,
but it was changed in commits aa1110624c and
f91370cd2f to allow assignment of ownership
to any role you are a member of.  However, at the time we were thinking of
that primarily as a change to the ALTER OWNER rules, so the need to touch
these two CREATE ref pages got missed.
2012-10-04 13:41:16 -04:00
Tom Lane
5ced7dc16d Fix examples of how to use "su" while starting the server.
The syntax "su -c 'command' username" is not accepted by all versions of
su, for example not OpenBSD's.  More portable is "su username -c
'command'".  So change runtime.sgml to recommend that syntax.  Also,
add a -D switch to the OpenBSD example script, for consistency with other
examples.  Per Denis Lapshin and Gábor Hidvégi.
2012-09-25 13:53:07 -04:00
Tom Lane
ed23de2692 Stamp 8.4.14. 2012-09-19 17:55:55 -04:00
Tom Lane
2017244ead Update release notes for 9.2.1, 9.1.6, 9.0.10, 8.4.14, 8.3.21. 2012-09-19 17:39:03 -04:00
Tom Lane
c842673b86 Provide adequate documentation of the "table_name *" notation.
Somewhere along the line, somebody decided to remove all trace of this
notation from the documentation text.  It was still in the command syntax
synopses, or at least some of them, but with no indication what it meant.
This will not do, as evidenced by the confusion apparent in bug #7543;
even if the notation is now unnecessary, people will find it in legacy
SQL code and need to know what it does.
2012-09-17 14:59:46 -04:00
Kevin Grittner
5010bbc2c5 Fix documentation reference to maximum allowed for autovacuum_freeze_max_age.
The documentation mentioned setting autovacuum_freeze_max_age to
"its maximum allowed value of a little less than two billion".
This led to a post asking about the exact maximum allowed value,
which is precisely two billion, not "a little less".

Based on question by Radovan Jablonovsky.  Backpatch to 8.3.
2012-09-16 12:26:16 -05:00
Tom Lane
1a36a773a6 Stamp 8.4.13. 2012-08-14 18:45:54 -04:00
Tom Lane
b556e4f897 Update release notes for 9.1.5, 9.0.9, 8.4.13, 8.3.20. 2012-08-14 18:34:17 -04:00
Tom Lane
d9b023c7bc Prevent access to external files/URLs via contrib/xml2's xslt_process().
libxslt offers the ability to read and write both files and URLs through
stylesheet commands, thus allowing unprivileged database users to both read
and write data with the privileges of the database server.  Disable that
through proper use of libxslt's security options.

Also, remove xslt_process()'s ability to fetch documents and stylesheets
from external files/URLs.  While this was a documented "feature", it was
long regarded as a terrible idea.  The fix for CVE-2012-3489 broke that
capability, and rather than expend effort on trying to fix it, we're just
going to summarily remove it.

While the ability to write as well as read makes this security hole
considerably worse than CVE-2012-3489, the problem is mitigated by the fact
that xslt_process() is not available unless contrib/xml2 is installed,
and the longstanding warnings about security risks from that should have
discouraged prudent DBAs from installing it in security-exposed databases.

Reported and fixed by Peter Eisentraut.

Security: CVE-2012-3488
2012-08-14 18:32:44 -04:00
Peter Eisentraut
32d42fa248 Update copyright year in forgotten places
found by Stefan Kaltenbrunner
2012-06-19 21:33:36 +03:00
Magnus Hagander
9777427d11 Add missing subtitle for compressed archive logs 2012-06-17 21:21:09 +08:00
Tom Lane
8c9f2dc670 Stamp 8.4.12. 2012-05-31 19:11:47 -04:00
Tom Lane
bc2f35a806 Update release notes for 9.1.4, 9.0.8, 8.4.12, 8.3.19. 2012-05-31 19:03:52 -04:00
Magnus Hagander
56c8d50eaf Remove link to ODBCng project from the docs.
This backatches Heikki's patch in 140a4fbf1a
to make sure the documentation on the website gets updated, since
we're regularly receiving complains about this link.
2012-05-03 13:02:48 +02:00
Tom Lane
34684cee64 Update URL for pgtclng project.
Thom Brown
2012-04-06 19:00:29 -04:00
Alvaro Herrera
b89a67d964 Update struct Trigger in docs 2012-03-20 15:32:39 -03:00
Tatsuo Ishii
97b767da3e Add description for --no-locale and --text-search-config. 2012-03-11 19:49:53 +09:00
Tom Lane
d7a8e9a70e Improve documentation around logging_collector and use of stderr.
In backup.sgml, point out that you need to be using the logging collector
if you want to log messages from a failing archive_command script.  (This
is an oversimplification, in that it will work without the collector as
long as you're not sending postmaster stderr to /dev/null; but it seems
like a good idea to encourage use of the collector to avoid problems
with multiple processes concurrently scribbling on one file.)

In config.sgml, do some wordsmithing of logging_collector discussion.

Per bug #6518 from Janning Vygen
2012-03-05 14:09:06 -05:00
Tom Lane
0209a10bf8 Stamp 8.4.11. 2012-02-23 17:59:21 -05:00
Tom Lane
44909f44d9 Last-minute release note updates.
Security: CVE-2012-0866, CVE-2012-0867, CVE-2012-0868
2012-02-23 17:48:13 -05:00
Tom Lane
993b3e5084 Require execute permission on the trigger function for CREATE TRIGGER.
This check was overlooked when we added function execute permissions to the
system years ago.  For an ordinary trigger function it's not a big deal,
since trigger functions execute with the permissions of the table owner,
so they couldn't do anything the user issuing the CREATE TRIGGER couldn't
have done anyway.  However, if a trigger function is SECURITY DEFINER,
that is not the case.  The lack of checking would allow another user to
install it on his own table and then invoke it with, essentially, forged
input data; which the trigger function is unlikely to realize, so it might
do something undesirable, for instance insert false entries in an audit log
table.

Reported by Dinesh Kumar, patch by Robert Haas

Security: CVE-2012-0866
2012-02-23 15:39:14 -05:00
Tom Lane
71f313d9ae Draft release notes for 9.1.3, 9.0.7, 8.4.11, 8.3.18. 2012-02-22 18:12:01 -05:00
Magnus Hagander
5b242e5add Fix wording, per Peter Geoghegan 2012-01-27 10:37:35 +01:00
Heikki Linnakangas
e4790949e4 Fix reference to "verify-ca" and "verify-full" in a note in the docs. 2011-12-16 15:07:15 +02:00
Tom Lane
c2e412ad41 Add some weasel wording about threaded usage of PGresults.
PGresults used to be read-only from the application's viewpoint, but now
that we've exposed various functions that allow modification of a PGresult,
that sweeping statement is no longer accurate.  Noted by Dmitriy Igrishin.
2011-12-02 11:34:26 -05:00
Tom Lane
d08b64581f Stamp 8.4.10. 2011-12-01 16:53:13 -05:00
Tom Lane
0bb41ad4aa Update information about configuring SysV IPC parameters on NetBSD.
Per Emmanuel Kasper, sysctl works fine as of NetBSD 5.0.
2011-11-30 20:55:14 -05:00
Tom Lane
da8a83409d Draft release notes for 9.1.2, 9.0.6, 8.4.10, 8.3.17, 8.2.23. 2011-11-30 19:35:01 -05:00
Tom Lane
de9b2cb3f4 Remove erroneous claim about use of pg_locks.objid for advisory locks.
The correct information appears in the text, so just remove the statement
in the table, where it did not fit nicely anyway.  (Curiously, the correct
info has been there much longer than the erroneous table entry.)
Resolves problem noted by Daniele Varrazzo.

In HEAD and 9.1, also do a bit of wordsmithing on other text on the page.
2011-11-28 13:52:15 -05:00
Robert Haas
fe3bc4e331 Correct documentation for trace_userlocks. 2011-11-10 18:01:18 -05:00
Peter Eisentraut
347e77beff Fix archive_command example
The given archive_command example didn't use %p or %f, which wouldn't
really work in practice.
2011-11-04 22:03:58 +02:00
Magnus Hagander
3a7368bf33 Document that multiple LDAP servers can be specified 2011-11-01 15:45:38 +01:00
Tom Lane
77ea004069 Improve documentation of psql's \q command.
The documentation neglected to explain its behavior in a script file
(it only ends execution of the script, not psql as a whole), and failed
to mention the long form \quit either.
2011-10-12 14:00:14 -04:00
Magnus Hagander
3e17a0020b Note that sslmode=require verifies the CA if root cert is present
This mode still exists for backwards compatibility, making
sslmode=require the same as sslmode=verify-ca when the file is present,
but not causing an error when it isn't.

Per bug 6189, reported by Srinivas Aji
2011-09-24 14:30:12 +02:00
Tom Lane
07d306785e Stamp 8.4.9. 2011-09-22 18:03:52 -04:00
Tom Lane
608b4bd13a Update release notes for 9.1.1, 9.0.5, 8.4.9, 8.3.16, 8.2.22.
Man, we fixed a lotta bugs since April.
2011-09-22 17:40:29 -04:00
Tom Lane
b7e13b9279 Update type-conversion documentation for long-ago changes.
This example wasn't updated when we changed the behavior of bpcharlen()
in 8.0, nor when we changed the number of parameters taken by the bpchar()
cast function in 7.3.  Per report from lsliang.
2011-09-06 12:15:13 -04:00
Magnus Hagander
ed70eaca97 Fix typo in sslmode documentation
Per bug #6089, noted by Sidney Cadot
2011-07-05 09:46:42 +02:00
Heikki Linnakangas
8071638dc2 Clarify that you need ActiveState perl 5.8 *or later* to build on Windows. 2011-07-04 22:42:40 +03:00
Tom Lane
62c8350c5c Fix missed use of "cp -i" in an example, per Fujii Masao.
Also be more careful about markup: use & not just &.
2011-06-20 16:27:44 -04:00
Tom Lane
334c608f2c Don't use "cp -i" in the example WAL archive_command.
This is a dangerous example to provide because on machines with GNU cp,
it will silently do the wrong thing and risk archive corruption.  Worse,
during the 9.0 cycle somebody "improved" the discussion by removing the
warning that used to be there about that, and instead leaving the
impression that the command would work as desired on most Unixen.
It doesn't.  Try to rectify the damage by providing an example that is safe
most everywhere, and then noting that you can try cp -i if you want but
you'd better test that.

In back-patching this to all supported branches, I also added an example
command for Windows, which wasn't provided before 9.0.
2011-06-17 19:13:18 -04:00
Magnus Hagander
63784d792b Support silent mode for service registrations on win32
Using -s when registering a service will now suppress
the application eventlog entries stating that the service
is starting and started.

MauMau
2011-06-09 18:27:08 +02:00
Peter Eisentraut
066d5a3ef5 Fix documentation of information_schema.element_types
The documentation of the columns collection_type_identifier and
dtd_identifier was wrong.  This effectively reverts commits
8e1ccad519 and
57352df66d and updates the name
array_type_identifier (the name in SQL:1999) to
collection_type_identifier.

closes bug #5926
2011-06-09 07:30:47 +03:00
Peter Eisentraut
15d8cfb77b ECPG documentation fixes
Marc Cousin
2011-06-04 22:52:52 +03:00
Tom Lane
8057b7554b Protect GIST logic that assumes penalty values can't be negative.
Apparently sane-looking penalty code might return small negative values,
for example because of roundoff error.  This will confuse places like
gistchoose().  Prevent problems by clamping negative penalty values to
zero.  (Just to be really sure, I also made it force NaNs to zero.)
Back-patch to all supported branches.

Alexander Korotkov
2011-05-31 17:54:01 -04:00
Heikki Linnakangas
cb4fda6380 The arguments to pg_ctl kill are not optional - remove brackets in the docs.
Fujii Masao
2011-04-28 12:57:37 +03:00
Marc G. Fournier
7b8b256f08 Tag 8.4.8. 2011-04-15 00:17:14 -03:00
Tom Lane
8587c7e592 Update release notes for releases 9.0.4, 8.4.8, 8.3.15, and 8.2.21. 2011-04-14 15:51:45 -04:00
Robert Haas
c2391b0551 Correct "characters" to "bytes" in createdb docs.
Susanne Ebrecht
2011-03-27 21:29:12 -04:00
Tom Lane
3b02cef295 Improve user-defined-aggregates documentation.
On closer inspection, that two-element initcond value seems to have been
a little white lie to avoid explaining the full behavior of float8_accum.
But if people are going to expect the examples to be exactly correct,
I suppose we'd better explain.  Per comment from Thom Brown.
2011-03-23 16:57:33 -04:00
Tom Lane
e39d6db39b Fix ancient typo in user-defined-aggregates documentation.
The description of the initcond value for the built-in avg(float8)
aggregate has been wrong since it was written.  Noted by Disc Magnet.
2011-03-23 12:33:57 -04:00
Magnus Hagander
e673e08458 Fix typo.
Thom Brown
2011-02-03 11:26:19 +01:00
Marc G. Fournier
7df910c7d1 Tag 8.4.7 2011-01-27 22:23:36 -04:00
Tom Lane
b29720f997 Update release notes.
Security: CVE-2010-4015
2011-01-27 17:47:21 -05:00
Tom Lane
dea0a74cb2 Update release notes for releases 9.0.3, 8.4.7, 8.3.14, and 8.2.20. 2011-01-27 16:10:00 -05:00
Robert Haas
9de3f2843c Document that WITH queries are also called Common Table Expressions.
Peter Geoghegan, reviewed by Stephen Frost
2011-01-19 21:21:51 -05:00
Magnus Hagander
2bb6050c45 Document unavailable parameters in some configurations
Add a note to user-facing parameters that can be removed completely
(and not just empty) by #ifdef's depending on build configuration.
2010-12-18 16:31:33 +01:00
Marc G. Fournier
35862ff7f2 Tag 8.4.6. 2010-12-13 22:59:19 -04:00
Tom Lane
0f311ae7d5 Update release notes for releases 9.0.2, 8.4.6, 8.3.13, 8.2.19, and 8.1.23. 2010-12-13 20:23:21 -05:00
Tom Lane
f3224e010d Force default wal_sync_method to be fdatasync on Linux.
Recent versions of the Linux system header files cause xlogdefs.h to
believe that open_datasync should be the default sync method, whereas
formerly fdatasync was the default on Linux.  open_datasync is a bad
choice, first because it doesn't actually outperform fdatasync (in fact
the reverse), and second because we try to use O_DIRECT with it, causing
failures on certain filesystems (e.g., ext4 with data=journal option).
This part of the patch is largely per a proposal from Marti Raudsepp.
More extensive changes are likely to follow in HEAD, but this is as much
change as we want to back-patch.

Also clean up confusing code and incorrect documentation surrounding the
fsync_writethrough option.  Those changes shouldn't result in any actual
behavioral change, but I chose to back-patch them anyway to keep the
branches looking similar in this area.

In 9.0 and HEAD, also do some copy-editing on the WAL Reliability
documentation section.

Back-patch to all supported branches, since any of them might get used
on modern Linux versions.
2010-12-08 20:01:19 -05:00
Bruce Momjian
d94d0a8c83 Add mention of using tools/fsync to test fsync methods. Restructure
recent wal_sync_method doc paragraph to be clearer.
2010-10-19 15:49:53 +00:00
Robert Haas
e6e906aee3 Add pg_user_mappings to the table of system views. 2010-10-14 19:13:27 -04:00
Peter Eisentraut
d833f42eeb Complete the documentation of the USAGE privilege for foreign servers
The GRANT reference page failed to mention that the USAGE privilege
allows modifying associated user mappings, although this was already
documented on the CREATE/ALTER/DROP USER MAPPING pages.
2010-10-14 20:38:48 +03:00
Robert Haas
444a726521 Warn that views can be safely used to hide columns, but not rows. 2010-10-08 09:16:20 -04:00
Robert Haas
36f4b4e96b Improve WAL reliability documentation, and add more cross-references to it.
In particular, we are now more explicit about the fact that you may need
wal_sync_method=fsync_writethrough for crash-safety on some platforms,
including MaxOS X.  There's also now an explicit caution against assuming
that the default setting of wal_sync_method is either crash-safe or best
for performance.
2010-10-07 12:22:08 -04:00
Marc G. Fournier
2f76a4b5a6 Tag 8.4.5 2010-10-01 10:35:31 -03:00
Tom Lane
b805be2587 Use a separate interpreter for each calling SQL userid in plperl and pltcl.
There are numerous methods by which a Perl or Tcl function can subvert
the behavior of another such function executed later; for example, by
redefining standard functions or operators called by the target function.
If the target function is SECURITY DEFINER, or is called by such a
function, this means that any ordinary SQL user with Perl or Tcl language
usage rights can do essentially anything with the privileges of the target
function's owner.

To close this security hole, create a separate Perl or Tcl interpreter for
each SQL userid under which plperl or pltcl functions are executed within
a session.  However, all plperlu or pltclu functions run within a session
still share a single interpreter, since they all execute at the trust
level of a database superuser anyway.

Note: this change results in a functionality loss when libperl has been
built without the "multiplicity" option: it's no longer possible to call
plperl functions under different userids in one session, since such a
libperl can't support multiple interpreters in one process.  However, such
a libperl already failed to support concurrent use of plperl and plperlu,
so it's likely that few people use such versions with Postgres.

Security: CVE-2010-3433
2010-09-30 17:20:25 -04:00
Tom Lane
b8ba9a2639 Update release notes for releases 9.0.1, 8.4.5, 8.3.12, 8.2.18, 8.1.22,
8.0.26, and 7.4.30.
2010-09-30 14:27:36 -04:00
Tom Lane
37d52ddeb5 Do some copy-editing on the Git usage docs. 2010-09-22 20:22:42 -04:00
Tom Lane
c69bdbd50f Fix documentation gitignore for pre-9.0 doc build methods. 2010-09-22 18:26:13 -04:00
Magnus Hagander
35b2f93e71 Remove anonymous cvs instructions, and replace them with instructions
for git. Change other references from cvs to git as well.
2010-09-22 20:10:32 +02:00
Magnus Hagander
40f34ec4fd Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:08 +02:00
Tom Lane
d321ff10c1 Remove obsolete remark that PQprepare() is more flexible than PREPARE.
Spotted by Dmitriy Igrishin.  Back-patch to 8.2, which is when the PREPARE
statement was improved to allow parameter types to be omitted.
2010-08-29 15:19:19 +00:00
Peter Eisentraut
0b77050e84 Backpatch some blatant spelling mistakes 2010-08-17 04:49:33 +00:00
Robert Haas
7f4de11c29 Add link and additional index reference to pgcrypto.
Kevin Grittner, with markup adjustments.
2010-08-15 01:57:21 +00:00
Robert Haas
86003b80cb Fix one more incorrect errno definition in the ECPG manual.
Again, back-patch all the way to 7.4.
2010-08-11 19:03:36 +00:00
Robert Haas
64ddabc848 Fix incorrect errno definitions in ECPG manual.
ecpgerrno.h hasn't materially changed since PostgreSQL 7.4, so this has
been wrong for a very long time.  Back-patch all the way.

Satoshi Nagayasu
2010-08-11 18:52:23 +00:00
Robert Haas
206a42a7eb Use double quotes rather than double quotes for libpq target anchors.
Per observation from Tom Lane that the previous patch to these files was
not consistent with what is done elsewhere in the docs.
2010-08-10 02:57:19 +00:00
Robert Haas
4e49ea084e Provide stable target anchors for libpq functions.
Daniele Varrazzo
2010-08-09 12:00:53 +00:00
Peter Eisentraut
ec31e97210 Fix indexterm spelling 2010-08-06 20:09:00 +00:00
Robert Haas
29789a8b7a Fix typo in PL/pgsql code example.
Backpatch to 8.4.

Marc Cousin.  Review by Kevin Grittner.
2010-07-27 20:02:27 +00:00
Peter Eisentraut
966ab3f730 Spelling fixes 2010-07-27 18:56:22 +00:00
Peter Eisentraut
dd23d63ddc Fix grammar
backpatched to 8.1
2010-07-26 20:29:09 +00:00
Tom Lane
ba1dfcec96 Allow full SSL certificate verification (wherein libpq checks its host name
parameter against server cert's CN field) to succeed in the case where
both host and hostaddr are specified.  As with the existing precedents
for Kerberos, GSSAPI, SSPI, it is the calling application's responsibility
that host and hostaddr match up --- we just use the host name as given.
Per bug #5559 from Christopher Head.

In passing, make the error handling and messages for the no-host-name-given
failure more consistent among these four cases, and correct a lie in the
documentation: we don't attempt to reverse-lookup host from hostaddr
if host is missing.

Back-patch to 8.4 where SSL cert verification was introduced.
2010-07-14 17:10:03 +00:00
Tom Lane
007d0783c7 Fix assorted misstatements and poor wording in the descriptions of the I/O
formats for geometric types.  Per bug #5536 from Jon Strait, and my own
testing.

Back-patch to all supported branches, since this doco has been wrong right
along -- we certainly haven't changed the I/O behavior of these types in
many years.
2010-07-03 04:03:14 +00:00