8000 cartobuild by techonomics69 · Pull Request #6 · CartoDB/postgres · GitHub
[go: up one dir, main page]

Skip to content

cartobuild #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3,808 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
3808 commits
Select commit Hold shift + click to select a range
74fc838
Fix race between GetNewTransactionId and GetOldestActiveTransactionId.
hlinnaka Jul 13, 2017
2036f71
Fix typo in v10 release notes
alvherre Jul 13, 2017
a3ca72a
Fix dumping of FUNCTION RTEs that contain non-function-call expressions.
tglsfdc Jul 13, 2017
8046465
Fix pg_basebackup output to stdout on Windows.
hlinnaka Jul 14, 2017
c95275f
Fix broken link-command-line ordering for libpgfeutils.
tglsfdc Jul 14, 2017
decb08e
Code review for NextValueExpr expression node type.
tglsfdc Jul 14, 2017
837255c
pg_upgrade i18n: Fix "%s server/cluster" wording
alvherre Jul 14, 2017
e9b6482
Improve comments for execExpr.c's isAssignmentIndirectionExpr().
tglsfdc Jul 15, 2017
de2af6e
Improve comments for execExpr.c's handling of FieldStore subexpressions.
tglsfdc Jul 15, 2017
fd2487e
Fix vcregress.pl PROVE_FLAGS bug in commit 93b7d9731f
adunstan Jul 16, 2017
deb0129
fix typo
adunstan Jul 16, 2017
2f7f45a
MSVC: Don't link libpgcommon into pgcrypto.
nmisch Jul 17, 2017
09c2e7c
hash: Fix write-ahead logging bugs related to init forks.
robertmhaas Jul 17, 2017
6c6970a
Use usleep instead of select for timeouts in PostgresNode.pm
adunstan Jul 17, 2017
a570fea
Merge large_object.sql test into largeobject.source.
tglsfdc Jul 17, 2017
cde11fa
Improve legibility of numeric literal
adunstan Jul 17, 2017
5334633
Doc: explain dollar quoting in the intro part of the pl/pgsql chapter.
tglsfdc Jul 17, 2017
f81a91d
Use a real RT index when setting up partition tuple routing.
robertmhaas Jul 18, 2017
c85ec64
Reverse-convert row types in ExecWithCheckOptions.
robertmhaas Jul 18, 2017
fb9bd4b
Doc: fix thinko in v10 release notes.
tglsfdc Jul 18, 2017
b4c6d31
Fix serious performance problems in json(b) to_tsvector().
tglsfdc Jul 18, 2017
04a2c7f
Improve make_tsvector() to handle empty input, and simplify its callers.
tglsfdc Jul 18, 2017
5752dcd
Doc: add missing note about permissions needed to change log_lock_waits.
tglsfdc Jul 19, 2017
3cb29c4
Add static assertions about pg_control fitting into one disk sector.
tglsfdc Jul 19, 2017
eb145fd
Fix dumping of outer joins with empty qual lists.
tglsfdc Jul 20, 2017
ed3dc22
Doc: clarify description of degenerate NATURAL joins.
tglsfdc Jul 20, 2017
866f4a7
In v10 release notes, call out sequence changes as a compatibility item.
tglsfdc Jul 20, 2017
d363d42
Use MINVALUE/MAXVALUE instead of UNBOUNDED for range partition bounds.
deanrasheed Jul 21, 2017
68f785f
Make the new partition regression tests locale-independent.
deanrasheed Jul 21, 2017
7e1fb4c
Fix double shared memory allocation.
feodor Jul 21, 2017
8bf58c0
Re-establish postgres_fdw connections after server or user mapping ch…
tglsfdc Jul 21, 2017
063ff92
pg_rewind: Fix busted sanity check.
robertmhaas Jul 21, 2017
88f48b5
Stabilize postgres_fdw regression tests.
tglsfdc Jul 21, 2017
a46fe6e
pg_rewind: Fix some problems when copying files >2GB.
robertmhaas Jul 21, 2017
e22efaa
Doc: update versioning information in libpq.sgml.
tglsfdc Jul 21, 2017
de38489
Fix typo in comment
alvherre Jul 17, 2017
991c8b0
Update expected results for collate.linux.utf8 regression test.
tglsfdc Jul 22, 2017
ab2324f
Improve comments about partitioned hash table freelists.
tglsfdc Jul 22, 2017
93f039b
Fix pg_dump's handling of event triggers.
tglsfdc Jul 23, 2017
71ad800
MSVC: Accept tcl86.lib in addition to tcl86t.lib.
nmisch Jul 24, 2017
bbbd912
MSVC: Finish clean.bat build artifact coverage.
nmisch Jul 24, 2017
278cb43
Be more consistent about errors for opfamily member lookup failures.
tglsfdc Jul 24, 2017
b4af9e3
Ensure that pg_get_ruledef()'s output matches pg_get_viewdef()'s.
tglsfdc Jul 24, 2017
7086be6
When WCOs are present, disable direct foreign table modification.
robertmhaas Jul 24, 2017
e2c8100
Fix race condition in predicate-lock init code in EXEC_BACKEND builds.
tglsfdc Jul 24, 2017
4132dbe
Fix partitioning crashes during error reporting.
robertmhaas Jul 24, 2017
9915de6
Fix race conditions in replication slot operations
alvherre Jul 25, 2017
54dacc7
Make PostgresNode easily subclassable
alvherre Jul 25, 2017
c28e4f4
Remove obsolete comments about functional dependencies
alvherre Jul 26, 2017
459c64d
Fix concurrent locking of tuple update chain
alvherre Jul 26, 2017
5e3254f
Update copyright in recently added files
alvherre Jul 26, 2017
50d2426
Clean up SQL emitted by psql/describe.c.
tglsfdc Jul 26, 2017
efd7f8e
Work around Msys weakness in Testlib.pm's command_like()
adunstan Jul 26, 2017
dc4da3d
Fix very minor memory leaks in psql's command.c.
tglsfdc Jul 27, 2017
b884f62
Sync listDbRoleSettings() with the rest of the world.
tglsfdc Jul 27, 2017
1e2f941
Avoid use of sprintf/snprintf in describe.c.
tglsfdc Jul 27, 2017
77cb4a1
Standardize describe.c's behavior for no-matching-objects a bit more.
tglsfdc Jul 27, 2017
8d30407
Fix psql tab completion for CREATE USER MAPPING.
tglsfdc Jul 27, 2017
bebe174
PL/Perl portability fix: avoid including XSUB.h in plperl.c.
tglsfdc Jul 28, 2017
3c163a7
PL/Perl portability fix: absorb relevant -D switches from Perl.
10000 tglsfdc Jul 28, 2017
9dea962
Include publication owner's name in the output of \dRp+.
tglsfdc Jul 28, 2017
d47cfef
Move interrupt checking from ExecProcNode() to executor nodes.
anarazel Jul 26, 2017
cc9f08b
Move ExecProcNode from dispatch to function pointer based model.
anarazel Jul 17, 2017
9fe6309
Add missing comment in postgresql.conf.
tatsuo-ishii Jul 31, 2017
8b015dd
Add missing comment in postgresql.conf.
tatsuo-ishii Jul 31, 2017
393d47e
Add missing comment in postgresql.conf.
tatsuo-ishii Jul 31, 2017
d2a51e3
Fix function comment for dumpACL()
sfrost Jul 31, 2017
b4cc35f
Tighten coding for non-composite case in plperl's return_next.
tglsfdc Jul 31, 2017
40b9f19
Record full paths of programs sought by "configure".
tglsfdc Jul 31, 2017
dea6ba9
Doc: specify that the minimum supported version of Perl is 5.8.3.
tglsfdc Jul 31, 2017
c0a15e0
Always use 2048 bit DH parameters for OpenSSL ephemeral DH ciphers.
hlinnaka Jul 31, 2017
4427b51
Doc: add v10 release notes entries for the DH parameter changes.
hlinnaka Jul 31, 2017
f40254a
Fix typo
petere Jul 31, 2017
0b02e3f
Fix typo
petere Jul 31, 2017
e662ef0
Fix comment.
tatsuo-ishii Jul 31, 2017
4de6216
Comment fix for partition_rbound_cmp().
deanrasheed Aug 1, 2017
b21c569
Further improve consistency of configure's program searching.
tglsfdc Aug 1, 2017
f972565
Allow creation of C/POSIX collations without depending on libc behavior.
tglsfdc Aug 1, 2017
c1bb787
doc: Fix typo
petere Aug 1, 2017
1e165d0
Try to deliver a sane message for _create_locale() failure on Windows.
tglsfdc Aug 1, 2017
8e75372
Suppress less info in regression tests using DROP CASCADE.
tglsfdc Aug 1, 2017
514f613
Second try at getting useful errors out of newlocale/_create_locale.
tglsfdc Aug 1, 2017
32ca22b
Revert test case added by commit 1e165d05fe06a9072867607886f818bc2555…
tglsfdc Aug 2, 2017
41cefbb
Fix OBJECT_TYPE/OBJECT_DOMAIN confusion
petere Aug 2, 2017
f352f91
Remove duplicate setting of SSL_OP_SINGLE_DH_USE option.
tglsfdc Aug 2, 2017
cf65201
Get a snapshot before COPY in table sync
petere Aug 2, 2017
9d4e566
Remove broken and useless entry-count printing in HASH_DEBUG code.
tglsfdc Aug 2, 2017
8021515
Add pgtcl back to the list of externally-maintained client interfaces.
tglsfdc Aug 2, 2017
4d57e83
Fix pg_dump's errno checking for zlib I/O
alvherre Aug 2, 2017
5ff3d73
Add new files to nls.mk and add translation markers
petere Aug 3, 2017
610e8eb
Teach map_partition_varattnos to handle whole-row expressions.
robertmhaas Aug 3, 2017
12a34f5
Improve ExecModifyTable comments.
robertmhaas Aug 3, 2017
86705aa
Allow a foreign table CHECK constraint to be initially NOT VALID.
robertmhaas Aug 3, 2017
583df3b
Code beautification for ATExecAttachPartition.
robertmhaas Aug 3, 2017
972b6ec
Fix lock upgrade hazard in ATExecAttachPartition.
robertmhaas Aug 3, 2017
9a3b5d3
Fix build on zlib-less environments
alvherre Aug 3, 2017
3eb9a5e
Fix pg_dump/pg_restore to emit REFRESH MATERIALIZED VIEW commands last.
tglsfdc Aug 3, 2017
b374481
Further unify ROLE and USER command grammar rules
petere Aug 1, 2017
97d3a0b
Disallow SSL session tickets.
tglsfdc Aug 4, 2017
c30f177
Apply ALTER ... SET NOT NULL recursively in ALTER ... ADD PRIMARY KEY.
tglsfdc Aug 4, 2017
620b49a
hash: Increase the number of possible overflow bitmaps by 8x.
robertmhaas Aug 4, 2017
26d40ad
Message style improvements
petere Aug 4, 2017
03378c4
First-draft release notes for 9.6.4.
tglsfdc Aug 4, 2017
ff98a5e
hash: Immediately after a bucket split, try to clean the old bucket.
robertmhaas Aug 4, 2017
7e174fa
Only kill sync workers at commit time in subscription DDL
petere Aug 5, 2017
f85f88b
Fix bug in deciding whether to scan newly-attached partition.
robertmhaas Aug 5, 2017
eccead9
Add support for ICU 4.2
petere Aug 1, 2017
52f8a59
Make pg_stop_backup's wait_for_archive flag work on standbys.
robertmhaas Aug 5, 2017
f4f41ba
Improve configure's check for ICU presence.
tglsfdc Aug 5, 2017
e9f4ac1
Suppress unused-variable warnings when building with ICU 4.2.
tglsfdc Aug 5, 2017
dd2358a
Doc: update v10 release notes through today.
tglsfdc Aug 5, 2017
0d1f98b
Add regression test for wide REPLICA IDENTITY FULL updates.
anarazel Aug 5, 2017
5af4456
Fix thinko introduced in 2bef06d516460 et al.
anarazel Aug 6, 2017
b35006e
Release notes for 9.6.4, 9.5.8, 9.4.13, 9.3.18, 9.2.22.
tglsfdc Aug 6, 2017
655727d
Update RELEASE_CHANGES' example of branch name format.
tglsfdc Aug 7, 2017
6f81306
Downgrade subscription refresh messages to DEBUG1
petere Aug 7, 2017
ad2ca3c
Improve wording of subscription refresh debug messages
petere Aug 7, 2017
86524f0
Fix function name in code comment
petere Aug 7, 2017
bf6b9e9
Don't allow logging in with empty password.
hlinnaka Aug 7, 2017
e568e1e
Again match pg_user_mappings to information_schema.user_mapping_options.
nmisch Aug 7, 2017
8d98819
Require update permission for the large object written by lo_put().
tglsfdc Aug 7, 2017
0e58455
Fix handling of dropped columns in logical replication
petere Aug 7, 2017
fca17a9
Fix local/remote attribute mix-up in logical replication
petere Aug 7, 2017
a8b37eb
Last-minute updates for release notes.
tglsfdc Aug 7, 2017
f7668b2
Translation updates
petere Aug 7, 2017
cdc47d1
Update SQL features list
petere Aug 7, 2017
8014d2a
Skip test for IPC::Run if user is overriding our search for PROVE.
tglsfdc Aug 7, 2017
8d64423
Stamp 10beta3.
tglsfdc Aug 7, 2017
b4a2eea
Disclaim xmltable() support for non-UTF8 databases.
nmisch Aug 8, 2017
030273b
Fix inadequacies in recently added wait events
alvherre Aug 8, 2017
b2c95a3
Fix replication origin-related race conditions
alvherre Aug 8, 2017
4576a69
Fix yet another race condition in recovery/t/001_stream_rep.pl.
tglsfdc Aug 8, 2017
f5d54ef
Fix typo in comment
alvherre Aug 8, 2017
77d2c00
Reword some unclear comments
alvherre Aug 8, 2017
9bf4068
Fix datumSerialize infrastructure to not crash on non-varlena data.
tglsfdc Aug 8, 2017
13f03a0
doc: Add missing pieces to logical replication protocol doc
petere Aug 8, 2017
a76200d
Prevent passing down MAKELEVEL/MAKEFLAGS from non-GNU make to GNU make.
tglsfdc Aug 9, 2017
749c7c4
Fix handling of container types in find_composite_type_dependencies.
tglsfdc Aug 9, 2017
ec99dd5
Remove incorrect assertion in clog.c
robertmhaas Aug 10, 2017
0b7ba3d
pgstatindex: Insert some casts to prevent overflow.
robertmhaas Aug 10, 2017
e694010
Fix typo in comment.
robertmhaas Aug 10, 2017
c1ef4e5
Make some more improvements to parallel query documentation.
robertmhaas Aug 10, 2017
bb5d6e8
Improve the error message when creating an empty range partition.
robertmhaas Aug 10, 2017
b83e545
Fix order of ICU_CFLAGS
petere Aug 10, 2017
d6391b0
Reject use of ucol_strcollUTF8() before ICU 53
petere Aug 10, 2017
a1ef920
Remove uses of "slave" in replication contexts
petere Aug 7, 2017
7968184
Remove pgbench's restriction on placement of -M switch.
tglsfdc Aug 11, 2017
d4ede66
pg_upgrade: Clarify one message
petere Aug 11, 2017
22701a7
doc: Small wording improvement
petere Aug 11, 2017
fa65c8c
doc: Update description of rolreplication column
petere Aug 11, 2017
ee844bb
doc: Add example for inet vs cidr difference
petere Aug 11, 2017
6efca23
Add regression tests exercising the non-hashed code paths in nodeSeto…
tglsfdc Aug 11, 2017
3c8de95
Add regression tests exercising more code paths in nodeLimit.c.
tglsfdc Aug 11, 2017
d6ecad8
Be more thorough about cleaning out gcov litter.
tglsfdc Aug 11, 2017
3043c1d
Simplify fetch-slot-xmins logic in recovery TAP tests.
tglsfdc Aug 12, 2017
e88928c
Fix vertical spanning in table "wait_event Description".
nmisch Aug 13, 2017
2336f84
Reword comment for clarity
alvherre Aug 13, 2017
004a970
Remove AtEOXact_CatCache().
tglsfdc Aug 13, 2017
ea0ca75
Changed ecpg parser to allow RETURNING clauses without attached C var…
Aug 14, 2017
5a5c2fe
Absorb -D_USE_32BIT_TIME_T switch from Perl, if relevant.
tglsfdc Aug 14, 2017
79e5de6
doc: Fix logical replication protocol doc detail
petere Aug 14, 2017
7f1bb1d
Fix typo
petere Aug 14, 2017
5b6289c
Handle elog(FATAL) during ROLLBACK more robustly.
tglsfdc Aug 14, 2017
21d304d
Final pgindent + perltidy run for v10.
tglsfdc Aug 14, 2017
9f14dc3
Stamp HEAD as 11devel.
tglsfdc Aug 14, 2017
d2bc501
Expand coverage of parallel gather merge a bit.
anarazel Aug 14, 2017
23d7680
pg_dump: Add a --load-via-partition-root option.
robertmhaas Aug 15, 2017
1295a77
Add missing call to ExecReScanGatherMerge.
robertmhaas Aug 15, 2017
d57929a
Avoid unnecessary single-child Append nodes.
robertmhaas Aug 15, 2017
480f1f4
Teach adjust_appendrel_attrs(_multilevel) to do multiple translations.
robertmhaas Aug 15, 2017
f3a4d7e
Distinguish wait-for-connection from wait-for-write-ready on Windows.
tglsfdc Aug 15, 2017
a4619b2
Allow continuation lines in ecpg cppline parsing.
Aug 15, 2017
00418c6
Simplify plpgsql's check for simple expressions.
tglsfdc Aug 15, 2017
e139f19
Assorted preparatory refactoring for partition-wise join.
robertmhaas Aug 15, 2017
d9a622c
Fix error handling path in autovacuum launcher
alvherre Aug 15, 2017
4867d7f
Avoid out-of-memory in a hash join with many duplicate inner keys.
tglsfdc Aug 15, 2017
270fec9
doc: Improve PDF bookmarks
petere Aug 15, 2017
e42351a
Simplify some code in logical replication launcher
petere Aug 15, 2017
34a23a3
doc: Add missing logical replication protocol message
petere Aug 15, 2017
70b573b
Fix logical replication protocol comparison logic
petere Aug 15, 2017
b73f1b5
Make simpler-simple-expressions code cope with a Gather plan.
tglsfdc Aug 15, 2017
31ae163
Simplify autovacuum work-item implementation
alvherre Aug 15, 2017
0f0ee68
psql: Add tab completion for \pset pager
petere Aug 15, 2017
0659465
Include foreign tables in information_schema.table_privileges
petere Aug 15, 2017
514731a
pg_receivewal: Improve verbose mode
petere Aug 16, 2017
0a2d43d
doc: Document pg_receivewal exit behavior and status
petere Aug 16, 2017
4d4c891
Initialize replication_slot_catalog_xmin in procarray
petere Aug 16, 2017
77d0570
Fix up some misusage of appendStringInfo() and friends
petere Aug 16, 2017
0c504a8
Remove dedicated B-tree root-split record types.
hlinnaka Aug 16, 2017
3cda10f
Use atomic ops to hand out pages to scan in parallel scan.
hlinnaka Aug 16, 2017
9b5140f
Correct representation of foreign tables in information schema
petere Aug 16, 2017
346d5bf
doc: Add logical replication to comparison matrix
petere Aug 16, 2017
4395f7d
doc: Update URL of DocBook XSL stylesheets
petere Aug 16, 2017
ac883ac
Fix shm_toc.c to always return buffer-aligned memory.
hlinnaka Aug 16, 2017
2b74303
Make the planner assume that the entries in a VALUES list are distinct.
tglsfdc Aug 16, 2017
ec0a69e
Extend the default rules file for contrib/unaccent with Vietnamese le…
tglsfdc Aug 16, 2017
dcd052c
Fix pg_atomic_u64 initialization.
hlinnaka Aug 16, 2017
cf85151
pg_dump: Support using synchronized snapshots on standbys
petere Aug 16, 2017
bfe089e
doc: Fix table column count
petere Aug 17, 2017
963af96
Add missing "static" marker.
tglsfdc Aug 17, 2017
79f457e
Remove bogus line from comment.
robertmhaas Aug 17, 2017
d542859
doc: Update RFC URLs
petere Aug 17, 2017
b5178c5
Further tweaks to compiler flags for PL/Perl on Windows.
tglsfdc Aug 17, 2017
a2b70c8
Fix ExecReScanGatherMerge.
tglsfdc Aug 17, 2017
1e56883
Attempt to clarify comments related to force_parallel_mode.
robertmhaas Aug 17, 2017
ecfe59e
Refactor validation of new partitions a little bit.
robertmhaas Aug 17, 2017
54cde0c
Don't lock tables in RelationGetPartitionDispatchInfo.
robertmhaas Aug 17, 2017
a20aac8
Temporarily revert test case from a2b70c89ca1a5fcf6181d3c777d82e7b83d…
tglsfdc Aug 17, 2017
c4b841b
Fix interaction of triggers, partitioning, and EXPLAIN ANALYZE.
robertmhaas Aug 18, 2017
24620fc
Fix creation of ICU comments for keyword variants
petere Aug 19, 2017
b1c2d76
Fix possible core dump in parallel restore when using a TOC list.
tglsfdc Aug 19, 2017
2cd7084
Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n).
anarazel Aug 20, 2017
c629324
Partially flatten struct tupleDesc so that it can be used in DSM.
anarazel Aug 20, 2017
66ed382
Inject $(ICU_LIBS) regardless of platform.
nmisch Aug 21, 2017
79ccd7c
pg_prewarm: Add automatic prewarm feature.
robertmhaas Aug 21, 2017
1f6d515
Push limit through subqueries to underlying sort, where possible.
robertmhaas Aug 21, 2017
51e225d
Expand set of predefined ICU locales
petere Aug 21, 2017
2bfd1b1
Don't install ICU collation keyword variants
petere Aug 21, 2017
0052a02
Add a hash_combine function for mixing hash values.
anarazel Aug 22, 2017
35ea756
Refactor typcache.c's record typmod hash table.
anarazel Aug 22, 2017
b5664cf
doc: Mention identity column feature in section on serial
petere Aug 22, 2017
7e046e6
pg_upgrade: Message translatability and style fixes
petere Aug 23, 2017
8c0d7ba
Hash tables backed by DSA shared memory.
anarazel Aug 23, 2017
580ddce
Fix translation marker
petere Aug 23, 2017
85f4d63
Tweak some SCRAM error messages and code comments
petere Aug 23, 2017
237a0b8
Improve plural handling in error message
petere Aug 23, 2017
1e1b01c
Fix outdated comment
petere Aug 23, 2017
6d242ee
Update code comment for temporary replication slots
petere Aug 23, 2017
27b8987
Fix up secondary expected files
petere Aug 24, 2017
1177ab1
Make new regression test case parallel-safe, and improve its output.
tglsfdc Aug 24, 2017
fe77741
Increase SCRAM salt length
petere Aug 24, 2017
6ce6a61
pg_upgrade: Remove dead code
petere Aug 24, 2017
0cdc3e4
psql: Fix \gx when FETCH_COUNT is used
sfrost Aug 24, 2017
20fbf25
Fix harmless thinko in dsa.c.
anarazel Aug 24, 2017
4569715
Fix unlikely shared memory leak after failure in dshash_create().
anarazel Aug 24, 2017
d7694fc
Consolidate the function pointer types used by dshash.c.
anarazel Aug 25, 2017
d36f7ef
Add minimal regression test for blessed record type transfer.
anarazel Aug 25, 2017
3f4c791
Code review for pushing LIMIT through subqueries.
tglsfdc Aug 25, 2017
d22e9d5
Implement DO CONTINUE action for ECPG WHENEVER statement.
Aug 25, 2017
e86ac70
Message translatability fixes
petere Aug 25, 2017
99ce446
pg_upgrade: Remove more dead code
petere Aug 25, 2017
aae6227
Fix locale dependency in new ecpg test case.
tglsfdc Aug 25, 2017
449338c
Improve low-level backup documentation.
robertmhaas Aug 25, 2017
a772624
Make setlocale in ECPG test cases thread aware on Windows.
Aug 26, 2017
2073c64
pg_test_timing: Some NLS fixes
petere Aug 26, 2017
04fbe0e
Changed order of statements and added an additiona MSVC safeguard to …
Aug 26, 2017
f1b1049
First-draft release notes for 9.6.5.
tglsfdc Aug 26, 2017
6a5366e
Doc: update v10 release notes through today.
tglsfdc Aug 26, 2017
f97c55c
Release notes for 9.6.5, 9.5.9, 9.4.14, 9.3.19, 9.2.23.
tglsfdc Aug 27, 2017
46596f8
Clarify documentation
petere Aug 28, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Implement DO CONTINUE action for ECPG WHENEVER statement.
Author: Vinayak Pokale
Reviewed-By: Masahiko Sawada
  • Loading branch information
