Thread: Re: [COMMITTERS] psqlodbc - psqlodbc: Fixed dllname of win32 ANSI: psqlodbca Unicode:


> -----Original Message-----
> From: pgsql-committers-owner@postgresql.org
> [mailto:pgsql-committers-owner@postgresql.org] On Behalf Of
> User H-saito
> Sent: 25 August 2006 00:02
> To: pgsql-committers@postgresql.org
> Subject: [COMMITTERS] psqlodbc - psqlodbc: Fixed dllname of
> win32 ANSI: psqlodbca Unicode:
>
> Log Message:
> -----------
> Fixed dllname of win32
> ANSI: psqlodbca
> Unicode: psqlodbc35w

What is this change for Hiroshi? We deprecated the ANSI driver because
the correctly functioning Unicode driver will handle ascii data just
fine. We don't want it back again.

Regards, Dave

> What is this change for Hiroshi? We deprecated the ANSI driver because
> the correctly functioning Unicode driver will handle ascii data just
> fine. We don't want it back again.

Ah, The user of the Latin character-set had dissatisfaction in UNICODE.
And Inoue-san considered carefully and he judged that ANSI was still required.
Then, it was able to help the problem. I think It is a mission to help the user uses.

Regards,
Hiroshi Saito



> -----Original Message-----
> From: Hiroshi Saito [mailto:z-saito@guitar.ocn.ne.jp]
> Sent: 25 August 2006 09:17
> To: Dave Page; pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] [COMMITTERS] psqlodbc - psqlodbc: Fixed
> dllname of win32 ANSI: psqlodbca Unicode:
>
> > What is this change for Hiroshi? We deprecated the ANSI
> driver because
> > the correctly functioning Unicode driver will handle ascii data just
> > fine. We don't want it back again.
>
> Ah, The user of the Latin character-set had dissatisfaction
> in UNICODE.
> And Inoue-san considered carefully and he judged that ANSI
> was still required.
> Then, it was able to help the problem. I think It is a
> mission to help the user uses.

That is a major change that wasn't discussed on the mailing lists that
I'm aware of. Why is ANSI still required? No other DBMS that I'm aware
of has to have 2 drivers. Why can't the actual problem be fixed?

Changing back to 2 drivers again is a major pain because it means
renaming all the DLLs and drivers yet again - something that has the
potential to *really* annoy users.

Regards, Dave.

Hi.

It was easy to already have the logic and to erase. However, it can use because
of the user who had some problems. I hear that and it was made to emerge.
It is never major amendment.  At least while the logic is valid inside, I think that
an outer expression is required. I want to leave it until logic is removed.

Regards,
Hiroshi Saito




-----Original Message-----
From: pgsql-odbc-owner@postgresql.org on behalf of Hiroshi Saito
Sent: Sat 8/26/2006 1:18 AM
To: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] [COMMITTERS] psqlodbc - psqlodbc: Fixed dllname of win32 ANSI: psqlodbca Unicode:

Hi.

> It was easy to already have the logic and to erase. However, it can use because
> of the user who had some problems. I hear that and it was made to emerge.
> It is never major amendment.

It's not a major code change, but it is a major change of direction for the project - one that I feel should have been
discussedon the mailing list - especially as I for one have to rehack at least two installers to deal with it. 

> At least while the logic is valid inside, I think that
> an outer expression is required. I want to leave it until logic is removed.

Which means it will never be changed because the code will not be removed until *long* after any bugs are fixed - I've
madethat mistake before :-( 

Regards, Dave.

Re: [COMMITTERS] psqlodbc - psqlodbc: Fixed dllname of win32

From
Hiroshi Inoue
Date:
Dave Page wrote:
>
>
> -----Original Message-----
> From: pgsql-odbc-owner@postgresql.org on behalf of Hiroshi Saito
> Sent: Sat 8/26/2006 1:18 AM
> To: pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] [COMMITTERS] psqlodbc - psqlodbc: Fixed dllname of win32 ANSI: psqlodbca Unicode:
>
> Hi.
>
>> It was easy to already have the logic and to erase. However, it can use because
>> of the user who had some problems. I hear that and it was made to emerge.
>> It is never major amendment.
>
> It's not a major code change, but it is a major change of direction for the project - one that I feel should have
beendiscussed on the mailing list - especially as I for one have to rehack at least two installers to deal with it. 
>
>> At least while the logic is valid inside, I think that
>> an outer expression is required. I want to leave it until logic is removed.
>
> Which means it will never be changed because the code will not be removed until *long* after any bugs are fixed -
I'vemade that mistake before :-( 

