Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-05-05 Thread Alvaro Herrera
Paresh More wrote:
> Hello Alvaro,
> 
> I applied the patch which you mentioned and tried compiling  postgresql
> server for windows 32 and 64 and the results are:-
> 
> 1) postgresql server(96) with tcl version 8.5 is compiling fine with out
> any issue.
> 2) postgresql server(10) snapshot with tcl version 8.6 is also
> compiling fine without any issue.

Great, will push.


-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-05-05 Thread Paresh More
Hello Alvaro,

I applied the patch which you mentioned and tried compiling  postgresql
server for windows 32 and 64 and the results are:-

1) postgresql server(96) with tcl version 8.5 is compiling fine with out
any issue.
2) postgresql server(10) snapshot with tcl version 8.6 is also
compiling fine without any issue.






On Thu, May 4, 2017 at 8:26 PM, Dave Page  wrote:

>
>
> On Thu, May 4, 2017 at 3:54 PM, Tom Lane  wrote:
>
>> Alvaro Herrera  writes:
>> > Something like the (untested) attached perhaps?
>>
>> Looks plausible, I'm not in a position to test though.
>
>
> Sandeep/Paresh - can you test please?
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>



-- 

Thanks & Regards

*Paresh More*

[image: NEW-EDB-logo-4c]

Pune, India.
Cell :  +919922000564 |  www.enterprisedb.com


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-05-04 Thread Dave Page
On Thu, May 4, 2017 at 3:54 PM, Tom Lane  wrote:

> Alvaro Herrera  writes:
> > Something like the (untested) attached perhaps?
>
> Looks plausible, I'm not in a position to test though.


Sandeep/Paresh - can you test please?

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-05-04 Thread Tom Lane
Alvaro Herrera  writes:
> Something like the (untested) attached perhaps?

Looks plausible, I'm not in a position to test though.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-05-04 Thread Alvaro Herrera
Tom Lane wrote:

> But I agree with Andres' complaint that just duplicating the code isn't
> the best way.  The configure script has a loop that's basically like
> 
> for f in tclsh tcl tclsh8.6 tclsh86 tclsh8.5 tclsh85 tclsh8.4 tclsh84 
> tclsh8.3 tclsh83
> do
>... break if $f is the right one
> done
> 
> Seems to me that a similar coding pattern in the MSVC script is a
> reasonable way to go.

Something like the (untested) attached perhaps?

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 30c126503b..c0bc25292f 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -204,20 +204,24 @@ sub mkvcbuild
 
if ($solution->{options}->{tcl})
{
+   my $found = 0;
my $pltcl =
  $solution->AddProject('pltcl', 'dll', 'PLs', 'src/pl/tcl');
$pltcl->AddIncludeDir($solution->{options}->{tcl} . '/include');
$pltcl->AddReference($postgres);
-   if (-e $solution->{options}->{tcl} . '/lib/tcl85.lib')
+
+   for my $tclver (qw(86t 85 84))
{
-   $pltcl->AddLibrary(
-   $solution->{options}->{tcl} . '/lib/tcl85.lib');
-   }
-   else
-   {
-   $pltcl->AddLibrary(
-   $solution->{options}->{tcl} . '/lib/tcl84.lib');
+   my $tcllib = $solution->{options}->{tcl} . 
"/lib/tcl$tclver.lib";
+   if (-e $tcllib)
+   {
+   $pltcl->AddLibrary($tcllib);
+   $found = 1;
+   last;
+   }
}
+   die "Unable to find 
$solution->{options}->{tcl}/lib/tcl.lib"
+   unless $found;
}
 
