1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-03 15:22:11 +03:00
Commit Graph

170 Commits

Author SHA1 Message Date
Bruce Momjian
9af4159fce pgindent run for release 9.3
This is the first run of the Perl-based pgindent script.  Also update
pgindent instructions.
2013-05-29 16:58:43 -04:00
Bruce Momjian
d61dddba37 pgindent: add newline to die() so script line number is not reported on failure. 2013-04-16 10:30:35 -04:00
Bruce Momjian
5003f94f66 pgindent: improve error messages
per suggestion from Gurjeet Singh
2013-04-12 15:25:33 -04:00
Bruce Momjian
8daa4e960e pgindent: fix downloading of BSD indent binary
Also fix accessing pgentab binary and tar.

Gurjeet Singh
2013-04-12 11:42:27 -04:00
Peter Eisentraut
8e6c8da16a pgindent: Fix order in instructions
The previous order of steps didn't literally work, because git clean
-fdx would delete the downloaded typedefs.list.  Also, pgindent needs to
be called with a path when one is in at the top of the build tree.
2013-02-14 21:40:05 -05:00
Andrew Dunstan
74570db99c Fix a logic bug in pgindent. 2013-01-07 12:26:27 -05:00
Bruce Momjian
e40bddb0f3 Have pgindent requre pg_bsd_indent version 1.2 now that a new version
has been created by adding #include <stdlib.h> to parse.c.

per request from Kevin Grittner.
2012-08-27 09:31:56 -04:00
Tom Lane
5078be4804 Tweak new Perl pgindent for compatibility with middle-aged Perls.
We seem to have a rough policy that our Perl scripts should work with
Perl 5.8, so make this one do so.  Main change is to not use the newfangled
\h character class in regexes; "[ \t]" is a serviceable replacement.
2012-08-07 17:52:53 -04:00
Bruce Momjian
149ac7d455 Replace pgindent shell script with Perl script. Update perltidy
instructions to perltidy Perl files that lack Perl file extensions.

pgindent Perl coding by Andrew Dunstan, restructured by me.
2012-08-04 12:41:21 -04:00
Bruce Momjian
76720bdf1a Remove 'x =- 1' check for pgindent, not needed, per report from Andrew
Dunstan.
2012-07-12 14:37:47 -04:00
Bruce Momjian
47463a8098 Remove 'for' loop perltidy argument, and move args to perltidyrc file.
Backpatch to 9.2.

Per suggestion from Noah Misch
2012-06-16 10:12:50 -04:00
Bruce Momjian
0acd978259 In pgindent, suppress reading the perltidy RC file using --noprofile. 2012-06-15 22:50:02 -04:00
Bruce Momjian
d6e0207437 Update pgindent Perl indentation instructions based on feedback from
Àlvaro and Noah Misch.

Backpatch to 9.2.
2012-06-15 22:43:23 -04:00
Bruce Momjian
60801944fa Update pgindent install instructions and update typedef list. 2012-06-10 15:15:31 -04:00
Peter Eisentraut
621eb156f1 Add installing entab to pgindent instructions
And minor other pgindent documentation tweaks.
2012-03-21 23:33:10 +02:00
Robert Haas
dc3f33f6be Fix pathname in pgindent README.
Kevin Grittner
2012-01-09 13:31:58 -05:00
Bruce Momjian
7260a0d00a Document that perl needs to be indented during the pgindent run. 2011-11-28 21:56:58 -05:00
Bruce Momjian
1a2586c1d0 Rerun pgindent with updated typedef list. 2011-11-14 12:12:23 -05:00
Bruce Momjian
360429e1d1 Fix pg_bsd_indent bug where newlines were not being trimmed from typedef
lines.  Update pg_bsd_indent required version to 1.1 (and update ftp
site).

Problem reported by Magnus.
2011-10-26 17:24:19 -04:00
Bruce Momjian
6e22ba03a9 Modify pgindent to use a renamed pg_bsd_indent binary. New features
include the ability to supply a typedef file, rather than list them on
the command line.  Also improve the README.
2011-10-12 15:51:27 -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
fe1438da8a Latest consolidated typedef list from buildfarm. 2011-04-08 23:11:37 -04: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
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
Peter Eisentraut
fc946c39ae Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
Magnus Hagander
9f2e211386 Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Peter Eisentraut
3f11971916 Remove extra newlines at end and beginning of files, add missing newlines
at end of files.
2010-08-19 05:57:36 +00:00
Bruce Momjian
9e15b476de Mention why one C file fails pgindent. 2010-07-06 19:26:28 +00:00
Bruce Momjian
52783b212c Update pgindent testing instructions. 2010-07-06 19:18:19 +00:00
Andrew Dunstan
7004434a46 Exclude unwanted typedef symbols in pgindent, including FD_SET which is found on some Windows platforms. Also, silence unnecessary messages and make awk happier about literal '*' on some platforms. 2010-04-05 03:09:09 +00:00
Andrew Dunstan
799c0d3f65 Use a file of patterns of filenames to exclude from pgindent runs, instead if using multiple invocations of egrep. Add perl ppport.h to the current list. 2010-04-01 14:44:39 +00:00
Bruce Momjian
4b0f822c77 Suggest gmake installcheck-world for pgindent testing. 2010-02-26 18:00:15 +00:00
Bruce Momjian
2cc6ff45f8 Revert pgindent changes to ecpg include files that are part of ecpg
regession test output, and update pgindent script to avoid them in the
future.
2010-02-26 17:07:55 +00:00
Bruce Momjian
98c356c8ad Wording improvements to README. 2010-02-26 15:57:34 +00:00
Bruce Momjian
55d1402f61 Update pgindent docs to use maintainer-clean. 2010-02-26 15:42:36 +00:00
Bruce Momjian
e0d4b9c66f Document why pgindent wants a fresh CVS checkout. 2010-02-26 13:50:34 +00:00
Bruce Momjian
637611585b Call output file typedefs.list; update README. 2010-02-26 02:58:49 +00:00
Bruce Momjian
4f96ddd1d3 Update pgindent instructions. 2010-02-26 02:11:52 +00:00
Bruce Momjian
16040575a0 Add pgindent typedefs file to CVS. 2010-02-26 01:55:35 +00:00
Bruce Momjian
a8307560e0 Update pgindent instructions to avoid changes to flex output files. 2010-02-26 01:40:15 +00:00
Bruce Momjian
6e8d957d35 Document struct/union problem with pgindent. 2009-06-11 22:21:44 +00:00
Bruce Momjian
6c4b3f5f8c Update pgindent instructions. 2009-06-10 01:51:44 +00:00
Bruce Momjian
78f3c3906e Document new location for typedef list. 2009-06-10 01:47:59 +00:00
Bruce Momjian
06c22d7f51 Small shell syntax improvement. 2008-11-03 15:56:47 +00:00
Bruce Momjian
d18f5c3eb0 Ignore blank lines in typedef file. 2008-04-16 21:03:08 +00:00
Bruce Momjian
fca9fff41b More README src cleanups. 2008-03-21 13:23:29 +00:00