Michael Meskes committed Aug 25, 2017
commit d22e9d530516f7c9c56d00eff53cf19e45ef348c
12 changes: 12 additions & 0 deletions doc/src/sgml/ecpg.sgml
Original file line number Diff line number Diff line change
Expand Up @@ -4762,6 +4762,17 @@ EXEC SQL WHENEVER <replaceable>condition</replaceable> <replaceable>action</repl
</listitem>
</varlistentry>

<varlistentry>
<term><literal>DO CONTINUE</literal></term>
<listitem>
<para>
Execute the C statement <literal>continue</literal>. This should
only be used in loops statements. if executed, will cause the flow
of control to return to the top of the loop.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><literal>CALL <replaceable>name</replaceable> (<replaceable>args</replaceable>)</literal></term>
<term><literal>DO <replaceable>name</replaceable> (<replaceable>args</replaceable>)</literal></term>
Expand Down Expand Up @@ -7799,6 +7810,7 @@ WHENEVER { NOT FOUND | SQLERROR | SQLWARNING } <replaceable class="PARAMETER">ac
<programlisting>
EXEC SQL WHENEVER NOT FOUND CONTINUE;
EXEC SQL WHENEVER NOT FOUND DO BREAK;
EXEC SQL WHENEVER NOT FOUND DO CONTINUE;
EXEC SQL WHENEVER SQLWARNING SQLPRINT;
EXEC SQL WHENEVER SQLWARNING DO warn();
EXEC SQL WHENEVER SQLERROR sqlprint;
Expand Down
6 changes: 6 additions & 0 deletions src/interfaces/ecpg/preproc/ecpg.trailer
Original file line number Diff line number Diff line change
Expand Up @@ -1454,6 +1454,12 @@ action : CONTINUE_P
$<action>$.command = NULL;
$<action>$.str = mm_strdup("break");
}
| DO CONTINUE_P
{
$<action>$.code = W_CONTINUE;
$<action>$.command = NULL;
$<action>$.str = mm_strdup("continue");
}
| SQL_CALL name '(' c_args ')'
{
$<action>$.code = W_DO;
Expand Down
3 changes: 3 additions & 0 deletions src/interfaces/ecpg/preproc/output.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ print_action(struct when *w)
case W_BREAK:
fprintf(base_yyout, "break;");
break;
case W_CONTINUE:
fprintf(base_yyout, "continue;");
break;
default:
fprintf(base_yyout, "{/* %d not implemented yet */}", w->code);
break;
Expand Down
1 change: 1 addition & 0 deletions src/interfaces/ecpg/test/ecpg_schedule
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ test: preproc/type
test: preproc/variable
test: preproc/outofscope
test: preproc/whenever
test: preproc/whenever_do_continue
test: sql/array
test: sql/binary
test: sql/code100
Expand Down
161 changes: 161 additions & 0 deletions src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
/* Processed by ecpg (regression mode) */
/* These include files are added by the preprocessor */
#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>
/* End of automatic include section */
#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))

#line 1 "whenever_do_continue.pgc"
#include <stdlib.h>


#line 1 "regression.h"






#line 3 "whenever_do_continue.pgc"


/* exec sql whenever sqlerror sqlprint ; */
#line 5 "whenever_do_continue.pgc"


int main(void)
{
/* exec sql begin declare section */









#line 15 "whenever_do_continue.pgc"
struct {
#line 12 "whenever_do_continue.pgc"
char ename [ 12 ] ;

#line 13 "whenever_do_continue.pgc"
float sal ;

#line 14 "whenever_do_continue.pgc"
float comm ;
} emp ;

#line 17 "whenever_do_continue.pgc"
char msg [ 128 ] ;
/* exec sql end declare section */
#line 18 "whenever_do_continue.pgc"


ECPGdebug(1, stderr);

strcpy(msg, "connect");
{ ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0);
#line 23 "whenever_do_continue.pgc"

if (sqlca.sqlcode < 0) sqlprint();}
#line 23 "whenever_do_continue.pgc"


strcpy(msg, "create");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table emp ( ename varchar , sal double precision , comm double precision )", ECPGt_EOIT, ECPGt_EORT);
#line 26 "whenever_do_continue.pgc"

if (sqlca.sqlcode < 0) sqlprint();}
#line 26 "whenever_do_continue.pgc"


