OSDN Git Service
Magnus Hagander [Mon, 3 Dec 2007 13:40:11 +0000 (13:40 +0000)]
Add missing documentation for SSPI packets.
Tom Lane [Mon, 3 Dec 2007 04:59:55 +0000 (04:59 +0000)]
Improve partitioning example, per Itagaki Takahiro.
Tom Lane [Mon, 3 Dec 2007 04:22:54 +0000 (04:22 +0000)]
Remove obsoleted README files.
Tom Lane [Mon, 3 Dec 2007 04:18:47 +0000 (04:18 +0000)]
Add SGML documentation for contrib/spi and contrib/test_parser.
The spi documentation is pretty rudimentary, but it's a start.
Tom Lane [Mon, 3 Dec 2007 03:05:47 +0000 (03:05 +0000)]
Update SGML contrib documentation to catch up with recent changes to
the former README files. Albert Cervera i Areny
Tom Lane [Mon, 3 Dec 2007 00:11:01 +0000 (00:11 +0000)]
Stamp 8.3beta4.
Tom Lane [Mon, 3 Dec 2007 00:03:05 +0000 (00:03 +0000)]
Revert COPY OUT to follow the pre-8.3 handling of ASCII control characters,
namely that \r, \n, \t, \b, \f, \v are dumped as those two-character
representations rather than a backslash and the literal control character.
I had made it do the other to save some code, but this was ill-advised,
because dump files in which these characters appear literally are prone to
newline mangling. Fortunately, doing it the old way should only cost a few
more lines of code, and not slow down the copy loop materially.
Per bug #3795 from Lou Duchez.
Tom Lane [Sun, 2 Dec 2007 22:33:20 +0000 (22:33 +0000)]
Ensure that all <sect1> and <refentry> tags have IDs. This is needed
to ensure that the resulting webpages have predictable URLs, instead of
ever-changing numeric IDs. The new contrib docs were the biggest
offender, but some old stuff had the problem too. Also, rename a couple
of new contrib sgml files for consistency's sake.
Tom Lane [Sun, 2 Dec 2007 21:15:38 +0000 (21:15 +0000)]
Remove README files now migrated to SGML docs.
Tom Lane [Sun, 2 Dec 2007 21:13:34 +0000 (21:13 +0000)]
Add SGML docs for contrib/dict_int and contrib/dict_xsyn.
Albert Cervera i Areny
Tom Lane [Sun, 2 Dec 2007 19:20:32 +0000 (19:20 +0000)]
Improve the manual's discussion of partitioning. Recommend using a
trigger instead of a rule to redirect insertions, use NEW.* notation
where appropriate, some other updates and adjustments. David Fetter
and Tom Lane
Tom Lane [Sun, 2 Dec 2007 04:36:40 +0000 (04:36 +0000)]
Mention hash opclasses in 'System Dependencies on Operator Classes',
which previously only talked about btree opclasses.
Tom Lane [Sun, 2 Dec 2007 03:47:11 +0000 (03:47 +0000)]
Sync release notes with CVS HEAD; various editorial improvements.
Tom Lane [Sat, 1 Dec 2007 23:44:44 +0000 (23:44 +0000)]
Code review for LIKE ... INCLUDING INDEXES patch. Fix failure to propagate
constraint status of copied indexes (bug #3774), as well as various other
small bugs such as failure to pstrdup when needed. Allow INCLUDING INDEXES
indexes to be merged with identical declared indexes (perhaps not real useful,
but the code is there and having it not apply to LIKE indexes seems pretty
unorthogonal). Avoid useless work in generateClonedIndexStmt(). Undo some
poorly chosen API changes, and put a couple of routines in modules that seem
to be better places for them.
Tom Lane [Sat, 1 Dec 2007 17:58:42 +0000 (17:58 +0000)]
Suppress compiler warnings in recent plperl patch. Avoid uselessly expensive
lookup of the well-known OID of textout().
Andrew Dunstan [Sat, 1 Dec 2007 15:30:09 +0000 (15:30 +0000)]
Revert inadvertantly committed change.
Andrew Dunstan [Sat, 1 Dec 2007 15:20:34 +0000 (15:20 +0000)]
Workaround for perl problem where evaluating UTF8 regexes can cause
implicit loading of modules, thereby breaking Safe rules.
We compile and call a tiny perl function on trusted interpreter init, after which
the problem does not occur.
Tom Lane [Fri, 30 Nov 2007 21:22:54 +0000 (21:22 +0000)]
Avoid incrementing the CommandCounter when CommandCounterIncrement is called
but no database changes have been made since the last CommandCounterIncrement.
This should result in a significant improvement in the number of "commands"
that can typically be performed within a transaction before hitting the 2^32
CommandId size limit. In particular this buys back (and more) the possible
adverse consequences of my previous patch to fix plan caching behavior.
The implementation requires tracking whether the current CommandCounter
value has been "used" to mark any tuples. CommandCounter values stored into
snapshots are presumed not to be used for this purpose. This requires some
small executor changes, since the executor used to conflate the curcid of
the snapshot it was using with the command ID to mark output tuples with.
Separating these concepts allows some small simplifications in executor APIs.
Something for the TODO list: look into having CommandCounterIncrement not do
AcceptInvalidationMessages. It seems fairly bogus to be doing it there,
but exactly where to do it instead isn't clear, and I'm disinclined to mess
with asynchronous behavior during late beta.
Tom Lane [Fri, 30 Nov 2007 18:38:34 +0000 (18:38 +0000)]
Repair bug that allowed RevalidateCachedPlan to attempt to rebuild a cached
plan before the effects of DDL executed in an immediately prior SPI operation
had been absorbed. Per report from Chris Wood.
This patch has an unpleasant side effect of causing the number of
CommandCounterIncrement()s done by a typical plpgsql function to
approximately double. Amelioration of the consequences of that
will be undertaken in a separate patch.
Magnus Hagander [Fri, 30 Nov 2007 16:21:19 +0000 (16:21 +0000)]
Add win32error.c to libpq, needed to resolve _dosmaperr.
Magnus Hagander [Fri, 30 Nov 2007 11:16:43 +0000 (11:16 +0000)]
Use _dosmaperr() to deal with errors opening files in pgwin32_open().
Per complaint from Alvaro and subsequent discussion.
Bruce Momjian [Fri, 30 Nov 2007 03:27:48 +0000 (03:27 +0000)]
Update release notes to current CVS.
Bruce Momjian [Thu, 29 Nov 2007 17:09:21 +0000 (17:09 +0000)]
Update Japanese FAQ.
Jun Kuwamura
Peter Eisentraut [Thu, 29 Nov 2007 08:50:36 +0000 (08:50 +0000)]
Translation updates
Bruce Momjian [Wed, 28 Nov 2007 22:35:54 +0000 (22:35 +0000)]
Add additional PITR documentation.
Simon Riggs
Tom Lane [Wed, 28 Nov 2007 21:56:30 +0000 (21:56 +0000)]
Make a cleanup pass over error reports in tsearch code. Use ereport
for user-facing errors, fix some poor choices of errcode, adhere to
message style guide.
Bruce Momjian [Wed, 28 Nov 2007 21:47:39 +0000 (21:47 +0000)]
RETURN NEXT doc improvement, per Alvaro.
Bruce Momjian [Wed, 28 Nov 2007 20:56:35 +0000 (20:56 +0000)]
Update RETURN NEXT documentation for plpgsql.
Tom Lane [Wed, 28 Nov 2007 20:44:26 +0000 (20:44 +0000)]
Improve test coverage of CLOBBER_CACHE_ALWAYS by having it also force
reloading of operator class information on each use of LookupOpclassInfo.
Had this been in place a year ago, it would have helped me find a bug
in the then-new 'operator family' code. Now that we have a build farm
member testing CLOBBER_CACHE_ALWAYS on a regular basis, it seems worth
expending a little bit of effort here.
Bruce Momjian [Wed, 28 Nov 2007 20:13:06 +0000 (20:13 +0000)]
Plpgsql doc cleanup.
Guillaume Lelarge
Tom Lane [Wed, 28 Nov 2007 19:33:05 +0000 (19:33 +0000)]
Adjust the names of a couple of tsearch index support functions that had
inappropriately generic-sounding names. This is more or less free since
we already forced initdb for the next beta, and it may prevent confusion or
name conflicts (particularly at the C-global-symbol level) down the road.
Per my proposal yesterday.
Tom Lane [Wed, 28 Nov 2007 18:47:56 +0000 (18:47 +0000)]
Install a lookaside cache to speed up repeated lookups of the same operator
by short-circuiting schema search path and ambiguous-operator resolution
computations. Remarkably, this buys as much as 45% speedup of repetitive
simple queries that involve operators that are not an exact match to the
input datatypes. It should be marginally faster even for exact-match
cases, though I've not had success in proving an improvement in benchmark
tests. Per report from Guillame Smet and subsequent discussion.
Peter Eisentraut [Wed, 28 Nov 2007 15:42:46 +0000 (15:42 +0000)]
Proper capitalization of Ispell
Peter Eisentraut [Wed, 28 Nov 2007 15:42:31 +0000 (15:42 +0000)]
spell checker run
Peter Eisentraut [Wed, 28 Nov 2007 14:01:51 +0000 (14:01 +0000)]
Fix XML Schema structure for char types without length (bug #3782)
Peter Eisentraut [Wed, 28 Nov 2007 13:30:36 +0000 (13:30 +0000)]
Improve terminology
Peter Eisentraut [Wed, 28 Nov 2007 13:30:16 +0000 (13:30 +0000)]
Fix typo
Peter Eisentraut [Wed, 28 Nov 2007 11:03:50 +0000 (11:03 +0000)]
Add credit to Pavel Stehule for XML functionality
Peter Eisentraut [Wed, 28 Nov 2007 10:10:14 +0000 (10:10 +0000)]
Fix column number
Peter Eisentraut [Wed, 28 Nov 2007 09:17:46 +0000 (09:17 +0000)]
Properly recognize and announce input errors.
Bruce Momjian [Wed, 28 Nov 2007 05:13:41 +0000 (05:13 +0000)]
Add a few current_* variable index entries to the docs.
Guillaume Lelarge
Bruce Momjian [Wed, 28 Nov 2007 05:01:24 +0000 (05:01 +0000)]
Add comments about VACUUM to free space map docs.
Joshua D. Drake
Bruce Momjian [Wed, 28 Nov 2007 04:24:38 +0000 (04:24 +0000)]
Change a stop word on the right-hand-side in the thesaurus file to be an
ERROR, not NOTICE.
Tom Lane [Tue, 27 Nov 2007 19:58:44 +0000 (19:58 +0000)]
Fix plpgsql to not lookup block labels except in contexts where a block label
is sane (eg, EXIT argument or first part of a qualified identifier), and cause
more-closely-nested record variables to take precedence over outer block
labels. This cures the breakage exhibited by Marko Kreen that 8.3 no longer
allowed a function's name to be used for a variable within the function, and
makes plpgsql's handling of block labels more like Oracle's. It's important
to fix this now because we are documenting the use of block labels as variable
qualifiers for the first time in 8.3.
Tom Lane [Tue, 27 Nov 2007 19:13:30 +0000 (19:13 +0000)]
Fix pg_regress to check the directory it is actually reading files from,
not the image that (theoretically) should exist in the current directory.
Jørgen Austvik
Tom Lane [Tue, 27 Nov 2007 18:29:11 +0000 (18:29 +0000)]
Add quote_literal(anyelement) to preserve (and, in fact, extend) a
useful consequence of the former liberal implicit casting to text;
namely that you can feed non-string values to quote_literal() and get
unsurprising results. Per discussion.
Tom Lane [Tue, 27 Nov 2007 18:13:01 +0000 (18:13 +0000)]
Suppress compiler warning.
Bruce Momjian [Tue, 27 Nov 2007 16:46:36 +0000 (16:46 +0000)]
Add example of MONEY casting to numeric if locale is known.
Peter Eisentraut [Tue, 27 Nov 2007 12:21:05 +0000 (12:21 +0000)]
Make casts from xml to text independent of the XML option setting, thus
immutable and indexable. Also fix the volatility settings of some other
XML-related functions.
Peter Eisentraut [Tue, 27 Nov 2007 12:17:27 +0000 (12:17 +0000)]
correct capitalization
Bruce Momjian [Tue, 27 Nov 2007 06:05:57 +0000 (06:05 +0000)]
Wording improvement for MONEY casting.
Bruce Momjian [Tue, 27 Nov 2007 05:49:58 +0000 (05:49 +0000)]
Add documentation about the issues of casting MONEY to/from numeric
types.
Bruce Momjian [Mon, 26 Nov 2007 23:31:09 +0000 (23:31 +0000)]
Add:
< * -Make 64-bit version of the MONEY data type
< * Add locale-aware MONEY type, and support multiple currencies
<
< http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php
< http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php
<
< * MONEY dumps in a locale-specific format making it difficult to
< restore to a system with a different locale
>
> * MONEY data type
>
> o -Make 64-bit version of the MONEY data type
> * Add locale-aware MONEY type, and support multiple currencies
>
> http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php
> http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php
>
> * MONEY dumps in a locale-specific format making it difficult to
> restore to a system with a different locale
> * Allow MONEY to be cast to/from other numeric data types
Peter Eisentraut [Mon, 26 Nov 2007 21:36:33 +0000 (21:36 +0000)]
Change index_name to name for consistency.
Tom Lane [Mon, 26 Nov 2007 16:46:51 +0000 (16:46 +0000)]
Fix select_common_type() so that it can select a domain type, if all inputs
to a UNION, CASE, or related construct are of the same domain type. The
main part of this routine smashes domains to their base types, which seems
necessary because the logic involves TypeCategory() and IsPreferredType(),
neither of which work usefully on domains. However, we can add a first
pass that just detects whether all the inputs are exactly the same type,
and if so accept that without question (so long as it's not UNKNOWN).
Per recent gripe from Dean Rasheed.
In passing, remove some tests for InvalidOid, which have clearly been dead
code for quite some time now, because getBaseType() would fail on that input.
Also, clarify the manual's not-very-precise description of the existing
algorithm's behavior.
Peter Eisentraut [Mon, 26 Nov 2007 12:31:07 +0000 (12:31 +0000)]
Require a specific Autoconf version, instead of a lower bound only.
Andrew Dunstan [Sun, 25 Nov 2007 19:35:41 +0000 (19:35 +0000)]
Allow for X as well as x to be the prefix for hexadecimal character ref entity numbers,
as in HTML.
Andrew Dunstan [Sun, 25 Nov 2007 15:37:11 +0000 (15:37 +0000)]
Fix XML tag namespace change inadvertantly missed from previous fix. Add
regression test for XML names and numeric entities.
Peter Eisentraut [Sun, 25 Nov 2007 12:08:11 +0000 (12:08 +0000)]
Use double quotes for quoting xml attributes.
Tom Lane [Sun, 25 Nov 2007 02:09:46 +0000 (02:09 +0000)]
Fix thinko in comment.
Tom Lane [Sat, 24 Nov 2007 21:37:04 +0000 (21:37 +0000)]
Reduce routine successful-archiving message from LOG to DEBUG1 grade,
to reduce chattiness of logs. Per discussion.
Simon Riggs
Tom Lane [Sat, 24 Nov 2007 21:20:07 +0000 (21:20 +0000)]
Fix (I think) broken usage of MultiByteToWideChar. I had missed the
subtlety that this function only returns a null terminator if it's
fed input that includes one; which, in the usage here, it's not.
This probably fixes bugs reported by Thomas Haegi.
Tom Lane [Sat, 24 Nov 2007 21:16:55 +0000 (21:16 +0000)]
Slightly more paranoia and slightly better comments for use of
Windows-specific MultiByteToWideChar/WideCharToMultiByte calls.
Tom Lane [Sat, 24 Nov 2007 20:41:35 +0000 (20:41 +0000)]
Add missed entry for new money regression test.
Tom Lane [Sat, 24 Nov 2007 20:26:49 +0000 (20:26 +0000)]
Move resetting of currSchema to a spot where it's not vulnerable to getting
missed in possible future partial-drop scenarios. Improve comment.
Per report from Zoltan Boszormenyi.
D'Arcy J.M. Cain [Sat, 24 Nov 2007 19:49:23 +0000 (19:49 +0000)]
Add regression tests for MONEY type.
Tom Lane [Sat, 24 Nov 2007 19:08:51 +0000 (19:08 +0000)]
Save another little bit of planner overhead on simple queries, by having
clauselist_selectivity skip some analysis that's useless when there's only
one clause in the given list. Actually this can win even for not-so-simple
queries, because we also apply clauselist_selectivity to sublists such as the
quals matching an index; which are likely to have only a single entry even
when the total query is quite complicated.
Bruce Momjian [Sat, 24 Nov 2007 17:45:32 +0000 (17:45 +0000)]
If pg_dump drops a schema, make sure 'search_path' it SET the next time
it is needed --- basically don't remember the previous 'search_path'
after a drop schema because it might have failed but be created later.
Bruce Momjian [Sat, 24 Nov 2007 16:18:48 +0000 (16:18 +0000)]
Clarify how MONEY trims off trailing thousands separator.
Bruce Momjian [Sat, 24 Nov 2007 15:28:02 +0000 (15:28 +0000)]
Make the MONEY data type have a thousands separator != decimal symbol,
if the locale has the thousands separator as "". This now matches the
to_char and psql numericlocale behavior. (Previously this data type was
basically useless for such setups.)
Bruce Momjian [Sat, 24 Nov 2007 01:55:26 +0000 (01:55 +0000)]
Borland BCC does not support SSPI, per cnliou9@fastmail.fm.
Bruce Momjian [Sat, 24 Nov 2007 01:32:48 +0000 (01:32 +0000)]
Borland CC 5.5.1 needs ssize_t, per cnliou9@fastmail.fm.
Tom Lane [Sat, 24 Nov 2007 00:39:44 +0000 (00:39 +0000)]
Change fix_scan_expr() to avoid copying the input node tree in the common case
where rtoffset == 0. In that case there is no need to change Var nodes,
and since filling in unset opfuncid fields is always safe, scribbling on the
input tree to that extent is not objectionable. This brings the cost of this
operation back down to what it was in 8.2 for simple queries. Per
investigation of performance gripe from Guillaume Smet.
Tom Lane [Fri, 23 Nov 2007 19:57:44 +0000 (19:57 +0000)]
Avoid uselessly building a duplicate of the original clause in trivial cases
where the EquivalenceClass machinery is unable to deduce anything more from a
simple "var = const" qual clause. There are probably some more cases where
this could be done, but this seems to take care of most of the added overhead
for simple queries. Per gripe from Guillaume Smet.
In passing, fix a problem that was exposed by this change:
reconsider_outer_join_clause and friends were passing the wrong relids to
build_implied_join_equality, resulting in RestrictInfos with the wrong
required_relids. This mistake was masked in typical cases since the bogus
RestrictInfos would never have escaped from the EquivalenceClass machinery,
but I think there might be corner cases involving "broken" ECs where there
would have been a visible failure even without the new optimization. In any
case the code was certainly not operating as intended.
Bruce Momjian [Fri, 23 Nov 2007 19:54:39 +0000 (19:54 +0000)]
Fix white space in MONEY type code. Rename 'comma' to more generic
'ssymbol' as used in previous function.
Bruce Momjian [Fri, 23 Nov 2007 16:37:55 +0000 (16:37 +0000)]
Update text:
< * Prevent long-lived temporary tables from causing frozen-Xid advancement
> * Prevent long-lived temporary tables from causing frozen-xid advancement
>
> The problem is that autovacuum cannot vacuum them to set frozen xids;
> only the session that created them can do that.
>
>
>
Alvaro Herrera [Fri, 23 Nov 2007 01:46:34 +0000 (01:46 +0000)]
Fix buggy usage of vsnprintf in PL/Python by removing it altogether, instead
relying on stringinfo.c. This fixes a problem reported by Marko Kreen, but I
didn't use his patch, per subsequent discussion.
Tatsuo Ishii [Fri, 23 Nov 2007 00:24:12 +0000 (00:24 +0000)]
Fix "Overall Page Layout" table. The second row should be ItemIdData, not
ItemPointerData.
Tom Lane [Thu, 22 Nov 2007 19:40:25 +0000 (19:40 +0000)]
Actually ... it's pretty silly that parse_oper.c doesn't set up the
opfuncid of an OpExpr initially, considering that it has the information
at hand already. We'll still treat opfuncid as a cache rather than a
guaranteed-valid value, but this change saves one more syscache lookup
in the normal code path.
Tom Lane [Thu, 22 Nov 2007 19:09:23 +0000 (19:09 +0000)]
Save one syscache lookup when examining volatility or strictness of
OpExpr and related nodes. We're going to have to set the opfuncid of
such nodes eventually (if we haven't already), so we might as well
exploit the opportunity to cache the function OID. Buys back some
of the extra planner overhead noted by Guillaume Smet, though I still
need to fool with equivclass.c to really respond to that.
Bruce Momjian [Thu, 22 Nov 2007 17:51:39 +0000 (17:51 +0000)]
Add more comments about thousands separator handling.
Tom Lane [Thu, 22 Nov 2007 17:47:28 +0000 (17:47 +0000)]
Prevent Perl from introducing a possibly-incompatible definition of type
"bool" into plperl.c. This has always been a hazard since Perl allows a
platform-specific choice to define bool as int rather than char, but
evidently this didn't happen on any platform we support ... until OS X 10.5.
Per report from Brandon Maust.
Back-patch as far as 8.0 --- a bit arbitrary, but it seems unlikely anyone
will be trying to port 7.x onto new platforms.
Bruce Momjian [Thu, 22 Nov 2007 15:10:05 +0000 (15:10 +0000)]
Add comments about thousands separator logic.
Bruce Momjian [Thu, 22 Nov 2007 15:04:52 +0000 (15:04 +0000)]
Document that doc builds now build indexes by default, unless "draft" is
used.
Bruce Momjian [Wed, 21 Nov 2007 23:13:36 +0000 (23:13 +0000)]
WSATYPE_NOT_FOUND was already defined for BCC so don't redefine it
(conflicting values).
Bruce Momjian [Wed, 21 Nov 2007 23:03:44 +0000 (23:03 +0000)]
Fix build of libpq for Borland CC.
Bruce Momjian [Wed, 21 Nov 2007 22:28:18 +0000 (22:28 +0000)]
When setting default thousands separator when locale has "", use logic
so new thousands separator doesn't match decimal symbol.
Bruce Momjian [Wed, 21 Nov 2007 21:49:22 +0000 (21:49 +0000)]
Fix typo in comment.
Tom Lane [Wed, 21 Nov 2007 04:01:37 +0000 (04:01 +0000)]
Clarify the syntax rules for raw tsvector input.
Tom Lane [Tue, 20 Nov 2007 23:14:41 +0000 (23:14 +0000)]
Fix bogus length calculation that could lead to crash if the string
happened to be right up against the end of memory, per report from
Matt Magoffin. While at it, avoid useless multiple copying of string
by not depending on xmlStrncatNew.
Bruce Momjian [Tue, 20 Nov 2007 19:24:26 +0000 (19:24 +0000)]
Fix pg_ctl -t to register -t value, per Alvaro.
Bruce Momjian [Tue, 20 Nov 2007 17:10:25 +0000 (17:10 +0000)]
Split release notes up into smaller sections; easier to read.
Tom Lane [Tue, 20 Nov 2007 15:58:52 +0000 (15:58 +0000)]
Fix some missed usages of 'HTML tag' and 'HTML entity'.
Bruce Momjian [Tue, 20 Nov 2007 05:23:20 +0000 (05:23 +0000)]
Make "contrib/" tag consistent.
Bruce Momjian [Tue, 20 Nov 2007 05:16:31 +0000 (05:16 +0000)]
Split out data types and function entries into separate sections in the
release notes.
Bruce Momjian [Tue, 20 Nov 2007 05:00:24 +0000 (05:00 +0000)]
Release note adjustments suggested by IRC users.
Andrew Dunstan [Tue, 20 Nov 2007 04:23:10 +0000 (04:23 +0000)]
Adjust contrib/tsearch2 regression results to use XML tag and XML entity descriptions, as now used by core text search default parser.
Bruce Momjian [Tue, 20 Nov 2007 04:00:27 +0000 (04:00 +0000)]
Reorder a few release notes items for consistency.
Bruce Momjian [Tue, 20 Nov 2007 03:34:14 +0000 (03:34 +0000)]
Trim down release section headings (no need for Changes).
Re-order some items as migration changes.
Andrew Dunstan [Tue, 20 Nov 2007 02:25:22 +0000 (02:25 +0000)]
Change descriptions of entity and tag objects to "XML entity" and "XML tag".
Allow tag and entity names that follow XML rules. Provide for hexadecimal
as well as decimal numeric entities. Adjust code names to coincide with
new descriptions.