Re: Add PGDLLIMPORT to enable_hashagg

2018-02-22 Thread Andres Freund
On 2018-02-21 11:41:31 -0800, Brian Cloutier wrote:
> On Wed, Feb 21, 2018 at 10:14 AM, Andres Freund  wrote:
> 
> > Could you take the relevant commit, backport it to the
> > relevant branches, resolve conflicts, make possibly appropriate
> > adaptions, and post?
> >
> 
> The original commit touched some new variables and therefore didn't apply
> cleanly. Attached are equivalent patches for REL_10_STABLE and
> REL9_6_STABLE.

Pushed.

- Andres



Re: Add PGDLLIMPORT to enable_hashagg

2018-02-21 Thread Brian Cloutier
On Wed, Feb 21, 2018 at 10:14 AM, Andres Freund  wrote:

> Could you take the relevant commit, backport it to the
> relevant branches, resolve conflicts, make possibly appropriate
> adaptions, and post?
>

The original commit touched some new variables and therefore didn't apply
cleanly. Attached are equivalent patches for REL_10_STABLE and
REL9_6_STABLE.
From 3e2c0a444a0e07792408841a629d83797ff5883a Mon Sep 17 00:00:00 2001
From: Robert Haas 
Date: Fri, 9 Feb 2018 15:54:45 -0500
Subject: [PATCH] Mark assorted GUC variables as PGDLLIMPORT.

This makes life easier for extension authors.
---
 src/include/miscadmin.h   |  2 +-
 src/include/optimizer/cost.h  | 30 +++---
 src/include/optimizer/paths.h |  8 
 src/include/utils/guc.h   |  2 +-
 4 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h
index 6eacd2a..e76b4b9 100644
--- a/src/include/miscadmin.h
+++ b/src/include/miscadmin.h
@@ -158,7 +158,7 @@ extern PGDLLIMPORT int NBuffers;
 extern PGDLLIMPORT int MaxBackends;
 extern PGDLLIMPORT int MaxConnections;
 extern PGDLLIMPORT int max_worker_processes;
-extern int	max_parallel_workers;
+extern PGDLLIMPORT int max_parallel_workers;
 
 extern PGDLLIMPORT int MyProcPid;
 extern PGDLLIMPORT pg_time_t MyStartTime;
diff --git a/src/include/optimizer/cost.h b/src/include/optimizer/cost.h
index 63feba0..7925e4c 100644
--- a/src/include/optimizer/cost.h
+++ b/src/include/optimizer/cost.h
@@ -53,21 +53,21 @@ extern PGDLLIMPORT double cpu_operator_cost;
 extern PGDLLIMPORT double parallel_tuple_cost;
 extern PGDLLIMPORT double parallel_setup_cost;
 extern PGDLLIMPORT int effective_cache_size;
