- Sep 04, 2009
-
-
Heikki Linnakangas authored
input functions don't accept either. While the backend can handle such values fine, they can cause trouble in clients and in pg_dump/restore. This is followup to the original issue on time datatype reported by Andrew McNamara a while ago. Like that one, none of these seem worth back-patching.
-
- Jun 22, 2009
-
-
Tom Lane authored
-
- Jun 21, 2009
-
-
Peter Eisentraut authored
-
- Jun 20, 2009
-
-
Tom Lane authored
ArrayBuildState, per trouble report from Merlin Moncure. By adopting this fix, we are essentially deciding that aggregate final-functions should not modify their inputs ever. Adjust documentation and comments to match that conclusion.
-
- Jun 11, 2009
-
-
Bruce Momjian authored
provided by Andrew.
-
- Apr 16, 2009
-
-
Alvaro Herrera authored
-
- Apr 09, 2009
-
-
Tom Lane authored
how this ought to behave for multi-dimensional arrays. Per discussion, not having it at all seems better than having it with what might prove to be the wrong behavior. We can always add it later when we have consensus on the correct behavior.
-
- Apr 06, 2009
-
-
Tom Lane authored
alias for array_length(v,1). The efficiency gain here is doubtless negligible --- what I'm interested in is making sure that if we have second thoughts about the definition, we will not have to force a post-beta initdb to change the implementation.
-
- Jan 30, 2009
-
-
Tom Lane authored
Alvaro.
-
- Jan 01, 2009
-
-
Bruce Momjian authored
-
- Dec 28, 2008
-
-
Tom Lane authored
Hitoshi Harada, with some kibitzing from Heikki and Tom.
-
- Nov 14, 2008
-
-
Tom Lane authored
anyelement. This lacks the WITH ORDINALITY option, as well as the multiple input arrays option added in the most recent SQL specs. But it's still a pretty useful subset of the spec's functionality, and it is enough to allow obsoleting contrib/intagg.
-
- Nov 12, 2008
-
-
Peter Eisentraut authored
function as a special case. This version still has the suspicious behavior of returning null for an empty array (rather than zero), but this may need a wholesale revision of empty array behavior, currently under discussion. Jim Nasby, Robert Haas, Peter Eisentraut
-
- Nov 04, 2008
-
-
Peter Eisentraut authored
Author: Robert Haas <robertmhaas@gmail.com>
-
- Jul 21, 2008
-
-
Tom Lane authored
and bogus documentation (dimension arrays are int[] not anyarray). Also the errhint() messages seem to be really errdetail(), since there is nothing heuristic about them. Some other trivial cosmetic improvements.
-
- Jul 16, 2008
-
-
Bruce Momjian authored
Pavel Stehule
-
- 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.
-
- Apr 28, 2008
-
-
Alvaro Herrera authored
array's subscripts. Pavel Stehule, some editorialization by me.
-
- Apr 12, 2008
-
-
Tom Lane authored
results to contain uninitialized, unpredictable values. While this was okay as far as the datatypes themselves were concerned, it's a problem for the parser because occurrences of the "same" literal might not be recognized as equal by datumIsEqual (and hence not by equal()). It seems sufficient to fix this in the input functions since the only critical use of equal() is in the parser's comparisons of ORDER BY and DISTINCT expressions. Per a trouble report from Marc Cousin. Patch all the way back. Interestingly, array_in did not have the bug before 8.2, which may explain why the issue went unnoticed for so long.
-
- 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
-
- Feb 29, 2008
-
-
Alvaro Herrera authored
-
- Jan 01, 2008
-
-
Bruce Momjian authored
-
- 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
-
- Mar 28, 2007
-
-
Tom Lane authored
seen by code inspecting the expression. The best way to do this seems to be to drop the original representation as a function invocation, and instead make a special expression node type that represents applying the element-type coercion function to each array element. In this way the element function is exposed and will be checked for volatility. Per report from Guillaume Smet.
-
- 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
-
- Jan 05, 2007
-
-
Bruce Momjian authored
back-stamped for this.
-
- Nov 08, 2006
-
-
Tom Lane authored
more space is needed, instead of incrementing by a fixed amount; the old method wastes lots of space and time when the ultimate size is large. Per gripe from Tatsuo.
-
- Oct 06, 2006
-
-
Peter Eisentraut authored
-
- Oct 04, 2006
-
-
Bruce Momjian authored
-
- Sep 29, 2006
-
-
Tom Lane authored
present; intervening positions are filled with nulls. This behavior is required by SQL99 but was not implementable before 8.2 due to lack of support for nulls in arrays. I have only made it work for the one-dimensional case, which is all that SQL99 requires. It seems quite complex to get it right in higher dimensions, and since we never allowed extension at all in higher dimensions, I think that must count as a future feature addition not a bug fix.
-
- Sep 10, 2006
-
-
Tom Lane authored
we probably should make them work reliably for all arrays. Fix code to handle NULLs and multidimensional arrays, move it into arrayfuncs.c. GIN is still restricted to indexing arrays with no null elements, however.
-
- Jul 14, 2006
-
-
Bruce Momjian authored
-
- Jul 11, 2006
-
-
Bruce Momjian authored
-
- Apr 04, 2006
-
-
Tom Lane authored
functions are not strict, they will be called (passing a NULL first parameter) during any attempt to input a NULL value of their datatype. Currently, all our input functions are strict and so this commit does not change any behavior. However, this will make it possible to build domain input functions that centralize checking of domain constraints, thereby closing numerous holes in our domain support, as per previous discussion. While at it, I took the opportunity to introduce convenience functions InputFunctionCall, OutputFunctionCall, etc to use in code that calls I/O functions. This eliminates a lot of grotty-looking casts, but the main motivation is to make it easier to grep for these places if we ever need to touch them again.
-
- Mar 05, 2006
-
-
Bruce Momjian authored
-
- Nov 22, 2005
-
-
Bruce Momjian authored
comment line where output as too long, and update typedefs for /lib directory. Also fix case where identifiers were used as variable names in the backend, but as typedefs in ecpg (favor the backend for indenting). Backpatch to 8.1.X.
-
- Nov 19, 2005
-
-
Tom Lane authored
not only the array contents, before claiming two arrays are equal. Per recent discussion.
-
- Nov 17, 2005
-
-
Tom Lane authored
functionality, but I still need to make another pass looking at places that incidentally use arrays (such as ACL manipulation) to make sure they are null-safe. Contrib needs work too. I have not changed the behaviors that are still under discussion about array comparison and what to do with lower bounds.
-
- Oct 15, 2005
-
-
Bruce Momjian authored
-
- Aug 15, 2005
-
-
Tom Lane authored
their OID parameter. It was possible to crash the backend with select array_in('{123}',0,0); because that would bypass the needed step of initializing the workspace. These seem to be the only two places with a problem, though (record_in and record_recv don't have the issue, and the other array functions aren't depending on user-supplied input). Back-patch as far as 7.4; 7.3 does not have the bug.
-