strcpy(msg, "insert");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into emp values ( 'Ram' , 111100 , 21 )", ECPGt_EOIT, ECPGt_EORT);
#line 29 "whenever_do_continue.pgc"

if (sqlca.sqlcode < 0) sqlprint();}
#line 29 "whenever_do_continue.pgc"

{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into emp values ( 'aryan' , 11110 , null )", ECPGt_EOIT, ECPGt_EORT);
#line 30 "whenever_do_continue.pgc"

if (sqlca.sqlcode < 0) sqlprint();}
#line 30 "whenever_do_continue.pgc"

{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into emp values ( 'josh' , 10000 , 10 )", ECPGt_EOIT, ECPGt_EORT);
#line 31 "whenever_do_continue.pgc"

if (sqlca.sqlcode < 0) sqlprint();}
#line 31 "whenever_do_continue.pgc"

{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into emp values ( 'tom' , 20000 , null )", ECPGt_EOIT, ECPGt_EORT);
#line 32 "whenever_do_continue.pgc"

if (sqlca.sqlcode < 0) sqlprint();}
#line 32 "whenever_do_continue.pgc"


/* declare c cursor for select ename , sal , comm from emp order by ename asc */
#line 34 "whenever_do_continue.pgc"


{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c cursor for select ename , sal , comm from emp order by ename asc", ECPGt_EOIT, ECPGt_EORT);
#line 36 "whenever_do_continue.pgc"

if (sqlca.sqlcode < 0) sqlprint();}
#line 36 "whenever_do_continue.pgc"


