| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
| |
columns, per my gripe earlier today. Make it look a bit less like
someone's first effort at backend coding.
|
|
|
|
| |
suppressing Sun Studio compiler warnings. Per Stefan.
|
|
|
|
|
|
|
|
| |
were accepted by prior Postgres releases. This takes care of the loose end
left by the preceding patch to downgrade implicit casts-to-text. To avoid
breaking desirable behavior for array concatenation, introduce a new
polymorphic pseudo-type "anynonarray" --- the added concatenation operators
are actually text || anynonarray and anynonarray || text.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Function renamed to "xpath".
- Function is now strict, per discussion.
- Return empty array in case when XPath expression detects nothing
(previously, NULL was returned in such case), per discussion.
- (bugfix) Work with fragments with prologue: select xpath('/a',
'<?xml version="1.0"?><a /><b />'); // now XML datum is always wrapped
with dummy <x>...</x>, XML prologue simply goes away (if any).
- Some cleanup.
Nikolay Samokhvalov
Some code cleanup and documentation work by myself.
|
|
|
|
|
|
|
|
|
| |
This commit breaks any code that assumes that the mere act of forming a tuple
(without writing it to disk) does not "toast" any fields. While all available
regression tests pass, I'm not totally sure that we've fixed every nook and
cranny, especially in contrib.
Greg Stark with some help from Tom Lane
|
|
|
|
| |
output to match.
|
|
|
|
| |
installation.
|
|
|
|
|
| |
pg_type.typtype whereever practical. Tom Dunstan, with some kibitzing
from Tom Lane.
|
|
|
|
| |
Refactor and document the remaining mapping code.
|
|
|
|
| |
Nikolay Samokhvalov
|
|
|
|
| |
Nikolay Samokhvalov
|
|
|
|
|
|
|
|
|
|
|
|
| |
uses SPI plans, this finally fixes the ancient gotcha that you can't
drop and recreate a temp table used by a plpgsql function.
Along the way, clean up SPI's API a little bit by declaring SPI plan
pointers as "SPIPlanPtr" instead of "void *". This is cosmetic but
helps to forestall simple programming mistakes. (I have changed some
but not all of the callers to match; there are still some "void *"'s
in contrib and the PL's. This is intentional so that we can see if
anyone's compiler complains about it.)
|
|
|
|
|
|
| |
fixup various places in the tree that were clearing a StringInfo by hand.
Making this function a part of the API simplifies client code slightly,
and avoids needlessly peeking inside the StringInfo interface.
|
|
|
|
| |
Pavel Stehule
|
|
|
|
|
|
|
|
|
|
|
| |
Get rid of VARATT_SIZE and VARATT_DATA, which were simply redundant with
VARSIZE and VARDATA, and as a consequence almost no code was using the
longer names. Rename the length fields of struct varlena and various
derived structures to catch anyplace that was accessing them directly;
and clean up various places so caught. In itself this patch doesn't
change any behavior at all, but it is necessary infrastructure if we hope
to play any games with the representation of varlena headers.
Greg Stark and Tom Lane
|
|
|
|
| |
require stdint.h and works for "busted" int64.
|
| |
|
| |
|
|
|
|
| |
after variable declarations.
|
|
|
|
| |
to XML names, which will be required for supporting XML export.
|
| |
|
|
|
|
|
|
|
|
|
| |
observe the xmloption.
Reorganize the representation of the XML option in the parse tree and the
API to make it easier to manage and understand.
Add regression tests for parsing back XML expressions.
|
|
|
|
|
| |
classified the conditions under which this is safe to do (see source
code comment).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add new SQL command SET XML OPTION (also available via regular GUC) to
control the DOCUMENT vs. CONTENT option in implicit parsing and
serialization operations.
- Subtle corrections in the handling of the standalone property in
xmlroot().
- Allow xmlroot() to work on content fragments.
- Subtle corrections in the handling of the version property in
xmlconcat().
- Code refactoring for producing XML declarations.
|
|
|
|
|
|
|
|
|
| |
libxml as the detail message.
As per <http://archives.postgresql.org/pgsql-hackers/2006-12/msg01087.php>.
For converting error codes to messages, we only need to cover those codes
that we raise ourselves now.
|
|
|
|
| |
function xmlagg.
|
|
|
|
|
| |
with new GUC parameter "xmlbinary" that controls the output encoding, as
per SQL/XML standard.
|
|
|
|
|
| |
declarations are ignored and removed, in binary mode they are honored as
specified by the XML standard.
|
| |
|
| |
|
|
|
|
|
| |
coercion to type xml was a mistake. Escape values so they are valid
XML character data.
|
|
|
|
|
| |
our own printing dance. This does a better job of quoting and escaping the
values.
|
|
|
|
|
|
| |
- correct error codes
- do syntax checks in correct order
- strip leading spaces of argument
|
|
|
|
|
| |
hand-crafted parser for the XML declaration, because libxml doesn't seem
to allow this.
|
|
|
|
|
|
|
|
|
| |
sets the items, and serializes the value back (rather than adding an
arbitrary number of XML preambles as before).
The libxml memory management via palloc had to be disabled because it
crashes when libxml tries to access memory that was helpfully freed
earlier by PostgreSQL. This needs further thought.
|
|
|
|
| |
back-stamped for this.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Use a TRY block instead of (inadequate) ad-hoc coding to ensure that
libxml is cleaned up after a failure. Report the intended SQLCODE
instead of defaulting to XX000. Avoid risking use of a dangling
pointer by keeping the persistent error buffer in TopMemoryContext.
Be less trusting that error messages don't contain %.
This patch doesn't do anything about changing the way the messages
are put together --- this is just about mechanism.
|
|
|
|
|
|
|
| |
bletcherous and unsafe manipulation of global encoding setting.
Clean up libxml reporting mechanism a bit (it still looks like a
dangling-pointer crash waiting to happen, though, not to mention
being far less than sane from a localization standpoint).
|
|
|
|
|
|
|
| |
the XmlExpr code in various lists, use a representation that has some hope
of reverse-listing correctly (though it's still a de-escaping function
shy of correctness), generally try to make it look more like Postgres
coding conventions.
|
| |
|
|
|