- Jul 04, 2011
-
-
Alvaro Herrera authored
This lets us stop including rel.h into execnodes.h, which is a widely used header.
-
- May 28, 2011
-
-
Tom Lane authored
parse_xml_decl's header comment says you can pass NULL for any unwanted output parameter, but it failed to honor this contract for the "standalone" flag. The only currently-affected caller is xml_recv, so the net effect is that sending a binary XML value containing a standalone parameter in its xml declaration would crash the backend. Per bug #6044 from Christopher Dillard. In passing, remove useless initializations of parse_xml_decl's output parameters in xml_parse. Back-patch to 8.3, where this code was introduced.
-
- Apr 10, 2011
-
-
Bruce Momjian authored
-
- Jan 01, 2011
-
-
Bruce Momjian authored
-
- Nov 23, 2010
-
-
Peter Eisentraut authored
-
- Oct 21, 2010
-
-
Tom Lane authored
This patch eliminates various bizarre behaviors caused by sloppy thinking about the difference between a domain type and its underlying array type. In particular, the operation of updating one element of such an array has to be considered as yielding a value of the underlying array type, *not* a value of the domain, because there's no assurance that the domain's CHECK constraints are still satisfied. If we're intending to store the result back into a domain column, we have to re-cast to the domain type so that constraints are re-checked. For similar reasons, such a domain can't be blindly matched to an ANYARRAY polymorphic parameter, because the polymorphic function is likely to apply array-ish operations that could invalidate the domain constraints. For the moment, we just forbid such matching. We might later wish to insert an automatic downcast to the underlying array type, but such a change should also change matching of domains to ANYELEMENT for consistency. To ensure that all such logic is rechecked, this patch removes the original hack of setting a domain's pg_type.typelem field to match its base type; the typelem will always be zero instead. In those places where it's really okay to look through the domain type with no other logic changes, use the newly added get_base_element_type function in place of get_element_type. catversion bumped due to change in pg_type contents. Per bug #5717 from Richard Huxton and subsequent discussion.
-
- Oct 15, 2010
-
-
Peter Eisentraut authored
-
- Sep 20, 2010
-
-
Magnus Hagander authored
-
- Aug 13, 2010
-
-
Tom Lane authored
functions to the core XML code. Per discussion, the former depends on XMLOPTION while the others do not. These supersede a version previously offered by contrib/xml2. Mike Fowler, reviewed by Pavel Stehule
-
- Aug 08, 2010
-
-
Tom Lane authored
it offers support for namespace mapping. Mike Fowler, reviewed by David Fetter
-
- Aug 05, 2010
-
-
Peter Eisentraut authored
by Mike Fowler, reviewed by Peter Eisentraut
-
- Jul 06, 2010
-
-
Bruce Momjian authored
-
- Mar 03, 2010
-
-
Tom Lane authored
too, instead of duplicating the functionality (badly). I renamed xml_init to pg_xml_init, because the former seemed just a bit too generic to be safe as a global symbol. I considered likewise renaming xml_ereport to pg_xml_ereport, but felt that the reference to ereport probably made it sufficiently PG-centric already.
-
- Feb 14, 2010
-
-
Robert Haas authored
The purpose of this change is to eliminate the need for every caller of SearchSysCache, SearchSysCacheCopy, SearchSysCacheExists, GetSysCacheOid, and SearchSysCacheList to know the maximum number of allowable keys for a syscache entry (currently 4). This will make it far easier to increase the maximum number of keys in a future release should we choose to do so, and it makes the code shorter, too. Design and review by Tom Lane.
-
- Jan 02, 2010
-
-
Bruce Momjian authored
-
- Sep 04, 2009
-
-
Heikki Linnakangas authored
specify an encoding explicitly, we used to treat it as being in database encoding when we parsed it, but then perform a UTF-8 -> database encoding conversion on it, which was completely bogus. It's now consistently treated as UTF-8.
-
- Aug 10, 2009
-
-
Tom Lane authored
There are probably still some adjustments to be made in the details of the output, but this gets the basic structure in place. Robert Haas
-
- Jun 11, 2009
-
-
Bruce Momjian authored
provided by Andrew.
-
- Jun 10, 2009
-
-
Tom Lane authored
Sergey Burladyan, there are at least some dank corners of libxml2 that assume this behavior, even though their published documentation suggests they shouldn't. This is only really a live problem in 8.3, but the code is still there for possible debugging use in HEAD, so patch both branches.
-
Peter Eisentraut authored
Author: Itagaki Takahiro <itagaki.takahiro@oss.ntt.co.jp>
-
- Jun 08, 2009
-
-
Peter Eisentraut authored
also backpatched to 8.3
-
- May 13, 2009
-
-
Tom Lane authored
redirecting libxml's allocations into a Postgres context. Instead, just let it use malloc directly, and add PG_TRY blocks as needed to be sure we release libxml data structures in error recovery code paths. This is ugly but seems much more likely to play nicely with third-party uses of libxml, as seen in recent trouble reports about using Perl XML facilities in pl/perl and bug #4774 about contrib/xml2. I left the code for allocation redirection in place, but it's only built/used if you #define USE_LIBXMLCONTEXT. This is because I found it useful to corral libxml's allocations in a palloc context when hunting for libxml memory leaks, and we're surely going to have more of those in the future with this type of approach. But we don't want it turned on in a normal build because it breaks exactly what we need to fix. I have not re-indented most of the code sections that are now wrapped by PG_TRY(); that's for ease of review. pg_indent will fix it. This is a pre-existing bug in 8.3, but I don't dare back-patch this change until it's gotten a reasonable amount of field testing.
-
- May 12, 2009
-
-
Tom Lane authored
xml_parse, all arising from the same sloppy usage of parse_xml_decl. The original coding had that function returning its output string parameters in the libxml context, which is long-lived, and all but one of its callers neglected to free the strings afterwards. The easiest and most bulletproof fix is to return the strings in the local palloc context instead, since that's short-lived. This was only costing a dozen or two bytes per function call, but that adds up fast if the function is called repeatedly ... Noted while poking at the more general problem of what to do with our libxml memory allocation hooks. Back-patch to 8.3, which has the identical coding.
-
- Apr 08, 2009
-
-
Peter Eisentraut authored
map_sql_value_to_xml_value() instead of directly through the data type output function. This is per SQL standard, and consistent with XMLELEMENT().
-
- Mar 27, 2009
-
-
Tom Lane authored
while converting to XML. Bernd Helmle
-
- Mar 23, 2009
-
-
Andrew Dunstan authored
-
- Jan 07, 2009
-
-
Tom Lane authored
not include postgres.h nor anything else it doesn't directly need. Add #includes to calling files as needed to compensate. Per my proposal of yesterday. This should be noted as a source code change in the 8.4 release notes, since it's likely to require changes in add-on modules.
-
- Jan 01, 2009
-
-
Bruce Momjian authored
-
- Nov 10, 2008
-
-
Tom Lane authored
the length of a UTF8 character with pg_mblen (wrong if DB encoding isn't UTF8), and the latter was blithely assuming that a static buffer would somehow revert to all zeroes for each use.
-
- Oct 29, 2008
-
-
Peter Eisentraut authored
-
- Oct 14, 2008
-
-
Tom Lane authored
the timestamp types. Turns out this doesn't even reduce the available range of dates, since the restriction to dates that work for Julian-date arithmetic is much tighter than the int32 range anyway. Per a longstanding TODO item.
-
- Oct 09, 2008
-
-
Tom Lane authored
Report and fix by Michael McMaster. Some minor code beautification by me, also avoid memory leaks in the special-case paths.
-
- Sep 16, 2008
-
-
Tom Lane authored
-
- Aug 26, 2008
-
-
Tom Lane authored
into nodes/nodeFuncs, so as to reduce wanton cross-subsystem #includes inside the backend. There's probably more that should be done along this line, but this is a start anyway.
-
- Jul 03, 2008
-
-
Tom Lane authored
fix by Kris Jurka.
-
- May 12, 2008
-
-
Alvaro Herrera authored
unnecessary #include lines in it. Also, move some tuple routine prototypes and macros to htup.h, which allows removal of heapam.h inclusion from some .c files. For this to work, a new header file access/sysattr.h needed to be created, initially containing attribute numbers of system columns, for pg_dump usage. While at it, make contrib ltree, intarray and hstore header files more consistent with our header style.
-
- May 04, 2008
-
-
Tom Lane authored
These changes assume that the varchar and xml data types are represented the same as text. (I did not, however, accept the portions of the proposed patch that wanted to assume bytea is the same as text --- tgl.) Brendan Jurd
-
- Apr 04, 2008
-
-
Magnus Hagander authored
xmloption GUC variables into enums..
-
- Mar 25, 2008
-
-
Tom Lane authored
strings. This patch introduces four support functions cstring_to_text, cstring_to_text_with_len, text_to_cstring, and text_to_cstring_buffer, and two macros CStringGetTextDatum and TextDatumGetCString. A number of existing macros that provided variants on these themes were removed. Most of the places that need to make such conversions now require just one function or macro call, in place of the multiple notational layers that used to be needed. There are no longer any direct calls of textout or textin, and we got most of the places that were using handmade conversions via memcpy (there may be a few still lurking, though). This commit doesn't make any serious effort to eliminate transient memory leaks caused by detoasting toasted text objects before they reach text_to_cstring. We changed PG_GETARG_TEXT_P to PG_GETARG_TEXT_PP in a few places where it was easy, but much more could be done. Brendan Jurd and Tom Lane
-
- 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.
-