$libpq = $solution->AddProject('libpq', 'dll', 'interfaces',

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-04-25 Thread Tom Lane
Michael Paquier  writes:
> On Tue, Apr 25, 2017 at 2:57 PM, Andres Freund  wrote:
>> Any chance of formulating these in a version agnostic way, instead of
>> copying the same stanza for every version?  E.g. using a wildcard or
>> such...

> Using glob() would be enough for this purpose.

Not really, because glob() wouldn't enforce any preference over which
of multiple versions to pick.  If anything, it would do exactly the
wrong thing, preferring an older tclsh version over a newer one.

But I agree with Andres' complaint that just duplicating the code isn't
the best way.  The configure script has a loop that's basically like

for f in tclsh tcl tclsh8.6 tclsh86 tclsh8.5 tclsh85 tclsh8.4 tclsh84 tclsh8.3 
tclsh83
do
   ... break if $f is the right one
done

Seems to me that a similar coding pattern in the MSVC script is a
reasonable way to go.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-04-25 Thread Michael Paquier
On Tue, Apr 25, 2017 at 2:57 PM, Andres Freund  wrote:
> Any chance of formulating these in a version agnostic way, instead of
> copying the same stanza for every version?  E.g. using a wildcard or
> such...

Using glob() would be enough for this purpose.
-- 
Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-04-24 Thread Andres Freund
Hi,

On 2017-04-22 23:28:49 +0530, Sandeep Thakkar wrote:
> diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
> index 304edf9..d3ef89f 100644
> --- a/src/tools/msvc/Mkvcbuild.pm
> +++ b/src/tools/msvc/Mkvcbuild.pm
> @@ -253,7 +253,12 @@ sub mkvcbuild
> $solution->AddProject('pltcl', 'dll', 'PLs', 'src\pl\tcl');
>   $pltcl->AddIncludeDir($solution->{options}->{tcl} . '\include');
>   $pltcl->AddReference($postgres);
> - if (-e $solution->{options}->{tcl} . '\lib\tcl85.lib')
> + if (-e $solution->{options}->{tcl} . '\lib\tcl86t.lib')
> + {
> + $pltcl->AddLibrary(
> + $solution->{options}->{tcl} . 
> '\lib\tcl86t.lib');
> + }
> + elsif (-e $solution->{options}->{tcl} . '\lib\tcl85.lib')
>   {
>   $pltcl->AddLibrary(
>   $solution->{options}->{tcl} . '\lib\tcl85.lib');

> diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
> index 30c1265..2667591 100644
> --- a/src/tools/msvc/Mkvcbuild.pm
> +++ b/src/tools/msvc/Mkvcbuild.pm
> @@ -208,7 +208,12 @@ sub mkvcbuild
> $solution->AddProject('pltcl', 'dll', 'PLs', 'src/pl/tcl');
>   $pltcl->AddIncludeDir($solution->{options}->{tcl} . '/include');
>   $pltcl->AddReference($postgres);
> - if (-e $solution->{options}->{tcl} . '/lib/tcl85.lib')
> + if (-e $solution->{options}->{tcl} . '/lib/tcl86t.lib')
> + {
> + $pltcl->AddLibrary(
> + $solution->{options}->{tcl} . 
> '/lib/tcl86t.lib');
> + }
> + elsif (-e $solution->{options}->{tcl} . '/lib/tcl85.lib')
>   {
>   $pltcl->AddLibrary(
>   $solution->{options}->{tcl} . '/lib/tcl85.lib');

Any chance of formulating these in a version agnostic way, instead of
copying the same stanza for every version?  E.g. using a wildcard or
such...

Greetings,

Andres Freund


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-04-24 Thread Sandeep Thakkar
On Tue, Apr 25, 2017 at 1:59 AM, Dave Page  wrote:

>
>
> On Mon, Apr 24, 2017 at 9:26 PM, Andres Freund  wrote:
>
>> On 2017-04-24 16:18:30 -0400, Robert Haas wrote:
>> > On Sat, Apr 22, 2017 at 1:58 PM, Sandeep Thakkar <
>> > sandeep.thak...@enterprisedb.com> wrote:
>> >
>> > > Tcl8.6 is already supported in PostgreSQL.
>> > >
>> >
>> > What commit added support for it?
>>
>> I don't think the main build mechanism requires explicit support of new
>> versions. configure just checks for some prerequisites.
>>
>
> Right - and they were adjusted here: https://git.postgresql.o
> rg/gitweb/?p=postgresql.git;a=commit;h=eaba54c20c5ab2cb6aaff
> a57fd4990dfe2c7
>
> Right and it was back-patched till 9.2. But, it missed the changes
required for Windows build. So, can anyone please review those two patches
i.e Mkvcbuild_Tcl86_94-92.patch and Mkvcbuild_Tcl86_95-master.patch and
commit? With this patch, we could build the server with Tcl8.6 on Windows.
Thanks!



> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>



-- 
Sandeep Thakkar
EDB


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-04-24 Thread Dave Page
On Mon, Apr 24, 2017 at 9:26 PM, Andres Freund  wrote:

> On 2017-04-24 16:18:30 -0400, Robert Haas wrote:
> > On Sat, Apr 22, 2017 at 1:58 PM, Sandeep Thakkar <
> > sandeep.thak...@enterprisedb.com> wrote:
> >
> > > Tcl8.6 is already supported in PostgreSQL.
> > >
> >
> > What commit added support for it?
>
> I don't think the main build mechanism requires explicit support of new
> versions. configure just checks for some prerequisites.
>

Right - and they were adjusted here: https://git.postgresql.
org/gitweb/?p=postgresql.git;a=commit;h=eaba54c20c5ab2cb6aaffa57fd
4990dfe2c7


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-04-24 Thread Andres Freund
On 2017-04-24 16:18:30 -0400, Robert Haas wrote:
> On Sat, Apr 22, 2017 at 1:58 PM, Sandeep Thakkar <
> sandeep.thak...@enterprisedb.com> wrote:
> 
> > Tcl8.6 is already supported in PostgreSQL.
> >
> 
> What commit added support for it?

I don't think the main build mechanism requires explicit support of new
versions. configure just checks for some prerequisites.

- Andres


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-04-24 Thread Robert Haas
On Sat, Apr 22, 2017 at 1:58 PM, Sandeep Thakkar <
sandeep.thak...@enterprisedb.com> wrote:

> Tcl8.6 is already supported in PostgreSQL.
>

What commit added support for it?

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


Re: [HACKERS] Patch - Tcl 8.6 version support for PostgreSQL

2017-04-22 Thread Sandeep Thakkar
Tcl8.6 is already supported in PostgreSQL. It was just missing the required
changes for Windows build system. Can someone please review and commit the
attached patches?

- Mkvcbuild_Tcl86_94-92.patch (This applies to 9.4, 9.3 and 9.2)
- Mkvcbuild_Tcl86_95-master.patch (This applies to 9.5, 9.6 and master)

Thanks.

On Thu, Apr 20, 2017 at 2:02 PM, Paresh More 
wrote:

> Hello Team
>
> This is regarding Tcl version (8.6) support in PostgreSQL.
>
> Currently in PostgreSQL server file  (src/tools/msvc/Mkvcbuild.pm) it
> supports only till Tcl version 8.5
>
> Attach patch contains adding Tcl 8.6 support.
>
>
> Please Note - In Tcl8.6, the library name now contains an extra 't" in
> it.
> Tcl 8.6 - tcl86t.lib
> Tcl 8.5 - tcl85.lib
>
> Can you please review the patch and commit for PostgreSQL.
>
>
> --
>
> Thanks & Regards
>
> *Paresh More*
>
> [image: NEW-EDB-logo-4c]
>
> Pune, India.
>



-- 
Sandeep Thakkar
EDB


Mkvcbuild_Tcl86_94-92.patch
Description: Binary data


Mkvcbuild_Tcl86_95-master.patch
Description: Binary data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers