Re: pgsql: Use stdbool.h if suitable

2018-03-22 Thread Andres Freund
On 2018-03-22 18:25:01 -0700, Andres Freund wrote: > Hi, > > On 2018-03-23 00:42:39 +, Peter Eisentraut wrote: > > Use stdbool.h if suitable > > > > Using the standard bool type provided by C allows some recent compilers > > and debuggers to give better diagnostics. Also, some extension code

pgsql: Adapt expression JIT to stdbool.h introduction.

2018-03-22 Thread Andres Freund
Adapt expression JIT to stdbool.h introduction. The LLVM JIT provider uses clang to synchronize types between normal C code and runtime generated code. Clang represents stdbool.h style booleans in return values & parameters differently from booleans stored in variables. Thus the expression compil

Re: pgsql: Use stdbool.h if suitable

2018-03-22 Thread Andres Freund
Hi, On 2018-03-23 00:42:39 +, Peter Eisentraut wrote: > Use stdbool.h if suitable > > Using the standard bool type provided by C allows some recent compilers > and debuggers to give better diagnostics. Also, some extension code and > third-party headers are increasingly pulling in stdbool.h,

pgsql: Fix whitespace

2018-03-22 Thread Peter Eisentraut
Fix whitespace Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/fdb78948d89b5cc018e3dbf851fafd1652cb5921 Modified Files -- src/interfaces/ecpg/test/compat_oracle/char_array.pgc| 2 +- src/interfaces/ecpg/test/expected/compat_oracle-char_array.c | 2

pgsql: Remove stdbool workaround in sepgsql

