Commit Graph

931 Commits

Author SHA1 Message Date
Bruce Momjian
6f9afc351b In pgrminclude, add code to skip includes with a marker comment. 2011-08-26 10:08:39 -04:00
Bruce Momjian
4399e81749 In pgrminclude, make skipped include names constent and skip files with
#if/#ifdefs.
2011-08-26 10:06:01 -04:00
Andrew Dunstan
7327cb6420 Port backup check on psql lexer to MSVC. 2011-08-25 17:27:36 -04:00
Bruce Momjian
034dda61dd Mark cpluspluscheck as excutable in git. 2011-08-22 22:14:58 -04:00
Bruce Momjian
ee639d2777 Fix copyright.pl to properly us 'tie' function.
Kris Jurka
2011-08-19 19:31:12 -04:00
Bruce Momjian
6dfcadafd3 Fix problem with regex in copyright test.
Report and fix by Kris Jurka
2011-08-19 17:45:10 -04:00
Bruce Momjian
272c289a46 Remove use of 'tie' in perl for copyright.pl; instead use normal file
open/close.
2011-08-19 17:43:32 -04:00
Bruce Momjian
da64fb93e5 Add executable bit to file. 2011-08-19 17:18:06 -04:00
Bruce Momjian
739e3f1050 Implement src/tools/copyright as a Perl program, so anyone can run it.
David Fetter
2011-08-19 13:51:19 -04:00
Alvaro Herrera
0d29c375cc Blind attempt at fixing isolation_tester on Win32 2011-07-13 01:10:26 -04:00
Magnus Hagander
fd6913a189 perltidy run over msvc build system 2011-07-12 15:25:08 +01:00
Andrew Dunstan
b2e3be41a6 Fix comments over eagerly c&p'd. 2011-07-07 03:53:49 -04:00
Andrew Dunstan
c895e775a5 Reimplement pgbison and pgflex as perl scripts instead of bat files.
In the process, remove almost all knowledge of individual .y and .l files,
and instead get invocation settings from the relevant make files.
The exception is plpgsql's gram.y, which has a target with a different
name. It is hoped that this will make the scripts more future-proof,
so that they won't require adjustment every time we add a new .l or .y
file.

The logic is also notably less tortured than that forced on us
by the idiosyncrasies of the Windows command processor.

The .bat files are kept as thin wrappers for the perl scripts.
2011-07-06 18:45:29 -04:00
Andrew Dunstan
19b7fac86d Fix bat file quoting of %ENV. 2011-07-03 10:36:56 -04:00
Tom Lane
2ed81ebfaf Add REL9_1_STABLE to the set of branches tracked by git_changelog. 2011-06-19 14:16:41 -04:00
Tom Lane
c962792211 Stamp HEAD as 9.2devel. 2011-06-11 17:46:49 -04:00
Alvaro Herrera
d69149ed71 Add comment about pg_ctl stop 2011-06-10 15:27:38 -04:00
Bruce Momjian
bb8f0c4b48 Mention "pg_ctl stop" in pgindent README instructions. 2011-06-09 20:51:44 -04:00
Bruce Momjian
adf43b2b36 Update typedef list for upcoming pgindent run. 2011-06-09 14:01:49 -04:00
Andrew Dunstan
8c3604ae7f Convert builddoc.bat into a perl script that actually works.
The old .bat file wasn't working for reasons that are unclear, and
which it did not seem worth the trouble to ascertain.
The new perl script has been tested and is known to work.
Soon it will be tested regularly on the buildfarm.
The .bat file is kept as a simple wrapper for the perl script.
2011-05-25 00:21:07 -04:00
Andrew Dunstan
a9b6519606 Remove spurious underscore in name of isolation tester on MSVC. 2011-05-22 21:51:18 -04:00
Andrew Dunstan
df15d11cb5 Add required psqldir setting for isolation checks. 2011-05-15 23:12:36 -04:00
Andrew Dunstan
20bacc9560 Add missing check function lookup. 2011-05-15 18:03:19 -04:00
Andrew Dunstan
840826e36c Build and run isolation test programs under MSVC. 2011-05-15 17:55:05 -04:00
Andrew Dunstan
08a0c2dabc Adjust yywrap macro for non-reentrant scanners for MSVC.
The MSVC compiler complains if a macro is called with less arguments
than its definition provides for. flex generates a macro with one
argument for yywrap, but only supplies the argument for reentrant
scanners, so we remove the useless argument in the non-reentrant
case to silence the warning.
2011-04-25 09:10:59 -04:00
Tom Lane
795c382e8c Improve findoidjoins to cover more cases.
Teach the program and script to deal with OID-array referencing columns,
which we now have several of.  Also, modify the recommended usage process
to specify that the program should be run against the regression database
rather than template1.  This lets it find numerous joins that cannot be
found in template1 because the relevant catalogs are entirely empty.

Together these changes add seventeen formerly-missed cases to the oidjoins
regression test.
2011-04-23 19:33:17 -04:00
Tom Lane
970d8a3973 Update oidjoins regression test for 9.1 catalog schema additions. 2011-04-23 14:49:54 -04:00
Peter Eisentraut
78e7e20afe Small update to emacs example configuration
Since both tarballs and git now result in a "postgresql" directory
rather than a "pgsql" directory, adjust the example configuration to
look for the former.
2011-04-23 00:47:01 +03:00
Peter Eisentraut
415f5e1259 Add fill-column setting to emacs example configurations
This matches the maximum line length that pgindent uses.
2011-04-23 00:47:00 +03:00
Peter Eisentraut
385942f46c Refix the unaccent regression test on MSVC properly
... for some value of "properly".  Instead of overriding REGRESS_OPTS,
set the variables ENCODING and NO_LOCALE, which is more expressive and
allows overriding by the user.  Fix vcregress.pl to handle that.
2011-04-19 22:52:52 +03:00
Peter Eisentraut
2e8d954475 Treat config.pl as optional in vcregress.pl
This is how build.pl treats it and how it's documented.
2011-04-19 22:01:15 +03:00
Peter Eisentraut
908eb1f98b Fix typo 2011-04-19 22:00:35 +03:00
Peter Eisentraut
f536d41942 Rename pg_regress option --multibyte to --encoding
Also refactor things a little bit so that the same methods for setting
test locale and encoding can be used everywhere.
2011-04-15 08:42:05 +03:00
Andrew Dunstan
fe1438da8a Latest consolidated typedef list from buildfarm. 2011-04-08 23:11:37 -04:00
Andrew Dunstan
a53112338c Avoid use of mixed slash style paths in arguments to xcopy in MSVC builds.
Some versions of xcopy, notably on Windows 7 don't like it. Backpatch
to 8.3, where we first used xcopy.
2011-04-07 22:17:06 -04:00
Alvaro Herrera
34a991619b Update MSVC toolchain to match SGML entity uppercasing
Per Robert Haas
2011-04-04 16:43:15 -04:00
Bruce Momjian
dae1e5546c Add comment to tools/git-external-diff. 2011-03-11 05:06:31 -05:00
Bruce Momjian
9d4625ad0b Add proper git-external-diff script to src/tools. 2011-03-10 18:06:13 -05:00
Andrew Dunstan
a956b16026 Add PL extension files to MSVC Install procedure. 2011-03-05 16:21:37 -05:00
Tom Lane
bfd7f8cbb2 Make plpythonu language use plpython2 shared library directly.
The original scheme for this was to symlink plpython.$DLSUFFIX to
plpython2.$DLSUFFIX, but that doesn't work on Windows, and only
accidentally failed to fail because of the way that CREATE LANGUAGE created
or didn't create new C functions.  My changes of yesterday exposed the
weakness of that approach.  To fix, get rid of the symlink and make
pg_pltemplate show what's really going on.
2011-03-05 15:13:15 -05:00
Tom Lane
63b656b7bf Create extension infrastructure for the core procedural languages.
This mostly just involves creating control, install, and
update-from-unpackaged scripts for them.  However, I had to adjust plperl
and plpython to not share the same support functions between variants,
because we can't put the same function into multiple extensions.

catversion bump forced due to new contents of pg_pltemplate, and because
initdb now installs plpgsql as an extension not a bare language.

Add support for regression testing these as extensions not bare
languages.