I'm sorry if I cofused the list.

I'm not sticking to the official ANSI version so much.
Though I don't remember well, probably I didn't add
psqlodbca.def to CVS intentionally when I added the
ANSI_VERSION option to win32.mak.
My hope is to leave the ANSI_VERSION option of win32.mak
as it is even though it is not supported officially.
Because it's very troublesome to maintain separate makefiles
for other settings, I removed duplicates from win32.mak
as much as possible and integrated the offical Unicode
version and my local ANSI version.
I've provided the ANSI version in my site for the people who
are unhappy with the Unicode version though I've rarely
tested it by myself and not updated it so often. Though I'm
not sure if I would continue the ANSI version in the future,
I hope I would be able to test the ANSI vesrion easily by
myself.

There's another new option MSDTC in win32.mak. Is it OK that
the option is ON by default ?

regards,
Hiroshi Inoue

Re: [COMMITTERS] psqlodbc - psqlodbc: Fixed dllname of win32

From
"Hiroshi Saito"
Date:
> There's another new option MSDTC in win32.mak. Is it OK that
> the option is ON by default ?

I think that the interface which you are drawing is great. If it is present PostgreSQL
equipped with 2 phase commitment, it will support a user's possibility. Even if it is the
specification of only windows.... However, I think default of NO is desirable until a
developer's stability is checked.

+1 vote.

Regards,
Hiroshi Saito



> -----Original Message-----
> From: Hiroshi Inoue [mailto:inoue@tpf.co.jp]
> Sent: 28 August 2006 02:00
> To: Dave Page
> Cc: Hiroshi Saito; pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] [COMMITTERS] psqlodbc - psqlodbc: Fixed
> dllname of win32 ANSI: psqlodbca Unicode:
>
> I'm not sticking to the official ANSI version so much.
> Though I don't remember well, probably I didn't add
> psqlodbca.def to CVS intentionally when I added the
> ANSI_VERSION option to win32.mak.
> My hope is to leave the ANSI_VERSION option of win32.mak
> as it is even though it is not supported officially.
> Because it's very troublesome to maintain separate makefiles
> for other settings, I removed duplicates from win32.mak
> as much as possible and integrated the offical Unicode
> version and my local ANSI version.
> I've provided the ANSI version in my site for the people who
> are unhappy with the Unicode version though I've rarely
> tested it by myself and not updated it so often. Though I'm
> not sure if I would continue the ANSI version in the future,
> I hope I would be able to test the ANSI vesrion easily by
> myself.

OK. At the moment, the installer is setup to install the Unicode driver
as 'PostgreSQL'. As this is something we cannot keep chopping and
changing, and we're about to set things in stone for 8.2 - should I make
that 'PostgreSQL Unicode'? Should we include the ANSI driver as well for
now, or just ship the Unicode?

Although I'd like to have only the one driver, if there are real
problems with those remaining latin/BDE issues I'm happy to go with 2 -
we just can't keep changing the driver name in production releases!!

> There's another new option MSDTC in win32.mak. Is it OK that
> the option is ON by default ?

I don't see any problem with new features as long as they are stable and
don't break backwards compatibility. MSDTC support sounds like a fine
improvement.

Regards, Dave.


> -----Original Message-----
> From: pgsql-odbc-owner@postgresql.org
> [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Dave Page
> Sent: 28 August 2006 17:22
> To: Hiroshi Inoue
> Cc: Hiroshi Saito; pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] [COMMITTERS] psqlodbc - psqlodbc: Fixed
> dllname of win32 ANSI: psqlodbca Unicode:
>
>
> MSDTC support sounds like a fine
> improvement.

