Thread: Fw: ReadOnly

Fw: ReadOnly

From
"Tony Simopoulos"
Date:
my problem persists .. anybody?!?!?!?!?!?

> ok,
>
> i have finally broken down and decided to ask for some help. i have looked for relevant sections in the manual,
scannedprevious
 
> posts, and searched the entire web for help .. all to no avail.
>
> i CANNOT get non-readonly access to pgsql through iODBC on my FreeBSD box.  (from my windows box, this is not a
challenge). when
 
i
> try an update from odbctest i get the following:
>     [SQLPrepare] Connection is readonly, only select statements are allowed.
>
> i have tried almost every permutation i can think of ..  here is my current state.
>
> /usr/local/pgsql/odbcinst.ini
> [PostgreSQL]
> ReadOnly = 0
> Debug = 0
> CommLog = 1
>
> /usr/local/etc/odbcinst.ini is identical to this file
> /etc/odbcinst.ini is identical to this file
>
> /usr/local/etc/odbc.ini
> [ODBC Data Sources]
> loathe          = PostgreSQL
> cars            = PostgreSQL
> foo             = MySQL
>
> [Default]
> Driver          = /usr/local/pgsql/lib/libpsqlodbc.so
> ReadOnly        = 0
>
> [loathe]
> DSN             = loathe
> ReadOnly        = 0
> Driver          = /usr/local/pgsql/lib/libpsqlodbc.so
> Description     = PGSQL-ODBC
> Database        = metav
> Servername      = localhost
> Port            = 5432
>
> $HOME/.odbc.ini is identical to this
>
> Most of my resouce problems have to do with contradictions in the descriptions of behaviour of the odbc.ini and
odbcinst.ini
files.
> there is no clarity that i can find w.r.t. where they should go, when they are accessed, what drivers utilize them
(pgsqlor iodbc
 
> or both??), and what exactly should be in them.
>
> someone please help me, before i pull the rest of hair out.
>
> thanks,
>
> tonys.
>
>



RE: ReadOnly

From
"Joseph"
Date:
What is your end client? Windows or Linux or what?

> -----Original Message-----
> From: pgsql-interfaces-owner@postgresql.org
> [mailto:pgsql-interfaces-owner@postgresql.org]On Behalf Of Tony
> Simopoulos
> Sent: Tuesday, January 09, 2001 11:02 AM
> To: pgsql-interfaces@postgresql.org
> Subject: Fw: [INTERFACES] ReadOnly
> 
> 
> my problem persists .. anybody?!?!?!?!?!?
> 
> > ok,
> >
> > i have finally broken down and decided to ask for some help. i 
> have looked for relevant sections in the manual, scanned previous
> > posts, and searched the entire web for help .. all to no avail.
> >
> > i CANNOT get non-readonly access to pgsql through iODBC on my 
> FreeBSD box.  (from my windows box, this is not a challenge).  when
> i
> > try an update from odbctest i get the following:
> >     [SQLPrepare] Connection is readonly, only select statements 
> are allowed.
> >
> > i have tried almost every permutation i can think of ..  here 
> is my current state.
> >
> > /usr/local/pgsql/odbcinst.ini
> > [PostgreSQL]
> > ReadOnly = 0
> > Debug = 0
> > CommLog = 1
> >
> > /usr/local/etc/odbcinst.ini is identical to this file
> > /etc/odbcinst.ini is identical to this file
> >
> > /usr/local/etc/odbc.ini
> > [ODBC Data Sources]
> > loathe          = PostgreSQL
> > cars            = PostgreSQL
> > foo             = MySQL
> >
> > [Default]
> > Driver          = /usr/local/pgsql/lib/libpsqlodbc.so
> > ReadOnly        = 0
> >
> > [loathe]
> > DSN             = loathe
> > ReadOnly        = 0
> > Driver          = /usr/local/pgsql/lib/libpsqlodbc.so
> > Description     = PGSQL-ODBC
> > Database        = metav
> > Servername      = localhost
> > Port            = 5432
> >
> > $HOME/.odbc.ini is identical to this
> >
> > Most of my resouce problems have to do with contradictions in 
> the descriptions of behaviour of the odbc.ini and odbcinst.ini
> files.
> > there is no clarity that i can find w.r.t. where they should 
> go, when they are accessed, what drivers utilize them (pgsql or iodbc
> > or both??), and what exactly should be in them.
> >
> > someone please help me, before i pull the rest of hair out.
> >
> > thanks,
> >
> > tonys.
> >
> >


Re: ReadOnly

From
"Tony Simopoulos"
Date:
well, after no help, i managed to fix my own problem.

i am extremely bitter about this whole experience, i have half a mind not to share my solution.

the long and short of the problem, is that my odbc.ini file contained a tab character as white space, after the
ReadOnlykey, just
 
before the '=' sign.

i only found this problem looking through the code, trying to figure out why the ReadOnly key was consistently being
missed.

i would classify this as a BUG, and i'm highly surprised that nobody else has come across it.  should this behaviour be
intentional,
why is it not documented in the manual??

i did some more checking and found an email posting from september 1999, where someone provided a HACK to use
libiodbc'sversion of
 
SQLGetPrivateProfile functions, claiming that postgresql's native version was 'buggy' particularly wrt to tabs.  some
followup
 
postings did not include a plan to merge these efforts with the source tree, nor to correct the apparent *bugs*.

in short the code that implements SQLGetPrivateProfile in the odbc driver code provided with the postgresql package is
terrible. i
 
checked both mysql and libiodbc implementations of the same set of functions .. the code was far cleaner.  also, that
codetreated
 
tabs following the key name as whitespace as should be expected.

1 1/2 years later, i hope these bugs finally get fixed, or the *special* behaviour finally documented.

thanks,

tonys.

> my problem persists .. anybody?!?!?!?!?!?
>
> > ok,
> >
> > i have finally broken down and decided to ask for some help. i have looked for relevant sections in the manual,
scannedprevious
 
> > posts, and searched the entire web for help .. all to no avail.
> >
> > i CANNOT get non-readonly access to pgsql through iODBC on my FreeBSD box.  (from my windows box, this is not a
challenge).
when
> i
> > try an update from odbctest i get the following:
> >     [SQLPrepare] Connection is readonly, only select statements are allowed.
> >
> > i have tried almost every permutation i can think of ..  here is my current state.
> >
> > /usr/local/pgsql/odbcinst.ini
> > [PostgreSQL]
> > ReadOnly = 0
> > Debug = 0
> > CommLog = 1
> >
> > /usr/local/etc/odbcinst.ini is identical to this file
> > /etc/odbcinst.ini is identical to this file
> >
> > /usr/local/etc/odbc.ini
> > [ODBC Data Sources]
> > loathe          = PostgreSQL
> > cars            = PostgreSQL
> > foo             = MySQL
> >
> > [Default]
> > Driver          = /usr/local/pgsql/lib/libpsqlodbc.so
> > ReadOnly        = 0
> >
> > [loathe]
> > DSN             = loathe
> > ReadOnly        = 0
> > Driver          = /usr/local/pgsql/lib/libpsqlodbc.so
> > Description     = PGSQL-ODBC
> > Database        = metav
> > Servername      = localhost
> > Port            = 5432
> >
> > $HOME/.odbc.ini is identical to this
> >
> > Most of my resouce problems have to do with contradictions in the descriptions of behaviour of the odbc.ini and
odbcinst.ini
> files.
> > there is no clarity that i can find w.r.t. where they should go, when they are accessed, what drivers utilize them
(pgsqlor
 
iodbc
> > or both??), and what exactly should be in them.
> >
> > someone please help me, before i pull the rest of hair out.
> >
> > thanks,
> >
> > tonys.
> >
> >
>
>



Re: ReadOnly

From
"Ross J. Reedstrom"
Date:
On Wed, Jan 10, 2001 at 02:19:08PM -0500, Tony Simopoulos wrote:
> well, after no help, i managed to fix my own problem.
> 
> i am extremely bitter about this whole experience, i have half a mind not to share my solution.

Gee, Tony, you posted the original message less than two days ago. During
the first couple weeks of the year, when a lot of people are on vacation.
And you got one reply when you reposted the message (less than a day
later!)

I understand your frustration, since it appears you spent considerable
time working on this, and found a seemingly trivial underlying cause. But
still, what kind of service are you expecting?

In your perusal of the archives, where you found the earlier discussion of
the problem, did you read the threads there, concerning ODBC development?

If you had, you would have found that the ODBC code has a long history
of a lot of users, and not many developers. None of the core developers
us it on a daily basis, for example. As with any other chunk of code in
as complex a project as PostgreSQL, the lack of developers leads to a
form of bitrot, not limited to existing bugs not being fixed.

Recently, (less than a month ago) several people have begun supporting
the Win32 version of the driver, with some fixes going in to support new
features of pgsql 7.0. Seems we could use someone using the unix client
on a daily basis, who's hand with patch and diff. Are you interested?

Ross