Thread: psqlOdbc Ansi + BDE issues

psqlOdbc Ansi + BDE issues

From
"Miguel Juan"
Date:
Hi,
 
I'm testing the Ansi version of the psqlodbc-08.01.0100 and I have found a few isues.
 
If you open a table with the BDE SQL explorer, now it shows all the text fields (char, varchar and text), but for the TEXT type it show the contents as MEMO. This behavior could be changed in prior versions  unchecking the "Text as LongVarChar" option and checking the "Longest" option in the "Unknown Sizes" section.
 
Now, it can be fixed only changing the "Max LongVarchar" edit to 254. It looks like the driver it is not using the "longest" option in the configuration.
 
If you open the database schema with the sql explorer it does not show all the tables, and each table that it shows appears 6 times. It is easy to reproduce, because it happens with all the system tables.
 
Regards,
 
Miguel Juan
 
 

Re: psqlOdbc Ansi + BDE issues

From
"Dave Page"
Date:
 


From: pgsql-odbc-owner@postgresql.org [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Miguel Juan
Sent: 11 November 2005 12:56
To: pgsql-odbc@postgresql.org
Subject: [ODBC] psqlOdbc Ansi + BDE issues

Hi,
 
I'm testing the Ansi version of the psqlodbc-08.01.0100 and I have found a few isues.
 
If you open a table with the BDE SQL explorer, now it shows all the text fields (char, varchar and text), but for the TEXT type it show the contents as MEMO. This behavior could be changed in prior versions  unchecking the "Text as LongVarChar" option and checking the "Longest" option in the "Unknown Sizes" section.
 
Now, it can be fixed only changing the "Max LongVarchar" edit to 254. It looks like the driver it is not using the "longest" option in the configuration.
 
No - longest doesn't work anymore because there is no sensible way to figure it out with the libpq driver architecture. It was only ever there to support pre-6.4 servers that couldn't report the defined column width (see the config.htm doc for details).
 
That aside, shouldn't TEXT equate to MEMO anyway?
 
If you open the database schema with the sql explorer it does not show all the tables, and each table that it shows appears 6 times. It is easy to reproduce, because it happens with all the system tables.
 
Please try 08.01.0101.
 
Regards, Dave.

Re: psqlOdbc Ansi + BDE issues

From
"Merlin Moncure"
Date:

Hi,

 

I'm testing the Ansi version of the psqlodbc-08.01.0100 and I have found a few isues.

 

If you open a table with the BDE SQL explorer, now it shows all the text fields (char, varchar and text), but for the TEXT type it show the contents as MEMO. This behavior could be changed in prior versions  unchecking the "Text as LongVarChar" option and checking the "Longest" option in the "Unknown Sizes" section.

 

Now, it can be fixed only changing the "Max LongVarchar" edit to 254. It looks like the driver it is not using the "longest" option in the configuration.

 

No - longest doesn't work anymore because there is no sensible way to figure it out with the libpq driver architecture. It was only ever there to support pre-6.4 servers that couldn't report the defined column width (see the config.htm doc for details).

 

That aside, shouldn't TEXT equate to MEMO anyway?

 

yes.  TMemoField only VCL type capable of handling unlimited length text fields. 

Just:

  1. use TMemo instead of TEdit
  2. Find a replacement for TDBGrid (I use TopGrid)
  3.  

 

 

If you open the database schema with the sql explorer it does not show all the tables, and each table that it shows appears 6 times. It is easy to reproduce, because it happens with all the system tables.

 

Please try 08.01.0101.

 

Regards, Dave.

Re: psqlOdbc Ansi + BDE issues

From
"Dave Page"
Date:
 


From: Miguel Juan [mailto:mjuan@cibal.es]
Sent: 15 November 2005 15:08
To: Dave Page
Cc: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] psqlOdbc Ansi + BDE issues

    Hello,
That aside, shouldn't TEXT equate to MEMO anyway?
 
Sure yes, but before (version 7.x) TEXT equate to VARCHAR if the longest size is under 255 characters, and this change the behavior of some Delphi components, such as TDataGrid, etc. Anyway, it could be solved easily with a few lines of code. 
 