Unfortunately it doesn't seem to build for me:

        cl.exe /nologo /MT /W3 /GX /O2 /I "C:\Program
Files\PostgreSQL\8.1\include" /I "C:\OpenSSL\include" /D "WIN32" /D
"NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PSQLODBC_EXPORTS" /D
"WIN_MULTITHREAD_SUPPORT"  /D "SSL_DLL=\""SSLEAY32.dll"\"" /D
"DYNAMIC_LOAD" /D "_HANDLE_ENLIST_IN_DTC_" /D "UNICODE_SUPPORT" /D
"ODBCVER=0x0351" /Fp".\Release\psqlodbc.pch" /YX /Fo".\Release\\"
/Fd".\Release\\" /FD /c msdtc_enlist.cpp
msdtc_enlist.cpp
msdtc_enlist.cpp(145) : error C2504: 'ITransactionResourceAsync' : base
class undefined
msdtc_enlist.cpp(148) : error C2143: syntax error : missing ';' before
'*'
msdtc_enlist.cpp(148) : error C2501: 'IDtcToXaHelperSinglePipe' :
missing storage-class or type specifiers
msdtc_enlist.cpp(148) : error C2501: 'helper' : missing storage-class or
type specifiers
msdtc_enlist.cpp(173) : error C2143: syntax error : missing ';' before
'*'
msdtc_enlist.cpp(173) : error C2501: 'ITransactionEnlistmentAsync' :
missing storage-class or type specifiers
msdtc_enlist.cpp(173) : error C2501: 'enlist' : missing storage-class or
type specifiers
msdtc_enlist.cpp(190) : error C2061: syntax error : identifier
'IDtcToXaHelperSinglePipe'
msdtc_enlist.cpp(248) : error C2614: 'IAsyncPG' : illegal member
initialization: 'enlist' is not a base or member
msdtc_enlist.cpp(248) : error C2614: 'IAsyncPG' : illegal member
initialization: 'helper' is not a base or member
msdtc_enlist.cpp(292) : error C2065: 'IID_ITransactionResourceAsync' :
undeclared identifier
msdtc_enlist.cpp(547) : error C2065: 'enlist' : undeclared identifier
msdtc_enlist.cpp(547) : error C2227: left of '->PrepareRequestDone' must
point to class/struct/union
msdtc_enlist.cpp(566) : error C2227: left of '->CommitRequestDone' must
point to class/struct/union
msdtc_enlist.cpp(585) : error C2227: left of '->AbortRequestDone' must
point toclass/struct/union
msdtc_enlist.cpp(593) : error C2065: 'helper' : undeclared identifier
msdtc_enlist.cpp(593) : error C2227: left of '->ReleaseRMCookie' must
point to class/struct/union
msdtc_enlist.cpp(594) : error C2227: left of '->Release' must point to
class/struct/union
msdtc_enlist.cpp(716) : error C2227: left of '->AddRef' must point to
class/struct/union
msdtc_enlist.cpp(721) : error C2227: left of '->Release' must point to
class/struct/union
msdtc_enlist.cpp(752) : error C2227: left of '->AddRef' must point to
class/struct/union
msdtc_enlist.cpp(757) : error C2227: left of '->Release' must point to
class/struct/union
msdtc_enlist.cpp(935) : error C2143: syntax error : missing ';' before
'*'
msdtc_enlist.cpp(935) : error C2065: 'pHelper' : undeclared identifier
msdtc_enlist.cpp(935) : error C2100: illegal indirection
msdtc_enlist.cpp(936) : error C2065: 'ITransactionResourceAsync' :
undeclared identifier
msdtc_enlist.cpp(936) : error C2065: 'pRes' : undeclared identifier
msdtc_enlist.cpp(936) : error C2106: '=' : left operand must be l-value
msdtc_enlist.cpp(945) : error C2065: 'IID_IDtcToXaHelperSinglePipe' :
undeclared identifier
msdtc_enlist.cpp(968) : error C2227: left of '->XARMCreate' must point
to class/struct/union
msdtc_enlist.cpp(972) : error C2065: 'XACT_E_XA_TX_DISABLED' :
undeclared identifier
msdtc_enlist.cpp(1008) : error C2227: left of '->ConvertTridToXID' must
point to class/struct/union
msdtc_enlist.cpp(1024) : error C2227: left of '->EnlistWithRM' must
point to class/struct/union
msdtc_enlist.cpp(1024) : error C2039: 'enlist' : is not a member of
'IAsyncPG'
msdtc_enlist.cpp(144) : see declaration of 'IAsyncPG'
msdtc_enlist.cpp(1028) : error C2227: left of '->ReleaseRMCookie' must
point to class/struct/union
NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
Stop.

Do I need an SDK or something for DTC support? This is VC++ 6 btw.

Also, I notice that the ANSI builds identify their filename as
psqlodbc35w - perhaps that should be hacked in the RC file?

Regards, Dave.

Hi Dave.

> Do I need an SDK or something for DTC support? This is VC++ 6 btw.

The support is only VC7 and VC8.  Probably, an initial value has set MSDTC=no.
or It changes with build at the time of MSDTC=yes.

>
> Also, I notice that the ANSI builds identify their filename as
> psqlodbc35w - perhaps that should be hacked in the RC file?

Ahh..,Is it clarifying what was built by the variable?

Regards,
Hiroshi Saito


Re: [COMMITTERS] psqlodbc - psqlodbc: Fixed dllname of win32

From
Hiroshi Inoue
Date:
Hiroshi Saito wrote:
> Hi Dave.
>
>> Do I need an SDK or something for DTC support? This is VC++ 6 btw.
>
> The support is only VC7 and VC8.  Probably, an initial value has set
> MSDTC=no.
> or It changes with build at the time of MSDTC=yes.

Hmm it's a problem. Would the release contain the dll without MSDTC
support ?

>> Also, I notice that the ANSI builds identify their filename as
>> psqlodbc35w - perhaps that should be hacked in the RC file?
>
> Ahh..,Is it clarifying what was built by the variable?

Oops my oversight.
Thanks for your fix.

Regards,
Hiroshi Inoue>


Hi Inoue-san.

From: "Hiroshi Inoue"

> Hiroshi Saito wrote:
>> Hi Dave.
>>
>>> Do I need an SDK or something for DTC support? This is VC++ 6 btw.
>>
>> The support is only VC7 and VC8.  Probably, an initial value has set
>> MSDTC=no.
>> or It changes with build at the time of MSDTC=yes.
>
> Hmm it's a problem. Would the release contain the dll without MSDTC
> support ?

Ea?  Does it mean build by VC6?

Regards,
Hiroshi Saito



> -----Original Message-----
> From: Hiroshi Saito [mailto:z-saito@guitar.ocn.ne.jp]
> Sent: 29 August 2006 17:19
> To: Dave Page; Hiroshi Inoue
> Cc: pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] [COMMITTERS] psqlodbc - psqlodbc: Fixed
> dllname of win32 ANSI: psqlodbca Unicode:
>
> Hi Dave.
>
> > Do I need an SDK or something for DTC support? This is VC++ 6 btw.
>
> The support is only VC7 and VC8.  Probably, an initial value
> has set MSDTC=no.
> or It changes with build at the time of MSDTC=yes.

Yeah, saw the MSDTC option.

Well, I can build with MSDTC support using VC++ 2k5 if people want,
however that will require shipping the VC8 runtimes as well. Do people
want that?

However, that said, nmake from VC8 crashes when creating the output
directory, and the debug build in the IDE fails with undefined symbols
in inouealc.c, and has no targets for the ANSI driver :-(

I'm afraid I'm rather busy (as usual) at the moment so don't have time
to look into these issues in depth.

Strangely I'm also seeing another odd error with VC++ 6.0 - if I don't
specify MSDTC on the command line I get:

C:\Documents and Settings\dpage\My Documents\CVS\psqlodbc>nmake /f
win32.mak CFG=Release

Microsoft (R) Program Maintenance Utility   Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

Building the PostgreSQL Unicode 3.5 Driver for Win32...

Using default PostgreSQL Include directory: C:\Program
Files\PostgreSQL\8.1\include
Using default PostgreSQL Library directory: C:\Program
Files\PostgreSQL\8.1\lib\ms
Using default OpenSSL Include directory: C:\OpenSSL\include
Using default OpenSSL Library directory: C:\OpenSSL\lib\VC
win32.mak(75) : fatal error U1023: syntax error in expression
Stop.

Which seems odd as MSDTC should get set by line 68 of the makefile...

> > Also, I notice that the ANSI builds identify their filename as
> > psqlodbc35w - perhaps that should be hacked in the RC file?
>
> Ahh..,Is it clarifying what was built by the variable?

Yeah  we used to have some conditionals in the .rc file so that it
became clear which was the Unicode and which was the ANSI driver.

Regards, Dave.

Hi Dave.

> > The support is only VC7 and VC8.  Probably, an initial value
> > has set MSDTC=no.
> > or It changes with build at the time of MSDTC=yes.
>
> Yeah, saw the MSDTC option.

Probably, VC7 may be desirable supposing a formal binary release.

> Which seems odd as MSDTC should get set by line 68 of the makefile...

Uga, Sorry.... I was mistake it. fixed it now.

> Yeah  we used to have some conditionals in the .rc file so that it
> became clear which was the Unicode and which was the ANSI driver.

Ok, Preparation was completed.

Regards,
Hiroshi Saito



> -----Original Message-----
> From: Hiroshi Inoue [mailto:inoue@tpf.co.jp]
> Sent: 30 August 2006 01:03
> To: Hiroshi Saito
> Cc: Dave Page; pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] [COMMITTERS] psqlodbc - psqlodbc: Fixed
> dllname of win32 ANSI: psqlodbca Unicode:
>
> Hiroshi Saito wrote:
> > Hi Dave.
> >
> >> Do I need an SDK or something for DTC support? This is VC++ 6 btw.
> >
> > The support is only VC7 and VC8.  Probably, an initial
> value has set
> > MSDTC=no.
> > or It changes with build at the time of MSDTC=yes.
>
> Hmm it's a problem. Would the release contain the dll without MSDTC
> support ?

As I mentioned in my reply to Saito-san, I can include DTC in the build
(compilation problems aside) if people don't object to me adding the VC8
runtimes to the package.

There are other advantages to doing that of course - we can standardize
the build env on the tools that MS now provide for free, so anyone can
hack the code without needing version specific hacks (such as the
delayed libpq load).

Regards, Dave.


> -----Original Message-----
> From: Hiroshi Saito [mailto:z-saito@guitar.ocn.ne.jp]
> Sent: 30 August 2006 08:42
> To: Dave Page; Hiroshi Inoue
> Cc: pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] [COMMITTERS] psqlodbc - psqlodbc: Fixed
> dllname of win32 ANSI: psqlodbca Unicode:
>
> Hi Dave.
>
> > > The support is only VC7 and VC8.  Probably, an initial value
> > > has set MSDTC=no.
> > > or It changes with build at the time of MSDTC=yes.
> >
> > Yeah, saw the MSDTC option.
>
> Probably, VC7 may be desirable supposing a formal binary release.

VC8 would be better as it's both the latest and free for anyone to use.
Also, I only have 6, 7.1 and 8 (no 7).

Does nmake from VC8 work for you? I find it crashes when running CLEAN
or when it tries to create the output directory.

> > Which seems odd as MSDTC should get set by line 68 of the
> makefile...
>
> Uga, Sorry.... I was mistake it. fixed it now.

Thanks.

> > Yeah  we used to have some conditionals in the .rc file so that it
> > became clear which was the Unicode and which was the ANSI driver.
>
> Ok, Preparation was completed.

Fast work - thanks :-)

/D