Fix a couple of other issues that popped up while testing this: my initial
hack at pg_dump binary-upgrade support didn't work right, and we don't want
an extra schema permissions test after all.

Documentation changes still to come, but I'm committing now to see
whether the MSVC build scripts need work (likely they do).
2011-03-04 21:51:14 -05:00
Peter Eisentraut
474a42473a PL/Python custom SPI exceptions
This provides a separate exception class for each error code that the
backend defines, as well as the ability to get the SQLSTATE from the
exception object.

Jan Urbański, reviewed by Steve Singer
2011-02-28 18:41:10 +02:00
Alvaro Herrera
a5dfc94c9a Use $INDENT instead of which to find the indent binary
Per discussion after my commit o yesterday.
2011-02-18 12:49:16 -03:00
Alvaro Herrera
c4d124365b Use $INDENT rather than indent throughout the pgindent code
This allows the user to change the path to be used more easily.
Also, change URL in README.
2011-02-17 22:20:19 -03:00
Tom Lane
01ff8dd756 Fix MSVC build scripts for recent extension-related changes.
Untested, but we'll soon see if the buildfarm likes this.
2011-02-14 19:45:46 -05:00
Tom Lane
2ee69ff65d Remove no-longer-needed special case hacks in MSVC build scripts. 2011-02-13 23:42:57 -05:00
Heikki Linnakangas
dafaa3efb7 Implement genuine serializable isolation level.
Until now, our Serializable mode has in fact been what's called Snapshot
Isolation, which allows some anomalies that could not occur in any
serialized ordering of the transactions. This patch fixes that using a
method called Serializable Snapshot Isolation, based on research papers by
Michael J. Cahill (see README-SSI for full references). In Serializable
Snapshot Isolation, transactions run like they do in Snapshot Isolation,
but a predicate lock manager observes the reads and writes performed and
aborts transactions if it detects that an anomaly might occur. This method
produces some false positives, ie. it sometimes aborts transactions even
though there is no anomaly.

To track reads we implement predicate locking, see storage/lmgr/predicate.c.
Whenever a tuple is read, a predicate lock is acquired on the tuple. Shared
memory is finite, so when a transaction takes many tuple-level locks on a
page, the locks are promoted to a single page-level lock, and further to a
single relation level lock if necessary. To lock key values with no matching
tuple, a sequential scan always takes a relation-level lock, and an index
scan acquires a page-level lock that covers the search key, whether or not
there are any matching keys at the moment.

A predicate lock doesn't conflict with any regular locks or with another
predicate locks in the normal sense. They're only used by the predicate lock
manager to detect the danger of anomalies. Only serializable transactions
participate in predicate locking, so there should be no extra overhead for
for other transactions.

Predicate locks can't be released at commit, but must be remembered until
all the transactions that overlapped with it have completed. That means that
we need to remember an unbounded amount of predicate locks, so we apply a
lossy but conservative method of tracking locks for committed transactions.
If we run short of shared memory, we overflow to a new "pg_serial" SLRU
pool.

We don't currently allow Serializable transactions in Hot Standby mode.
That would be hard, because even read-only transactions can cause anomalies
that wouldn't otherwise occur.

Serializable isolation mode now means the new fully serializable level.
Repeatable Read gives you the old Snapshot Isolation level that we have
always had.

Kevin Grittner and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and
Anssi Kääriäinen
2011-02-08 00:09:08 +02:00
Bruce Momjian
97116ca417 Rename macro DECIMAL to DECIMAL_T to help pgindent; this is already
done for a few other macros in that file, for other reasons.  I also
remove pgindent/README mention of the file.
2011-02-06 10:48:17 -05:00
Andrew Dunstan
895ad83d70 Attempt to unbreak MSVC builds after pipe.c move. 2011-02-04 20:49:39 -05:00
Robert Haas
356f2cbbb4 Make handling of errcodes.h more consistent with other generated headers.
This fixes make distprep, and seems more robust in other ways as well.
Some special handling is required because errcodes.txt is needed by
some stuff in src/port, but just by src/backend as is the case for the
other generated headers.

While I'm at it, fix a few other things that were overlooked in the
original patch.
2011-02-04 09:29:10 -05:00