The driver will report VARCHAR for a TEXT column is TextAsLongVarChar is no set, or LONGVARCHAR if it is. If BDE is ignoring that and deciding the type based on the data size then that sounds even more broken than I thought it was :-(
If you open the database schema with the sql explorer it does not show all the tables, and each table that it shows appears 6 times. It is easy to reproduce, because it happens with all the system tables.
 
Please try 08.01.0101.
Now it shows each system table about four times, and each user table about three times. Still not showing all the tables in the database.
 
Thats very odd. Don't suppose you still have that test code I downloaded from you previously sompelace do you? (I think it was you wasn't it?!?!!).
 
Regards, Dave

Re: psqlOdbc Ansi + BDE issues

From
"Miguel Juan"
Date:
    Hello,
----- Original Message -----
From: Dave Page
Sent: Tuesday, November 15, 2005 11:08 AM
Subject: Re: [ODBC] psqlOdbc Ansi + BDE issues

 


From: pgsql-odbc-owner@postgresql.org [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Miguel Juan
Sent: 11 November 2005 12:56
To: pgsql-odbc@postgresql.org
Subject: [ODBC] psqlOdbc Ansi + BDE issues

Hi,
 
I'm testing the Ansi version of the psqlodbc-08.01.0100 and I have found a few isues.
 
If you open a table with the BDE SQL explorer, now it shows all the text fields (char, varchar and text), but for the TEXT type it show the contents as MEMO. This behavior could be changed in prior versions  unchecking the "Text as LongVarChar" option and checking the "Longest" option in the "Unknown Sizes" section.
 
Now, it can be fixed only changing the "Max LongVarchar" edit to 254. It looks like the driver it is not using the "longest" option in the configuration.
 
No - longest doesn't work anymore because there is no sensible way to figure it out with the libpq driver architecture. It was only ever there to support pre-6.4 servers that couldn't report the defined column width (see the config.htm doc for details).
 
That aside, shouldn't TEXT equate to MEMO anyway?
 
Sure yes, but before (version 7.x) TEXT equate to VARCHAR if the longest size is under 255 characters, and this change the behavior of some Delphi components, such as TDataGrid, etc. Anyway, it could be solved easily with a few lines of code.
If you open the database schema with the sql explorer it does not show all the tables, and each table that it shows appears 6 times. It is easy to reproduce, because it happens with all the system tables.
 
Please try 08.01.0101.
Now it shows each system table about four times, and each user table about three times. Still not showing all the tables in the database.
 
 
 
Regards, Dave.
 
Regards,
 
Miguel Juan
 
 
 

Re: psqlOdbc Ansi + BDE issues

From
"Dave Page"
Date:
Hi Miguel
 
Unfortunately the installer you supplied is broken. I get some errors like:
 
Internal error 25001
 
Then when I try to run SQL Explorer, I get:

DbX.DbI was not found or identified.  It is needed to explore databases

:-(
 
Regards, Dave.
 

From: pgsql-odbc-owner@postgresql.org [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Miguel Juan
Sent: 15 November 2005 15:08
To: Dave Page
Cc: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] psqlOdbc Ansi + BDE issues

    Hello,
----- Original Message -----
From: Dave Page
Sent: Tuesday, November 15, 2005 11:08 AM
Subject: Re: [ODBC] psqlOdbc Ansi + BDE issues

 


From: pgsql-odbc-owner@postgresql.org [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Miguel Juan
Sent: 11 November 2005 12:56
To: pgsql-odbc@postgresql.org
Subject: [ODBC] psqlOdbc Ansi + BDE issues

Hi,
 
I'm testing the Ansi version of the psqlodbc-08.01.0100 and I have found a few isues.
 
If you open a table with the BDE SQL explorer, now it shows all the text fields (char, varchar and text), but for the TEXT type it show the contents as MEMO. This behavior could be changed in prior versions  unchecking the "Text as LongVarChar" option and checking the "Longest" option in the "Unknown Sizes" section.
 
Now, it can be fixed only changing the "Max LongVarchar" edit to 254. It looks like the driver it is not using the "longest" option in the configuration.
 
No - longest doesn't work anymore because there is no sensible way to figure it out with the libpq driver architecture. It was only ever there to support pre-6.4 servers that couldn't report the defined column width (see the config.htm doc for details).
 
That aside, shouldn't TEXT equate to MEMO anyway?
 
Sure yes, but before (version 7.x) TEXT equate to VARCHAR if the longest size is under 255 characters, and this change the behavior of some Delphi components, such as TDataGrid, etc. Anyway, it could be solved easily with a few lines of code.
If you open the database schema with the sql explorer it does not show all the tables, and each table that it shows appears 6 times. It is easy to reproduce, because it happens with all the system tables.
 
Please try 08.01.0101.
Now it shows each system table about four times, and each user table about three times. Still not showing all the tables in the database.
 
 
 
Regards, Dave.
 
Regards,
 
Miguel Juan
 
 
 

Re: psqlOdbc Ansi + BDE issues

From
"Dave Page"
Date:
 


From: Miguel Juan [mailto:mjuan@cibal.es]
Sent: 23 November 2005 16:07
To: Dave Page
Cc: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] psqlOdbc Ansi + BDE issues

Hello,
 
I have checked (and reinstalled) de psqlODBC driver. The Windows ODBC Administrator says that I have the "psqlODBC 8.01.01.01" and is using the file "psqlodbcA.dll" with date 11/11/2005.
 
I have been 'playing' with some ODBC options and I have found that the problem is produced by the 'Use declare fetch' option. If it is unchecked the SQL explorer works OK. Otherwise, if it's checked each table appears a few times, depending on the number of tables in the database.
 
Hmm, yes I see. Not sure what's going on, though it certainly looks like the previous declare/fetch problem. Probably the same fix is required someplace else.
 
I've opened a tracker for this as I don't have time to look right now.
 
Regards, Dave.

Re: psqlOdbc Ansi + BDE issues

From
"Miguel Juan"
Date:
Hello,
 
I have checked (and reinstalled) de psqlODBC driver. The Windows ODBC Administrator says that I have the "psqlODBC 8.01.01.01" and is using the file "psqlodbcA.dll" with date 11/11/2005.
 
I have been 'playing' with some ODBC options and I have found that the problem is produced by the 'Use declare fetch' option. If it is unchecked the SQL explorer works OK. Otherwise, if it's checked each table appears a few times, depending on the number of tables in the database.
 
Regards,
 
Miguel Juan
 
 
----- Original Message -----
From: Dave Page
Sent: Monday, November 21, 2005 9:36 AM
Subject: RE: [ODBC] psqlOdbc Ansi + BDE issues

 


From: Miguel Juan [mailto:mjuan@cibal.es]
Sent: 20 November 2005 17:27
To: Dave Page
Subject: Re: [ODBC] psqlOdbc Ansi + BDE issues

Hello Dave,
 
Sorry, I forgot to include that file in the installation. I am sending it attached to this mail. Also, I can send you a new installation, but it will not be available until Tuesday.
 
Thanks - that got it. It also shows all the tables perfectly with no duplication at all. Are you definately running 08.01.0101?
 
Regards, Dave

Re: psqlOdbc Ansi + BDE issues

From
Ludek Finstrle
Date:
Hello,

> the problem is produced by the 'Use declare fetch' option. If it
> is unchecked the SQL explorer works OK. Otherwise, if it's checked
> each table appears a few times, depending on the number of tables
> in the database.

Not so exactly. It depend on the number of tables _and_ cache size
parametr. The problem is in fetching all rows in PGAPI_Tables
but excepting only "cache size" entries in PGAPI_ExtendedFetch.

I attach one line patch. Try it and report next problems.

Best regards,

Luf

Attachment

Re: psqlOdbc Ansi + BDE issues

From
"Dave Page"
Date:

> -----Original Message-----
> From: Ludek Finstrle [mailto:luf@pzkagis.cz]
> Sent: 27 November 2005 22:01
> To: Miguel Juan
> Cc: Dave Page; pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] psqlOdbc Ansi + BDE issues
>
> Hello,
>
> > the problem is produced by the 'Use declare fetch' option. If it
> > is unchecked the SQL explorer works OK. Otherwise, if it's checked
> > each table appears a few times, depending on the number of tables
> > in the database.
>
> Not so exactly. It depend on the number of tables _and_ cache size
> parametr. The problem is in fetching all rows in PGAPI_Tables
> but excepting only "cache size" entries in PGAPI_ExtendedFetch.
>
> I attach one line patch. Try it and report next problems.

Thanks Ludek - works nicely here. Patch applied.

Regards, Dave