- Mar 24, 2008
-
-
Tom Lane authored
friends. Avoid double translation of some messages, ensure other messages are exposed for translation (and make them follow the style guidelines), avoid unsafe passing of an unpredictable message text as a format string.
-
- Mar 01, 2008
-
-
Tom Lane authored
left in the code though it was not meant to be provided. It represents a security hole because unprivileged users could use it to look at (at least the first line of) any file readable by the backend. Fortunately, this is only possible if the backend was built with XML support, so the damage is at least mitigated; and 8.3 probably hasn't propagated into any security-critical uses yet anyway. Per report from Sergey Burladyan.
-
- Jan 15, 2008
-
-
Tom Lane authored
in whichever context happens to be current during a call of an xml.c function, use a dedicated context that will not go away until we explicitly delete it (which we do at transaction end or subtransaction abort). This makes recovery after an error much simpler --- we don't have to individually delete the data structures created by libxml. Also, we need to initialize and cleanup libxml only once per transaction (if there's no error) instead of once per function call, so it should be a bit faster. We'll need to keep an eye out for intra-transaction memory leaks, though. Alvaro and Tom.
-
- Jan 12, 2008
-
-
Tom Lane authored
Therefore we must xmlCleanupParser(), or we risk leaving behind dangling pointers to whatever memory context is current when xml_init() is called. This seems to fix bug #3860, though we might still want the more invasive solution being worked on by Alvaro.
-
Neil Conway authored
SPI_prepare() and SPI_cursor_open(), to silence a Coverity warning.
-
Neil Conway authored
anyway, it is faster to memcpy() than to strcpy().
-
- Jan 01, 2008
-
-
Bruce Momjian authored
-
- Nov 28, 2007
-
-
Peter Eisentraut authored
-
- Nov 27, 2007
-
-
Tom Lane authored
-
Peter Eisentraut authored
immutable and indexable. Also fix the volatility settings of some other XML-related functions.
-
- Nov 25, 2007
-
-
Peter Eisentraut authored
-
- Nov 21, 2007
-
-
Tom Lane authored
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.
-
- Nov 15, 2007
-
-
Bruce Momjian authored
avoid this problem in the future.)
-
Bruce Momjian authored
-
- Nov 10, 2007
- Nov 09, 2007
-
-
Peter Eisentraut authored
those being exactly "xml". Bug #3735 from Ben Leslie
-
- Nov 08, 2007
-
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
- Nov 06, 2007
-
-
Tom Lane authored
Add some more xml_init() calls that might not be necessary, but seem like a good idea to avoid possible problems like we saw in xmlelement(). Fix unsafe assumption that you can keep using the tupledesc of a relcache entry you don't have open. Add missing error checks for SearchSysCache failure. Get rid of handwritten array traversal in xpath() and O(N^2), broken-for-nulls array access code in map_sql_value_to_xml_value(), in favor of using deconstruct_array. Manually adjust a lot of line breaks in places where the code is otherwise gonna look pretty awful after pg_indent hacks it up (original author seems to have liked to lay out code for a 200-column window).
-
- Nov 05, 2007
-
-
Tom Lane authored
assuming that evaluation of its input expressions won't change the state of libxml. This requires refactoring xml_init() to not call xmlInitParser(), since now not all of its callers want that. I also tweaked things to avoid repeated execution of one-time-only tests inside xml_init(), though this is mostly for clarity rather than in hopes of saving any noticeable amount of runtime. Per report from Sheikh Amjad and subsequent discussion. In passing, fix a couple of inadequately schema-qualified queries.
-
- Oct 13, 2007
-
-
Tom Lane authored
functions. Patch for the reported issue from Kris Jurka, some other potential trouble spots plugged by Tom.
-
Tom Lane authored
renumbering of encoding IDs done between 8.2 and 8.3 turns out to break 8.2 initdb and psql if they are run with an 8.3beta1 libpq.so. For the moment we can rearrange the order of enum pg_enc to keep the same number for everything except PG_JOHAB, which isn't a problem since there are no direct references to it in the 8.2 programs anyway. (This does force initdb unfortunately.) Going forward, we want to fix things so that encoding IDs can be changed without an ABI break, and this commit includes the changes needed to allow libpq's encoding IDs to be treated as fully independent of the backend's. The main issue is that libpq clients should not include pg_wchar.h or otherwise assume they know the specific values of libpq's encoding IDs, since they might encounter version skew between pg_wchar.h and the libpq.so they are using. To fix, have libpq officially export functions needed for encoding name<=>ID conversion and validity checking; it was doing this anyway unofficially. It's still the case that we can't renumber backend encoding IDs until the next bump in libpq's major version number, since doing so will break the 8.2-era client programs. However the code is now prepared to avoid this type of problem in future. Note that initdb is no longer a libpq client: we just pull in the two source files we need directly. The patch also fixes a few places that were being sloppy about checking for an unrecognized encoding name.
-
- Sep 23, 2007
-
-
Tom Lane authored
-
- Jul 13, 2007
-
-
Tom Lane authored
columns, per my gripe earlier today. Make it look a bit less like someone's first effort at backend coding.
-
- Jul 12, 2007
-
-
Tom Lane authored
suppressing Sun Studio compiler warnings. Per Stefan.
-
- Jun 07, 2007
-
-
Tom Lane authored
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.
-
- May 21, 2007
-
-
Peter Eisentraut authored
- 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.
-
- Apr 06, 2007
-
-
Tom Lane authored
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
-
- Apr 05, 2007
-
-
Bruce Momjian authored
output to match.
-
Bruce Momjian authored
installation.
-
- Apr 02, 2007
-
-
Tom Lane authored
pg_type.typtype whereever practical. Tom Dunstan, with some kibitzing from Tom Lane.
-
- Apr 01, 2007
-
-
Peter Eisentraut authored
Refactor and document the remaining mapping code.
-
- Mar 22, 2007
-
-
Bruce Momjian authored
Nikolay Samokhvalov
-
Bruce Momjian authored
Nikolay Samokhvalov
-
- Mar 16, 2007
-
-
Tom Lane authored
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.)
-
- Mar 03, 2007
-
-
Neil Conway authored
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.
-
- Mar 01, 2007
-
-
Peter Eisentraut authored
Pavel Stehule
-
- Feb 28, 2007
-
-
Tom Lane authored
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
-
- Feb 16, 2007
-
-
Peter Eisentraut authored
require stdint.h and works for "busted" int64.
-