-extern Cost disable_cost;
-extern int	max_parallel_workers_per_gather;
-extern bool enable_seqscan;
-extern bool enable_indexscan;
-extern bool enable_indexonlyscan;
-extern bool enable_bitmapscan;
-extern bool enable_tidscan;
-extern bool enable_sort;
-extern bool enable_hashagg;
-extern bool enable_nestloop;
-extern bool enable_material;
-extern bool enable_mergejoin;
-extern bool enable_hashjoin;
-extern bool enable_gathermerge;
-extern int	constraint_exclusion;
+extern PGDLLIMPORT Cost disable_cost;
+extern PGDLLIMPORT int	max_parallel_workers_per_gather;
+extern PGDLLIMPORT bool enable_seqscan;
+extern PGDLLIMPORT bool enable_indexscan;
+extern PGDLLIMPORT bool enable_indexonlyscan;
+extern PGDLLIMPORT bool enable_bitmapscan;
+extern PGDLLIMPORT bool enable_tidscan;
+extern PGDLLIMPORT bool enable_sort;
+extern PGDLLIMPORT bool enable_hashagg;
+extern PGDLLIMPORT bool enable_nestloop;
+extern PGDLLIMPORT bool enable_material;
+extern PGDLLIMPORT bool enable_mergejoin;
+extern PGDLLIMPORT bool enable_hashjoin;
+extern PGDLLIMPORT bool enable_gathermerge;
+extern PGDLLIMPORT int	constraint_exclusion;
 
 extern double clamp_row_est(double nrows);
 extern double index_pages_fetched(double tuples_fetched, BlockNumber pages,
diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h
index 4e06b2e..f22fe0a 100644
--- a/src/include/optimizer/paths.h
+++ b/src/include/optimizer/paths.h
@@ -20,10 +20,10 @@
 /*
  * allpaths.c
  */
-extern bool enable_geqo;
-extern int	geqo_threshold;
-extern int	min_parallel_table_scan_size;
-extern int	min_parallel_index_scan_size;
+extern PGDLLIMPORT bool enable_geqo;
+extern PGDLLIMPORT int	geqo_threshold;
+extern PGDLLIMPORT int	min_parallel_table_scan_size;
+extern PGDLLIMPORT int	min_parallel_index_scan_size;
 
 /* Hook for plugins to get control in set_rel_pathlist() */
 typedef void (*set_rel_pathlist_hook_type) (PlannerInfo *root,
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index b89e8e8..6bcc904 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -262,7 +262,7 @@ extern char *HbaFileName;
 extern char *IdentFileName;
 extern char *external_pid_file;
 
-extern char *application_name;
+extern PGDLLIMPORT char *application_name;
 
 extern int	tcp_keepalives_idle;
 extern int	tcp_keepalives_interval;
-- 
2.7.4

From 4d7e9c6dd32d68e2b9d87325f5dbbedbef6ce886 Mon Sep 17 00:00:00 2001
From: Robert Haas 
Date: Fri, 9 Feb 2018 15:54:45 -0500
Subject: [PATCH] Mark assorted GUC variables as PGDLLIMPORT.

This makes life easier for extension authors.
---
 src/include/optimizer/cost.h  | 28 ++--
 src/include/optimizer/paths.h |  6 +++---
 src/include/utils/guc.h   |  2 +-
 3 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/src/include/optimizer/cost.h b/src/include/optimizer/cost.h
index 2a4df2f..214e868 100644
--- a/src/include/optimizer/cost.h
+++ b/src/include/optimizer/cost.h
@@ -53,20 +53,20 @@ extern PGDLLIMPORT double cpu_operator_cost;
 extern PGDLLIMPORT double parallel_tuple_cost;
 extern PGDLLIMPORT double parallel_setup_cost;
 extern PGDLLIMPORT int effective_cache_size;
-extern Cost disable_cost;
-extern int	

Re: Add PGDLLIMPORT to enable_hashagg

2018-02-16 Thread Brian Cloutier
On Fri, Feb 9, 2018 at 1:01 PM, Robert Haas  wrote:

>
> Committed.


Thanks for committing this! We forgot to ask though, could you please
backport this patch to 10 and maybe even 9.6? As-is I don't think these
variables will be available until PG 11.


Re: Add PGDLLIMPORT to enable_hashagg

2018-02-09 Thread Robert Haas
On Wed, Feb 7, 2018 at 6:32 AM, Metin Doslu  wrote:
> i. The list of Pascal (max_worker_processes was already with
> PGDLLIMPORT, so I also added to max_parallel_workers)
> ii. Some others in cost.h to make the file more readable.

Committed.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Re: Add PGDLLIMPORT to enable_hashagg

2018-02-07 Thread legrand legrand
Thank you Metin !

Regards
PAscal



--
Sent from: http://www.postgresql-archive.org/PostgreSQL-hackers-f1928748.html



Re: Add PGDLLIMPORT to enable_hashagg

2018-02-07 Thread Metin Doslu
Hey all,

I'm attaching the updated patch, it includes

i. The list of Pascal (max_worker_processes was already with
PGDLLIMPORT, so I also added to max_parallel_workers)
ii. Some others in cost.h to make the file more readable.

Best,
Metin

On Tue, Feb 6, 2018 at 10:40 PM, Peter Geoghegan  wrote:
> On Tue, Feb 6, 2018 at 12:39 PM, Robert Haas  wrote:
>> Yeah, let's get them all into one list and I'll commit the whole thing 
>> together.
>
> +1
>
> --
> Peter Geoghegan
>


add_pgdllimport-v2.patch
Description: Binary data


Re: Add PGDLLIMPORT to enable_hashagg

2018-02-06 Thread Peter Geoghegan
On Tue, Feb 6, 2018 at 12:39 PM, Robert Haas  wrote:
> Yeah, let's get them all into one list and I'll commit the whole thing 
> together.

+1

-- 
Peter Geoghegan



Re: Add PGDLLIMPORT to enable_hashagg

2018-02-06 Thread Robert Haas
On Tue, Feb 6, 2018 at 3:34 PM, legrand legrand
 wrote:
> Hello,
> I know an other extension that would need the same for:
>
> src/include/optimizer/paths.h
> geqo_threshold
> enable_geqo
> min_parallel_index_scan_size
> min_parallel_table_scan_size
>
> src/include/optimizer/cost.h
> max_parallel_workers_per_gather
> enable_hashjoin
> enable_mergejoin
> enable_nestloop
> enable_indexonlyscan
> enable_tidscan
> enable_bitmapscan
> enable_indexscan
> enable_seqscan
> disable_cost
>
> src/include/utils/guc.h
> application_name
>
> src/include/miscadmin.h
> max_worker_processes
>
> see https://github.com/ossc-db/pg_hint_plan/issues/8

Yeah, let's get them all into one list and I'll commit the whole thing together.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Re: Add PGDLLIMPORT to enable_hashagg

2018-02-06 Thread legrand legrand
Hello,
I know an other extension that would need the same for:

src/include/optimizer/paths.h
geqo_threshold
enable_geqo
min_parallel_index_scan_size
min_parallel_table_scan_size

src/include/optimizer/cost.h
max_parallel_workers_per_gather
enable_hashjoin
enable_mergejoin
enable_nestloop
enable_indexonlyscan
enable_tidscan
enable_bitmapscan
enable_indexscan
enable_seqscan
disable_cost

src/include/utils/guc.h
application_name

src/include/miscadmin.h
max_worker_processes

see https://github.com/ossc-db/pg_hint_plan/issues/8

Regards
PAscal



--
Sent from: http://www.postgresql-archive.org/PostgreSQL-hackers-f1928748.html



Re: Add PGDLLIMPORT to enable_hashagg

2018-02-06 Thread Robert Haas
On Mon, Feb 5, 2018 at 6:17 AM, Metin Doslu  wrote:
> There was already a discussion and commit for adding PGDLLIMPORT to some
> variables which enables extensions to use them on Windows builds. For
> reference, the previous thread:"Add PGDLLIMPORT lines to some variables".
>
> I would like to add PGDLLIMPORT to enable_hashagg for the same reason. I'm
> adding a very simple patch. Please let me know if I'm missing anything given
> that this is my first patch submission.

Seems weird to do it just for enable_hashagg and not for all of the
surrounding Booleans.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company