2018-03-22 Thread Peter Eisentraut
Remove stdbool workaround in sepgsql Since we now use stdbool.h in c.h, this workaround breaks the build and is no longer necessary, so remove it. (Technically, there could be platforms with a 4-byte bool in stdbool.h, in which case we would not include stdbool.h in c.h, and so the old problem th

Re: pgsql: Use stdbool.h if suitable

2018-03-22 Thread Andres Freund
Hi, On 2018-03-23 00:42:39 +, Peter Eisentraut wrote: > Use stdbool.h if suitable > > Using the standard bool type provided by C allows some recent compilers > and debuggers to give better diagnostics. Also, some extension code and > third-party headers are increasingly pulling in stdbool.h,

pgsql: Use stdbool.h if suitable

2018-03-22 Thread Peter Eisentraut
Use stdbool.h if suitable Using the standard bool type provided by C allows some recent compilers and debuggers to give better diagnostics. Also, some extension code and third-party headers are increasingly pulling in stdbool.h, so it's probably saner if everyone uses the same definition. But Po

Re: pgsql: Debugging and profiling support for LLVM JIT provider.

2018-03-22 Thread Andres Freund
Hi, On 2018-03-22 18:20:22 -0400, Tom Lane wrote: > Andres Freund writes: > > Debugging and profiling support for LLVM JIT provider. > > This commit seems to have added GUCs with no documentation. Just > because they're developer-oriented doesn't mean you don't have to > provide documentation.

Re: pgsql: Debugging and profiling support for LLVM JIT provider.

2018-03-22 Thread Tom Lane
Andres Freund writes: > Debugging and profiling support for LLVM JIT provider. This commit seems to have added GUCs with no documentation. Just because they're developer-oriented doesn't mean you don't have to provide documentation. regards, tom lane

Re: pgsql: Add expression compilation support to LLVM JIT provider.

2018-03-22 Thread Andres Freund
On 2018-03-22 21:50:32 +, Andres Freund wrote: > Disable JITing for VALUES() nodes. > > VALUES() nodes are only ever executed once. This is primarily helpful > for debugging, when forcing JITing even for cheap queries. > > Author: Andres Freund > Discussion: > https://postgr.es/m/20170901064

pgsql: Expand list of synchronized types and functions in LLVM JIT prov

2018-03-22 Thread Andres Freund
Expand list of synchronized types and functions in LLVM JIT provider. Author: Andres Freund Discussion: https://postgr.es/m/20170901064131.tazjxwus3k2w3...@alap3.anarazel.de Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/fb46ac26fe493839d6cf3ab8d20bc62a285f7649 M

pgsql: Add expression compilation support to LLVM JIT provider.

2018-03-22 Thread Andres Freund
Add expression compilation support to LLVM JIT provider. In addition to the interpretation of expressions (which back evaluation of WHERE clauses, target list projection, aggregates transition values etc) support compiling expressions to native code, using the infrastructure added in earlier commi

pgsql: Add FIELDNO_* macro designating offset into structs required for

2018-03-22 Thread Andres Freund
Add FIELDNO_* macro designating offset into structs required for JIT. For any interesting JIT target, fields inside structs need to be accessed. b96d550e contains infrastructure for syncing the definition of types between postgres C code and runtime code generation with LLVM. But that doesn't sync

pgsql: Improve style guideline compliance of assorted error-report mess

2018-03-22 Thread Tom Lane
Improve style guideline compliance of assorted error-report messages. Per the project style guide, details and hints should have leading capitalization and end with a period. On the other hand, errcontext should not be capitalized and should not end with a period. To support well formatted error

Re: pgsql: Implement partition-wise grouping/aggregation.

2018-03-22 Thread Andres Freund
Hi, On 2018-03-22 16:58:01 +, Robert Haas wrote: > Implement partition-wise grouping/aggregation. > src/test/regress/expected/partition_aggregate.out | 1393 + > src/test/regress/sql/partition_aggregate.sql | 292 + The new tests break installcheck for me locally.

pgsql: Consider Parallel Append of partial paths for UNION [ALL].

2018-03-22 Thread Robert Haas
Consider Parallel Append of partial paths for UNION [ALL]. Without this patch, we can implement a UNION or UNION ALL as an Append where Gather appears beneath one or more of the Append branches, but this lets us put the Gather node on top, with a partial path for each relation underneath. There i

pgsql: Sync up our various ways of estimating pg_class.reltuples.

2018-03-22 Thread Tom Lane
Sync up our various ways of estimating pg_class.reltuples. VACUUM thought that reltuples represents the total number of tuples in the relation, while ANALYZE counted only live tuples. This can cause "flapping" in the value when background vacuums and analyzes happen separately. The planner's use

pgsql: Add helpers for emitting LLVM IR.

2018-03-22 Thread Andres Freund
Add helpers for emitting LLVM IR. These basically just help to make code a bit more concise and pgindent proof. Author: Andres Freund Discussion: https://postgr.es/m/20170901064131.tazjxwus3k2w3...@alap3.anarazel.de Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/

pgsql: Debugging and profiling support for LLVM JIT provider.

2018-03-22 Thread Andres Freund
Debugging and profiling support for LLVM JIT provider. This currently requires patches to the LLVM codebase to be effective (submitted upstream), the GUCs are available without those patches however. Author: Andres Freund Discussion: https://postgr.es/m/20170901064131.tazjxwus3k2w3...@alap3.anar

pgsql: Basic planner and executor integration for JIT.

2018-03-22 Thread Andres Freund
Basic planner and executor integration for JIT. This adds simple cost based plan time decision about whether JIT should be performed. jit_above_cost, jit_optimize_above_cost are compared with the total cost of a plan, and if the cost is above them JIT is performed / optimization is performed respe

Re: pgsql: Add general purpose hasing functions to pgbench.

2018-03-22 Thread Ildar Musin
Hello all, 22/03/2018 19:31, Fabien COELHO пишет: >>> >>> Looks to me like the constants need to be written with INT64CONST(). >>> Also, the fact that the added regression test is passing makes me >>> wonder whether it's actually exercising these functions meaningfully. > > I think that there is

Re: pgsql: Add \if support to pgbench

2018-03-22 Thread Andres Freund
On 2018-03-22 11:24:10 -0700, Andres Freund wrote: > On 2018-03-22 14:42:26 +, Teodor Sigaev wrote: > > Add \if support to pgbench > > > > Patch adds \if to pgbench as it done for psql. Implementation shares > > condition > > stack code with psql, so, this code is moved to fe_utils directory.

Re: pgsql: Add \if support to pgbench

2018-03-22 Thread Andres Freund
On 2018-03-22 14:42:26 +, Teodor Sigaev wrote: > Add \if support to pgbench > > Patch adds \if to pgbench as it done for psql. Implementation shares condition > stack code with psql, so, this code is moved to fe_utils directory. > > Author: Fabien COELHO with minor editorization by me > Revie

pgsql: Support for optimizing and emitting code in LLVM JIT provider.

2018-03-22 Thread Andres Freund
Support for optimizing and emitting code in LLVM JIT provider. This commit introduces the ability to actually generate code using LLVM. In particular, this adds: - Ability to emit code both in heavily optimized and largely unoptimized fashion - Batching facility to allow functions to be defined

pgsql: Avoid creating a TOAST table for a partitioned table.

2018-03-22 Thread Robert Haas
Avoid creating a TOAST table for a partitioned table. It's useless. Amit Langote Discussion: http://postgr.es/m/b4c9dee6-d134-49b8-79c4-07fbd7c3b...@lab.ntt.co.jp Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/2fe6336e2d48d77fca6d0849f03c0faa06725159 Modified F

pgsql: Fix typo in comment.

2018-03-22 Thread Robert Haas
Fix typo in comment. Michael Paquier Discussion: http://postgr.es/m/20180205071404.gb17...@paquier.xyz Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/8a8c4f3b325ea00cc4ffb106a71e65e79c5d7af9 Modified Files -- src/backend/access/transam/multixact.c | 2

Re: pgsql: Add \if support to pgbench

2018-03-22 Thread Fabien COELHO
Teodor Sigaev writes: Add \if support to pgbench Buildfarm says you didn't account for MSVC build ... Argh. I'm responsible, but I do not know how to help on this one:-( Probably some magic in "Mkvbuild.pm"? But nothing obvious... Looking at "msvc/Install.pm", 'pgbench' is listed in @cl

pgsql: doc: Update parallel join documentation for Parallel Shared Hash

2018-03-22 Thread Robert Haas
doc: Update parallel join documentation for Parallel Shared Hash. Thomas Munro Discussion: http://postgr.es/m/CAEepm=3XdL=+bn3=wqvcct5wwfaev-4onkpk+xqzdwdxv6e...@mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/f644c3b386acc9e1bfef2c4fbe738706d3ccf3a

pgsql: Fix tuple counting in SP-GiST index build.

2018-03-22 Thread Tom Lane
Fix tuple counting in SP-GiST index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Back-patch to all supported versions. Tomas Vondra Discussion: https://post

pgsql: Fix tuple counting in SP-GiST index build.

2018-03-22 Thread Tom Lane
Fix tuple counting in SP-GiST index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Back-patch to all supported versions. Tomas Vondra Discussion: https://post

pgsql: Fix tuple counting in SP-GiST index build.

2018-03-22 Thread Tom Lane
Fix tuple counting in SP-GiST index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Back-patch to all supported versions. Tomas Vondra Discussion: https://post

pgsql: Fix tuple counting in SP-GiST index build.

2018-03-22 Thread Tom Lane
Fix tuple counting in SP-GiST index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Back-patch to all supported versions. Tomas Vondra Discussion: https://post

pgsql: Fix tuple counting in SP-GiST index build.

2018-03-22 Thread Tom Lane
Fix tuple counting in SP-GiST index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Back-patch to all supported versions. Tomas Vondra Discussion: https://post

pgsql: Fix tuple counting in SP-GiST index build.

2018-03-22 Thread Tom Lane
Fix tuple counting in SP-GiST index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Back-patch to all supported versions. Tomas Vondra Discussion: https://post

pgsql: Call pgstat_report_activity() in parallel CREATE INDEX workers.

2018-03-22 Thread Robert Haas
Call pgstat_report_activity() in parallel CREATE INDEX workers. Also set debug_query_string. Oversight in commit 9da0cc35284bdbe8d442d732963303ff0e0a40bc Peter Geoghegan, per a report by Phil Florent. Discussion: https://postgr.es/m/CAH2-Wzmf-34hD4n40uTuE-ZY9P5c%2BmvhFbCdQfN%3DKrKiVm3j3A%40mai

pgsql: Fix errors in contrib/bloom index build.

2018-03-22 Thread Tom Lane
Fix errors in contrib/bloom index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Fix counting of tuples in current index page, too. This error would have led to

pgsql: Fix errors in contrib/bloom index build.

2018-03-22 Thread Tom Lane
Fix errors in contrib/bloom index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Fix counting of tuples in current index page, too. This error would have led to

pgsql: Fix errors in contrib/bloom index build.

2018-03-22 Thread Tom Lane
Fix errors in contrib/bloom index build. Count the number of tuples in the index honestly, instead of assuming that it's the same as the number of tuples in the heap. (It might be different if the index is partial.) Fix counting of tuples in current index page, too. This error would have led to

pgsql: Implement partition-wise grouping/aggregation.

2018-03-22 Thread Robert Haas
Implement partition-wise grouping/aggregation. If the partition keys of input relation are part of the GROUP BY clause, all the rows belonging to a given group come from a single partition. This allows aggregation/grouping over a partitioned relation to be broken down * into aggregation/grouping

pgsql: Add conditional.c to libpgfeutils for MSVC build

2018-03-22 Thread Teodor Sigaev
Add conditional.c to libpgfeutils for MSVC build conditional.c was moved in f67b113ac62777d18cd20d3c4d05be964301b936 commit but forgotten to add to Windows build system. I don't have a Windows box, so blind attempt. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/2

pgsql: UINT64CONST'fy long constants in pgbench

2018-03-22 Thread Teodor Sigaev
UINT64CONST'fy long constants in pgbench In commit e51a04840a1c45db101686bef0b7025d5014c74b it was missed 64-bit constants, wrap them with UINT64CONST(). Per buildfarm member dromedary and gripe from Tom Lane Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/2216fded

Re: pgsql: Add general purpose hasing functions to pgbench.

2018-03-22 Thread Fabien COELHO
will fix, A blind attempt, if it helps. The 32-bit members of the buildfarm aren't very happy with this, eg on dromedary: cache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fw

Re: pgsql: Add general purpose hasing functions to pgbench.

2018-03-22 Thread Teodor Sigaev
will fix, Tom Lane wrote: Teodor Sigaev writes: Add general purpose hasing functions to pgbench. The 32-bit members of the buildfarm aren't very happy with this, eg on dromedary: cache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-for

Re: pgsql: Add \if support to pgbench

2018-03-22 Thread Teodor Sigaev
Buildfarm says you didn't account for MSVC build ... Yep, I havn't. Will see -- Teodor Sigaev E-mail: teo...@sigaev.ru WWW: http://www.sigaev.ru/

Re: pgsql: Add \if support to pgbench

2018-03-22 Thread Tom Lane
Teodor Sigaev writes: > Add \if support to pgbench Buildfarm says you didn't account for MSVC build ... regards, tom lane

Re: pgsql: Add general purpose hasing functions to pgbench.

2018-03-22 Thread Tom Lane
Teodor Sigaev writes: > Add general purpose hasing functions to pgbench. The 32-bit members of the buildfarm aren't very happy with this, eg on dromedary: cache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-secur

Re: pgsql: Add \if support to pgbench

2018-03-22 Thread Fabien COELHO
Add \if support to pgbench Thanks! -- Fabien.

pgsql: Add \if support to pgbench

2018-03-22 Thread Teodor Sigaev
Add \if support to pgbench Patch adds \if to pgbench as it done for psql. Implementation shares condition stack code with psql, so, this code is moved to fe_utils directory. Author: Fabien COELHO with minor editorization by me Review by: Vik Fearing, Fedor Sigaev Discussion: https://www.postgres

Re: pgsql: Improve ANALYZE's strategy for finding MCVs.

2018-03-22 Thread Simon Riggs
On 22 March 2018 at 09:42, Dean Rasheed wrote: > Improve ANALYZE's strategy for finding MCVs. > Thus it tends to produce > fewer MCVs than the previous code for uniform distributions, and more > for non-uniform distributions, reducing estimation errors in both > cases. In addition, the algorith

pgsql: Improve ANALYZE's strategy for finding MCVs.

2018-03-22 Thread Dean Rasheed
Improve ANALYZE's strategy for finding MCVs. Previously, a value was included in the MCV list if its frequency was 25% larger than the estimated average frequency of all nonnull values in the table. For uniform distributions, that can lead to values being included in the MCV list and significantl