- Jul 29, 2013
-
-
Tom Lane authored
These modules used the YYPARSE_PARAM macro, which has been deprecated by the bison folk since 1.875, and which they finally removed in 3.0. Adjust the code to use the replacement facility, %parse-param, which is a much better solution anyway since it allows specification of the type of the extra parser parameter. We can thus get rid of a lot of unsightly casting. Back-patch to all active branches, since somebody might try to build a back branch with up-to-date tools.
-
- Feb 12, 2013
-
-
Peter Eisentraut authored
-
- Jan 14, 2013
-
-
Tom Lane authored
In commit 71450d7f, we added code to inform suitably-intelligent compilers that ereport() doesn't return if the elevel is ERROR or higher. This patch extends that to elog(), and also fixes a double-evaluation hazard that the previous commit created in ereport(), as well as reducing the emitted code size. The elog() improvement requires the compiler to support __VA_ARGS__, which should be available in just about anything nowadays since it's required by C99. But our minimum language baseline is still C89, so add a configure test for that. The previous commit assumed that ereport's elevel could be evaluated twice, which isn't terribly safe --- there are already counterexamples in xlog.c. On compilers that have __builtin_constant_p, we can use that to protect the second test, since there's no possible optimization gain if the compiler doesn't know the value of elevel. Otherwise, use a local variable inside the macros to prevent double evaluation. The local-variable solution is inferior because (a) it leads to useless code being emitted when elevel isn't constant, and (b) it increases the optimization level needed for the compiler to recognize that subsequent code is unreachable. But it seems better than not teaching non-gcc compilers about unreachability at all. Lastly, if the compiler has __builtin_unreachable(), we can use that instead of abort(), resulting in a noticeable code savings since no function call is actually emitted. However, it seems wise to do this only in non-assert builds. In an assert build, continue to use abort(), so that the behavior will be predictable and debuggable if the "impossible" happens. These changes involve making the ereport and elog macros emit do-while statement blocks not just expressions, which forces small changes in a few call sites. Andres Freund, Tom Lane, Heikki Linnakangas
-
- Oct 11, 2012
-
-
Peter Eisentraut authored
Numerous flex and bison make rules have appeared in the source tree over time, and they are all virtually identical, so we can replace them by pattern rules with some variables for customization. Users of pgxs will also be able to benefit from this.
-
- Jul 05, 2012
-
-
Bruce Momjian authored
Run on HEAD and 9.2.
-
- Nov 01, 2011
-
-
Peter Eisentraut authored
These are not touched by pgindent, so clean them up a bit manually.
-
- Oct 12, 2011
-
-
Tom Lane authored
We have seen one too many reports of people trying to use 9.1 extension files in the old-fashioned way of sourcing them in psql. Not only does that usually not work (due to failure to substitute for MODULE_PATHNAME and/or @extschema@), but if it did work they'd get a collection of loose objects not an extension. To prevent this, insert an \echo ... \quit line that prints a suitable error message into each extension script file, and teach commands/extension.c to ignore lines starting with \echo. That should not only prevent any adverse consequences of loading a script file the wrong way, but make it crystal clear to users that they need to do it differently now. Tom Lane, following an idea of Andrew Dunstan's. Back-patch into 9.1 ... there is not going to be much value in this if we wait till 9.2.
-
- Sep 01, 2011
-
-
Bruce Momjian authored
-
- Aug 25, 2011
-
-
Tom Lane authored
This is recommended in the flex manual, and there seems no good reason not to use it everywhere.
-
- May 19, 2011
-
-
Heikki Linnakangas authored
It's been like this since the seg module was introduced, so backpatch to 8.2 which is the oldest supported version.
-
- Apr 25, 2011
-
-
Peter Eisentraut authored
Added a new option --extra-install to pg_regress to arrange installing the respective contrib directory into the temporary installation. This is currently not yet supported for Windows MSVC builds. Updated the .gitignore files for contrib modules to ignore the leftovers of a temp-install check run. Changed the exit status of "make check" in a pgxs build (which still does nothing) to 0 from 1. Added "make check" in contrib to top-level "make check-world".
-
- Apr 11, 2011
-
-
Peter Eisentraut authored
This warning is new in gcc 4.6 and part of -Wall. This patch cleans up most of the noise, but there are some still warnings that are trickier to remove.
-
- Apr 10, 2011
-
-
Bruce Momjian authored
-
- Feb 14, 2011
-
-
Tom Lane authored
It was never terribly consistent to use OR REPLACE (because of the lack of comparable functionality for data types, operators, etc), and experimentation shows that it's now positively pernicious in the extension world. We really want a failure to occur if there are any conflicts, else it's unclear what the extension-ownership state of the conflicted object ought to be. Most of the time, CREATE EXTENSION will fail anyway because of conflicts on other object types, but an extension defining only functions can succeed, with bad results.
-
Tom Lane authored
This isn't fully tested as yet, in particular I'm not sure that the "foo--unpackaged--1.0.sql" scripts are OK. But it's time to get some buildfarm cycles on it. sepgsql is not converted to an extension, mainly because it seems to require a very nonstandard installation process. Dimitri Fontaine and Tom Lane
-
- Dec 16, 2010
-
-
Tom Lane authored
This patch replaces Guttman's generalized split method with a simple sort-by-center-points algorithm. Since the data is only one-dimensional we don't really need the slow and none-too-stable Guttman method. This is in part a bug fix, since seg has the same size_alpha versus size_beta typo that was recently fixed in contrib/cube. It seems prudent to apply this rather aggressive fix only in HEAD, though. Back branches will just get the typo fix. Alexander Korotkov, reviewed by Yeb Havinga
-
- Nov 23, 2010
-
-
Peter Eisentraut authored
-
- Sep 22, 2010
-
-
Tom Lane authored
Also do some further work in the back branches, where quite a bit wasn't covered by Magnus' original back-patch.
-
Magnus Hagander authored
-
- Sep 20, 2010
-
-
Magnus Hagander authored
-
- Aug 28, 2009
-
-
Peter Eisentraut authored
source directory even for out-of-tree builds. They are now alsl built in the build tree. This should be more convenient for certain developers' workflows, and shouldn't really break anything else.
-
- Jun 11, 2009
-
-
Tom Lane authored
(Note: GiST penalty functions could possibly be non-strict, but none are at present.)
-
Bruce Momjian authored
provided by Andrew.
-
- Nov 26, 2008
-
-
Peter Eisentraut authored
-
- Sep 02, 2008
-
-
Tom Lane authored
during parsing. Formerly the parser's stack was allocated with malloc and so wouldn't be reclaimed; this patch makes it use palloc instead, so that flushing the current context will reclaim the memory. Per Marko Kreen.
-
- Sep 01, 2008
-
-
Tom Lane authored
There are still some weak spots around JOIN USING and relation alias lists, but most errors reported within backend/parser/ now have locations.
-
- Aug 29, 2008
-
-
Peter Eisentraut authored
change build system to use only Bison. Simplify build rules, make file names uniform. Don't build the token table header file where it is not needed.
-
- Aug 26, 2008
-
-
Tom Lane authored
warnings. Peter did this for core awhile ago but evidently missed contrib.
-
- May 17, 2008
-
-
Andrew Dunstan authored
This particular batch was just for *.c and *.h file. The changes were made with the following 2 commands: find . \( \( -name 'libstemmer' -o -name 'expected' -o -name 'ppport.h' \) -prune \) -o \( -name '*.[ch]' \) \( -exec grep -q '\$PostgreSQL' {} \; -o -print \) | while read file ; do head -n 1 < $file | grep -q '^/\*' && echo $file; done | xargs -l sed -i -e '1s/^\// /' -e '1i/*\n * $PostgreSQL:$ \n *' find . \( \( -name 'libstemmer' -o -name 'expected' -o -name 'ppport.h' \) -prune \) -o \( -name '*.[ch]' \) \( -exec grep -q '\$PostgreSQL' {} \; -o -print \) | xargs -l sed -i -e '1i/*\n * $PostgreSQL:$ \n */'
-
- Apr 20, 2008
-
-
Tom Lane authored
-
- Apr 18, 2008
-
-
Alvaro Herrera authored
conventions. I also changed seg_in and seg_out, which was probably unnecessary, but it can't harm.
-
Tom Lane authored
-
Alvaro Herrera authored
uses of the long-deprecated float32 in contrib/seg; the definitions themselves are still there, but no longer used. fmgr/README updated to match. I added a CREATE FUNCTION to account for existing seg_center() code in seg.c too, and some tests for it and the neighbor functions. At the same time, remove checks for NULL which are not needed (because the functions are declared STRICT). I had to do some adjustments to contrib's btree_gist too. The choices for representation there are not ideal for changing the underlying types :-( Original patch by Zoltan Boszormenyi, with some adjustments by me.
-
- Apr 14, 2008
-
-
Tom Lane authored
"consistent" functions, and remove pg_amop.opreqcheck, as per recent discussion. The main immediate benefit of this is that we no longer need 8.3's ugly hack of requiring @@@ rather than @@ to test weight-using tsquery searches on GIN indexes. In future it should be possible to optimize some other queries better than is done now, by detecting at runtime whether the index match is exact or not. Tom Lane, after an idea of Heikki's, and with some help from Teodor.
-
- Nov 13, 2007
-
-
Bruce Momjian authored
-
- Nov 11, 2007
-
-
Bruce Momjian authored
remove transactions use create or replace function make formatting consistent set search patch on first line Add documentation on modifying *.sql to set the search patch, and mention that major upgrades should still run the installation scripts. Some of these issues were spotted by Tom today.
-
Bruce Momjian authored
-
Bruce Momjian authored
or will never be converted.
-
- Sep 30, 2007
-
-
Tom Lane authored
Found by running opr_sanity on contrib modules.
-
- Jun 27, 2007
-
-
Tom Lane authored
installations whose pg_config program does not appear first in the PATH. Per gripe from Eddie Stanley and subsequent discussions with Fabien Coelho and others.
-