/* The 'BREAK' condition to exit the loop. */
/* exec sql whenever not found break ; */
#line 39 "whenever_do_continue.pgc"


/* The DO CONTINUE makes the loop start at the next iteration when an error occurs.*/
/* exec sql whenever sqlerror continue ; */
#line 42 "whenever_do_continue.pgc"


while (1)
{
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch c", ECPGt_EOIT,
ECPGt_char,&(emp.ename),(long)12,(long)1,(12)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_float,&(emp.sal),(long)1,(long)1,sizeof(float),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_float,&(emp.comm),(long)1,(long)1,sizeof(float),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 46 "whenever_do_continue.pgc"

if (sqlca.sqlcode == ECPG_NOT_FOUND) break;
#line 46 "whenever_do_continue.pgc"

if (sqlca.sqlcode < 0) continue;}
#line 46 "whenever_do_continue.pgc"

/* The employees with non-NULL commissions will be displayed. */
printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);
}

/*
* This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the program to
* proceed if any further errors do occur.
*/
/* exec sql whenever sqlerror continue ; */
#line 55 "whenever_do_continue.pgc"


{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c", ECPGt_EOIT, ECPGt_ 57AE EORT);}
#line 57 "whenever_do_continue.pgc"


strcpy(msg, "drop");
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table emp", ECPGt_EOIT, ECPGt_EORT);}
#line 60 "whenever_do_continue.pgc"


exit(0);
}
112 changes: 112 additions & 0 deletions src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
[NO_PID]: ECPGdebug: set to 1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGconnect: opening database ecpg1_regression on <DEFAULT> port <DEFAULT>
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 26: query: create table emp ( ename varchar , sal double precision , comm double precision ); with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 26: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 26: OK: CREATE TABLE
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 29: query: insert into emp values ( 'Ram' , 111100 , 21 ); with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 29: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 29: OK: INSERT 0 1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 30: query: insert into emp values ( 'aryan' , 11110 , null ); with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 30: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 30: OK: INSERT 0 1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 31: query: insert into emp values ( 'josh' , 10000 , 10 ); with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 31: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 31: OK: INSERT 0 1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 32: query: insert into emp values ( 'tom' , 20000 , null ); with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 32: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 32: OK: INSERT 0 1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 36: query: declare c cursor for select ename , sal , comm from emp order by ename asc; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 36: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 36: OK: DECLARE CURSOR
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 46: query: fetch c; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 46: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 46: correctly got 1 tuples with 3 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: aryan offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: 11110 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: raising sqlcode -213 on line 46: null value without indicator on line 46
[NO_PID]: sqlca: code: -213, state: 22002
[NO_PID]: ecpg_execute on line 46: query: fetch c; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 46: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 46: correctly got 1 tuples with 3 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: josh offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: 10000 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: 10 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 46: query: fetch c; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 46: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 46: correctly got 1 tuples with 3 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: Ram offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: 111100 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: 21 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 46: query: fetch c; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 46: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 46: correctly got 1 tuples with 3 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: tom offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: 20000 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 46: RESULT: offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: raising sqlcode -213 on line 46: null value without indicator on line 46
[NO_PID]: sqlca: code: -213, state: 22002
[NO_PID]: ecpg_execute on line 46: query: fetch c; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 46: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 46: correctly got 0 tuples with 3 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: raising sqlcode 100 on line 46: no data found on line 46
[NO_PID]: sqlca: code: 100, state: 02000
[NO_PID]: ecpg_execute on line 57: query: close c; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 57: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 57: OK: CLOSE CURSOR
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 60: query: drop table emp; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 60: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 60: OK: DROP TABLE
[NO_PID]: sqlca: code: 0, state: 00000
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
josh 10000.00 10.00
Ram 111100.00 21.00
1 change: 1 addition & 0 deletions src/interfaces/ecpg/test/preproc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ TESTS = array_of_struct array_of_struct.c \
type type.c \
variable variable.c \
whenever whenever.c \
whenever_do_continue whenever_do_continue.c \
pointer_to_struct pointer_to_struct.c

all: $(TESTS)
Expand Down
Loading
0