[SqueakDBX] Connection not Valid problem

John Toohey jt at parspro.com
Fri Sep 25 16:52:56 UTC 2009


All DB code working now :-) Many thanks for all the help in getting this to
work.

On Fri, Sep 25, 2009 at 12:00, Mariano Martinez Peck
<marianopeck at gmail.com>wrote:

>
>
> On Fri, Sep 25, 2009 at 2:42 PM, John Toohey <jt at parspro.com> wrote:
>
>> Okay, have everything installed now, but am not sure what changes I need
>> to make to my Glorp code. This is my current connect method, that I use for
>> Glorp :-connect
>> | accessor|
>>
>> JulietLogger log:'Database connecting'.
>>
>> self platform: PostgreSQLPlatform new.
>>  accessor := DatabaseAccessor forLogin: self createLogin.
>> self
>> session: ((GlorpSession forSystem: self)
>>  accessor: accessor;
>> yourself);
>> connectionFailed: false.
>>  [accessor login] ifError: [:err | Transcript show: 'JulietDB -
>> Connection Problem', err; cr. self connectionFailed: true].
>>  accessor logging: self enableLogging.
>> self glorpSession: self session.
>>
>> Do I need to rewrite this?
>>
>
> I think you should evaluate this:
>
>     SqueakDatabaseAccessor DefaultDriver: SqueakDBXDriver.
>
> somewhere before that code. In a future this will be done automatically
> when you load GlorpDBX. I will commit this then.
>
> Let me know if that worked.
>
> Best,
>
> Mariano
>
>
>>
>> On Fri, Sep 25, 2009 at 11:07, John Toohey <jt at parspro.com> wrote:
>>
>>> Had to rebuild a new image, changes file full, and Pharo still cannot
>>> condense a change file. So, now I have a refresh image with just GlorpDBX
>>> installed. Ran the tests and have 94 passed and one failure. The failed test
>>> is DBXQueryNoTimeout and the failing method is #testNoTimeOut. The
>>> DBXQuerySetting object's timeout property is Nil, and this throws a DNU
>>> exception.
>>> Going to try to install Seaside now, and hopefully my own app then.
>>>
>>>
>>> On Fri, Sep 25, 2009 at 09:38, Mariano Martinez Peck <
>>> marianopeck at gmail.com> wrote:
>>>
>>>>
>>>>
>>>> On Fri, Sep 25, 2009 at 12:21 PM, Mariano Martinez Peck <
>>>> marianopeck at gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Fri, Sep 25, 2009 at 12:04 PM, John Toohey <jt at parspro.com> wrote:
>>>>>
>>>>>> I now have a new image with Seaside 3 installed, however when I run
>>>>>> the follow :-
>>>>>> Installer ss project: 'SqueakDBX'; install: 'SqueakDBXPharoLoader'.
>>>>>> SqueakDBXPharoLoader loadGlorpDBX
>>>>>>
>>>>>> This package depends on the following classes:
>>>>>>   PGConnection
>>>>>> You must resolve these dependencies before you will be able to load
>>>>>> these definitions:
>>>>>>   PGConnection classSide>>buildDefaultFieldConverters
>>>>>>   PGConnection classSide>>buildStateTransitionTable
>>>>>>
>>>>>> Do I need to install the Postgres driver before I do this? I thought
>>>>>> it was part of the GlorpDBX install.
>>>>>>
>>>>>
>>>>> Yeah, I know :(
>>>>> It is difficult to explain but there is some places of Glorp which
>>>>> still reference to PGConnection. However, it is not used. Don't worry. Do a
>>>>> "proceed" and everything will be ok.
>>>>>
>>>>
>>>> Ok. I found the problem. It's time to restrucutre some packages about
>>>> Glorp.
>>>>
>>>>
>>>>
>>>>> I will then try to see how to fix this.
>>>>>
>>>>> what happened to SqueakDBX tests and the amount of connections? did it
>>>>> work my commit ?
>>>>>
>>>>> Here is a summary of the things we did to GLorp and how to run GlorpDBX
>>>>> tests:
>>>>>
>>>>> http://squeakdbx.smallworks.com.ar/GLORP integration
>>>>>
>>>>> Ok, it was a secret that webpage. It is our own website with seaside
>>>>> and pier to replace the swiki :)   We will then do the public ANN hahaha.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Sep 24, 2009 at 21:16, Mariano Martinez Peck <
>>>>>> marianopeck at gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Sep 24, 2009 at 10:12 PM, John Toohey <jt at parspro.com>wrote:
>>>>>>>
>>>>>>>> I am running the OpenDBX-Core tests both from the TestRunner and the
>>>>>>>> OBPackageBrowser. The tests run successfully until my DB runs out of
>>>>>>>> connections. Latest Pharo, and latest GlorpDBX installed.
>>>>>>>>
>>>>>>>>
>>>>>>> John: I have just noticed that a lot of SqueakDBX tests don't release
>>>>>>> the DB connections, as you guessed. I have just commit. can you please test
>>>>>>> it and let me know ? of course, you must first reboot or kill all the active
>>>>>>> connections ;)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> "Name: OpenDBX-Core-Mariano.230
>>>>>>> Author: Mariano
>>>>>>> Time: 24 September 2009, 10:15:03 pm
>>>>>>> UUID: 19ce8340-3070-4495-a21d-cbe2b63aca0e
>>>>>>> Ancestors: OpenDBX-Core-HMC.229
>>>>>>>
>>>>>>> There were a lot of SqueakDBX tests that don't release the connection
>>>>>>> after testing. So, this can result in a "Too many connections error". Now,
>>>>>>> all tests release connections."
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Sep 24, 2009 at 20:52, Mariano Martinez Peck <
>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Sep 24, 2009 at 3:13 PM, John Toohey <jt at parspro.com>wrote:
>>>>>>>>>
>>>>>>>>>> Okay, I've installed SqueakGlorp into my existing image, and added
>>>>>>>>>> the symlink to the VM for openDBX. I can get up to 44 tests to pass, but it
>>>>>>>>>> seems that the tests are not releasing their DB connections, so after a
>>>>>>>>>> while the rest fail with a "Too many connections error"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> These tests you are talking about are SqueakDBX tests or Glorp
>>>>>>>>> tests when using SqueakDBX as the driver ?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Is this how it should be for those tests? I am just selecting the
>>>>>>>>>> test package and selecting "run tests".
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> I need to know which tests are you running, if OpenDBX-Core-Tests
>>>>>>>>> or GlorpTest. Anyway, tests should release connections. If this is not done,
>>>>>>>>> so we have a bug in our tests.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Sep 24, 2009 at 12:24, Mariano Martinez Peck <
>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Sep 24, 2009 at 3:06 PM, John Toohey <jt at parspro.com>wrote:
>>>>>>>>>>>
>>>>>>>>>>>> - I've managed to build it on a VMWare VM running Ubunto, and
>>>>>>>>>>>> using the --disable-utils switch, I've built it on OSX also. However on both
>>>>>>>>>>>> systems when I run the test suite I see this :-
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Excellent news!!! I tell you: there is an utility called odbx-sql
>>>>>>>>>>> that let you send queries trough OpenDBX. However, that utility requires
>>>>>>>>>>> external libraries which seem to have problems, at least in Windows. So,
>>>>>>>>>>> when we compile in Windows, we must disable that utility. But remember this
>>>>>>>>>>> is an utility, not OpenDBX core or feature. It is not important. I didn't
>>>>>>>>>>> know it has problems also with MacOS, so I will update the webpage. Thanks
>>>>>>>>>>> for the testing!!!!
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> `--> ./odbxtest -b pgsql -h localhost -p 5432 -d juliet -u
>>>>>>>>>>>> postgres -w postgres
>>>>>>>>>>>>     ODBX_CAP_BASIC: 1
>>>>>>>>>>>>     ODBX_CAP_LO: 0
>>>>>>>>>>>>     ODBX_OPT_API_VERSION: 10200
>>>>>>>>>>>>     ODBX_OPT_THREAD_SAFE: 1
>>>>>>>>>>>>     ODBX_OPT_TLS: 1
>>>>>>>>>>>>     ODBX_OPT_CONNECT_TIMEOUT: 1 (using)
>>>>>>>>>>>>     ODBX_OPT_MULTI_STATEMENTS: 1 (using)
>>>>>>>>>>>>     ODBX_OPT_PAGED_RESULTS: 0
>>>>>>>>>>>>     ODBX_OPT_COMPRESS: 0
>>>>>>>>>>>>     ODBX_CAP_BASIC: 1
>>>>>>>>>>>>     ODBX_CAP_LO: 0
>>>>>>>>>>>>     ODBX_OPT_API_VERSION: 10200
>>>>>>>>>>>>     ODBX_OPT_THREAD_SAFE: 1
>>>>>>>>>>>>     ODBX_OPT_TLS: 1
>>>>>>>>>>>>     ODBX_OPT_CONNECT_TIMEOUT: 1 (using)
>>>>>>>>>>>>     ODBX_OPT_MULTI_STATEMENTS: 1 (using)
>>>>>>>>>>>>     ODBX_OPT_PAGED_RESULTS: 0
>>>>>>>>>>>>     ODBX_OPT_COMPRESS: 0
>>>>>>>>>>>> WARNING:  nonstandard use of \\ in a string literal
>>>>>>>>>>>> LINE 1: SELECT * FROM odbxtest WHERE col = 'a''''\\''b'
>>>>>>>>>>>>                                            ^
>>>>>>>>>>>> HINT:  Use the escape string syntax for backslashes, e.g.,
>>>>>>>>>>>> E'\\'.
>>>>>>>>>>>> Error in odbx_result(): ERROR:  relation "odbxtest" does not
>>>>>>>>>>>> exist
>>>>>>>>>>>>
>>>>>>>>>>>> Error in odbx_result(): ERROR:  relation "odbxtest" does not
>>>>>>>>>>>> exist
>>>>>>>>>>>>
>>>>>>>>>>>> Not sure if this means there is a problem with the build (I
>>>>>>>>>>>> downloaded to latest one) or a problem with the test suite.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> As you guessed this seems to be a problem with the test suit, but
>>>>>>>>>>> the build is seems to be perfect. I will send this part to OpenDBX mailing
>>>>>>>>>>> list and see if I receive some help. Thanks for the report.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> In order to continue and install GlorpDBX into my Pharo image,
>>>>>>>>>>>> do I need to build a new image, as my current one already has Pharo-Glorp
>>>>>>>>>>>> installed. I've never figured out how to uninstall packages in Smalltalk.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Yeah. Me neither :(
>>>>>>>>>>>
>>>>>>>>>>> But, what you can do is install just SqueakDBX in that image and
>>>>>>>>>>> run the SqueakDBX tests, using PostgreSQL to see if everything is ok. You
>>>>>>>>>>> should have all green tests. If you get this, I would really appreciate if
>>>>>>>>>>> you can make a binary for MacOS :)
>>>>>>>>>>>
>>>>>>>>>>> Then, you can take a new image and install GlorpDBX as explained
>>>>>>>>>>> in the wiki.  Most of the tests should be green. I say "most" because there
>>>>>>>>>>> are some that fails because of what I told you that we don't support large
>>>>>>>>>>> database fields.
>>>>>>>>>>>
>>>>>>>>>>> Best,
>>>>>>>>>>>
>>>>>>>>>>> Mariano
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Sep 24, 2009 at 11:15, Mariano Martinez Peck <
>>>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Sep 24, 2009 at 1:59 PM, John Toohey <jt at parspro.com>wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm currently trying to build openDBX on OSX. I've finally
>>>>>>>>>>>>>> found the postgres client libs and include files, and I've run ./configure
>>>>>>>>>>>>>> -with-backends="pgsql", but when I run make I get this error :-
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Excellent you are giving SqueakDBX at least a try. The real
>>>>>>>>>>>>> thing is this: The squeakDBX team is composed by 4 people. Only one has a
>>>>>>>>>>>>> Mac and he is very busy with his work. I have ALL databases working on Linux
>>>>>>>>>>>>> and Windows. And I have also prepared binaries for that because I can (dlls,
>>>>>>>>>>>>> .deb and .rpm). But I cannot do it with Mac because I don't have a mac and I
>>>>>>>>>>>>> don't know how binaries work on Mac. If you make it work, I would really
>>>>>>>>>>>>> love you help me generating the binaries so that I can update them to
>>>>>>>>>>>>> OpenDBX website.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Which OpenDBX version are you trying to compile? You should try
>>>>>>>>>>>>> 1.4.3.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Can you try configuring this way please ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> ./configure --disable-utils --with-backends="pgsql"
>>>>>>>>>>>>>
>>>>>>>>>>>>> If it works, I then explain you why that :)
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Making all in po
>>>>>>>>>>>>>> g++ -DHAVE_CONFIG_H -I. -I.. -I../lib
>>>>>>>>>>>>>> -DLOCALEDIR=\"/usr/local/share/locale\"
>>>>>>>>>>>>>> -DKEYWORDFILE=\"/usr/local/share/opendbx/keywords\"
>>>>>>>>>>>>>> -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-argmap.o -MD -MP -MF
>>>>>>>>>>>>>> .deps/odbx_sql-argmap.Tpo -c -o odbx_sql-argmap.o `test -f 'argmap.cpp' ||
>>>>>>>>>>>>>> echo './'`argmap.cpp
>>>>>>>>>>>>>> mv -f .deps/odbx_sql-argmap.Tpo .deps/odbx_sql-argmap.Po
>>>>>>>>>>>>>> g++ -DHAVE_CONFIG_H -I. -I.. -I../lib
>>>>>>>>>>>>>> -DLOCALEDIR=\"/usr/local/share/locale\"
>>>>>>>>>>>>>> -DKEYWORDFILE=\"/usr/local/share/opendbx/keywords\"
>>>>>>>>>>>>>> -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-commands.o -MD -MP
>>>>>>>>>>>>>> -MF .deps/odbx_sql-commands.Tpo -c -o odbx_sql-commands.o `test -f
>>>>>>>>>>>>>> 'commands.cpp' || echo './'`commands.cpp
>>>>>>>>>>>>>> mv -f .deps/odbx_sql-commands.Tpo .deps/odbx_sql-commands.Po
>>>>>>>>>>>>>> g++ -DHAVE_CONFIG_H -I. -I.. -I../lib
>>>>>>>>>>>>>> -DLOCALEDIR=\"/usr/local/share/locale\"
>>>>>>>>>>>>>> -DKEYWORDFILE=\"/usr/local/share/opendbx/keywords\"
>>>>>>>>>>>>>> -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-completion.o -MD -MP
>>>>>>>>>>>>>> -MF .deps/odbx_sql-completion.Tpo -c -o odbx_sql-completion.o `test -f
>>>>>>>>>>>>>> 'completion.cpp' || echo './'`completion.cpp
>>>>>>>>>>>>>> mv -f .deps/odbx_sql-completion.Tpo
>>>>>>>>>>>>>> .deps/odbx_sql-completion.Po
>>>>>>>>>>>>>> g++ -DHAVE_CONFIG_H -I. -I.. -I../lib
>>>>>>>>>>>>>> -DLOCALEDIR=\"/usr/local/share/locale\"
>>>>>>>>>>>>>> -DKEYWORDFILE=\"/usr/local/share/opendbx/keywords\"
>>>>>>>>>>>>>> -I/opt/local/include/postgresql83  -g -O2 -MT odbx_sql-odbx-sql.o -MD -MP
>>>>>>>>>>>>>> -MF .deps/odbx_sql-odbx-sql.Tpo -c -o odbx_sql-odbx-sql.o `test -f
>>>>>>>>>>>>>> 'odbx-sql.cpp' || echo './'`odbx-sql.cpp
>>>>>>>>>>>>>> odbx-sql.cpp: In function 'int main(int, char**)':
>>>>>>>>>>>>>> odbx-sql.cpp:228: error: invalid conversion from 'char*
>>>>>>>>>>>>>> (*)(const char*, int)' to 'int (*)(const char*, int)'
>>>>>>>>>>>>>> make[3]: *** [odbx_sql-odbx-sql.o] Error 1
>>>>>>>>>>>>>> make[2]: *** [all-recursive] Error 1
>>>>>>>>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>>>>>>>>> make: *** [all] Error 2
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Do you know of any pre-built binaries that will work on OSX?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I don't know, but I would love to have them!!!
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 23:09, Mariano Martinez Peck <
>>>>>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 11:27 PM, John Toohey <
>>>>>>>>>>>>>>> jt at parspro.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hey,
>>>>>>>>>>>>>>>> Thanks for looking into this for me. I'm just using Pharo as
>>>>>>>>>>>>>>>> my app is using the beta of Seaside 3.0. I'm going to do as you suggested
>>>>>>>>>>>>>>>> and put some debug statements in PGConnection, and see where that leads.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Ok, let us know what the problem was if you find it :)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Is it a lot of changes from me to switch to DBX on Pharo?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> No. Your application shouldn't have any changes. You
>>>>>>>>>>>>>>> application will use just Glorp. But in this case Glorp won't use the native
>>>>>>>>>>>>>>> PostgreSQL driver, but SqueakDBX with PostgreSQL.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I assume there are no changes in my Glorp code, but what
>>>>>>>>>>>>>>>> else do I need to do.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The only thing you must do is:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> - Install the PostgreSQL client library (if you don't have it
>>>>>>>>>>>>>>> already installed).
>>>>>>>>>>>>>>> - Compile or Install (if you are in Linux you can use the
>>>>>>>>>>>>>>> .rpm or .deb) OpenDBX with PostgreSQL,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> You can read how to do it here:
>>>>>>>>>>>>>>> http://wiki.squeak.org/squeak/6129
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> You must do it only once. Once this is done, everything is
>>>>>>>>>>>>>>> easy and you can take advantage of all the SqueakDBX features (
>>>>>>>>>>>>>>> http://wiki.squeak.org/squeak/6106). OpenDBX works perfect
>>>>>>>>>>>>>>> with PostgreSQL in Linux, Mac and Windows. We have also have GlorpDBX
>>>>>>>>>>>>>>> working with SqueakDBX and PostgreSQL and it is very easy to install:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> http://wiki.squeak.org/squeak/6130    (where it says
>>>>>>>>>>>>>>> GlorpDBX).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The only limitation we have right now is that we don't
>>>>>>>>>>>>>>> support large objects (blob, clob, etc) yet.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> If you try it and have any problem, please, let us know!!!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I develop on OSX and deploy to Linux for production.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> No problem.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Mariano
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 21:03, Mariano Martinez Peck <
>>>>>>>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I was thinking if you have the problem in Squeak also or
>>>>>>>>>>>>>>>>> just Pharo ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 8:12 PM, Mariano Martinez Peck <
>>>>>>>>>>>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wed, Sep 23, 2009 at 8:25 PM, John Toohey <
>>>>>>>>>>>>>>>>>> jt at parspro.com> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi John! This list is SqueakDBX related, so perhaps I am
>>>>>>>>>>>>>>>>>> not the best one to help you. I just make Glorp and PostgreSQL native driver
>>>>>>>>>>>>>>>>>> to work on Pharo. Actually, the only thing I did is to have all green tests.
>>>>>>>>>>>>>>>>>> No more than that. I don't have a Glorp + native postgresql driver
>>>>>>>>>>>>>>>>>> application. Anyway, I will try to help you ;)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> My app frequently losses the connection the Postgres, and
>>>>>>>>>>>>>>>>>>> throws a "Connection not Valid" exception. Unfortunately on the latest Pharo
>>>>>>>>>>>>>>>>>>> images, there is a bug that causes this to write the stack trace to disk,
>>>>>>>>>>>>>>>>>>> and then the image locks up.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> you meat there is a Pharo bug that when there is a
>>>>>>>>>>>>>>>>>> walkback and the stacktrace is written to disk, it freezes the image ?  is
>>>>>>>>>>>>>>>>>> there a bug report of that ? Could you reproduce that ?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>  I think the socket on the PGConnection class is being
>>>>>>>>>>>>>>>>>>> closed or times out, and I need to know is there someway that I can debug
>>>>>>>>>>>>>>>>>>> this or if its a know issue.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Yes, that's probably the case. I can see in code that the
>>>>>>>>>>>>>>>>>> error 'Connection not valid' when the connection is not connected or if it
>>>>>>>>>>>>>>>>>> is nil. If you see your stacktrace, you can see that the socket variable is
>>>>>>>>>>>>>>>>>> nil. That's why the error. Now, the question is why the socket is nil ?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I looked for the code to see where can be the socket set
>>>>>>>>>>>>>>>>>> to nil, and I found some places:  PGConnection stTerminalError:  ,
>>>>>>>>>>>>>>>>>> stTerminated
>>>>>>>>>>>>>>>>>> Perhaps you can put a "self halt" in those methods and
>>>>>>>>>>>>>>>>>> then debug them.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> The PGConnection seems to do a lot of "self log: 'XXXX'".
>>>>>>>>>>>>>>>>>> So, perhaps you can have a Transcript opened to see that.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Finally, why don't you give a try to GlorpDBX + SqueakDBX
>>>>>>>>>>>>>>>>>> ?   It works pretty well and has good performance.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I hope this helps. Remember I am not a native postgresql
>>>>>>>>>>>>>>>>>> driver guru. Perhaps you can ask also in squeak-dev or pharo mailing lists.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Mariano
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>  I am using the latest Pharo image, with the latest
>>>>>>>>>>>>>>>>>>> Pharo-Glorp package, and the newest Postgres driver. I think this is the
>>>>>>>>>>>>>>>>>>> relevant part of the stack trace :-
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> PGConnection(Object)>>error:
>>>>>>>>>>>>>>>>>>> Receiver: a PGConnection
>>>>>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>>>>>  aString: 'Connection not valid'
>>>>>>>>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>>>>>>>>  trace: 0
>>>>>>>>>>>>>>>>>>> state: #Terminated
>>>>>>>>>>>>>>>>>>>  events: an OrderedCollection()
>>>>>>>>>>>>>>>>>>> socket: nil
>>>>>>>>>>>>>>>>>>>  readBuffer: 'PblankT id ��name �$password
>>>>>>>>>>>>>>>>>>> �6client...etc...
>>>>>>>>>>>>>>>>>>> readIndex: 384
>>>>>>>>>>>>>>>>>>>  lastReadIndex: 384
>>>>>>>>>>>>>>>>>>> writeBuffer: nil
>>>>>>>>>>>>>>>>>>>  processId: 28132
>>>>>>>>>>>>>>>>>>> secretKey: 1795051851
>>>>>>>>>>>>>>>>>>>  sql: 'SELECT t1.id, t1.name, t1.password, t1.client,
>>>>>>>>>>>>>>>>>>> t1.role, t1.mobile, t1.ema...etc...
>>>>>>>>>>>>>>>>>>>  functionCallOid: nil
>>>>>>>>>>>>>>>>>>> functionCallArgs: nil
>>>>>>>>>>>>>>>>>>>  copyStream: nil
>>>>>>>>>>>>>>>>>>> result: a PGResult
>>>>>>>>>>>>>>>>>>>  connectionArgs: a PGConnectionArgs
>>>>>>>>>>>>>>>>>>> notificationSubscribers: nil
>>>>>>>>>>>>>>>>>>>  fieldConverters: an IdentityDictionary(16->[closure] in
>>>>>>>>>>>>>>>>>>> PGConnection class>>boo...etc...
>>>>>>>>>>>>>>>>>>>  sqlStringConverter: [closure] in
>>>>>>>>>>>>>>>>>>> PGConnection>>clientEncoding:
>>>>>>>>>>>>>>>>>>> receivingTextConverter: an UTF8TextConverter
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> PGConnection>>execute:
>>>>>>>>>>>>>>>>>>> Receiver: a PGConnection
>>>>>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>>>>>  sqlString: 'SELECT t1.id, t1.typename, t1.description,
>>>>>>>>>>>>>>>>>>> t1.selectioncount, t1.pr...etc...
>>>>>>>>>>>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>>>>>>>>>>> trace: 0
>>>>>>>>>>>>>>>>>>>  state: #Terminated
>>>>>>>>>>>>>>>>>>> events: an OrderedCollection()
>>>>>>>>>>>>>>>>>>>  socket: nil
>>>>>>>>>>>>>>>>>>> readBuffer: 'PblankT id ��name �$password
>>>>>>>>>>>>>>>>>>> �6client...etc...
>>>>>>>>>>>>>>>>>>>  readIndex: 384
>>>>>>>>>>>>>>>>>>> lastReadIndex: 384
>>>>>>>>>>>>>>>>>>>  writeBuffer: nil
>>>>>>>>>>>>>>>>>>> processId: 28132
>>>>>>>>>>>>>>>>>>>  secretKey: 1795051851
>>>>>>>>>>>>>>>>>>> sql: 'SELECT t1.id, t1.name, t1.password, t1.client,
>>>>>>>>>>>>>>>>>>> t1.role, t1.mobile, t1.ema...etc...
>>>>>>>>>>>>>>>>>>>  functionCallOid: nil
>>>>>>>>>>>>>>>>>>> functionCallArgs: nil
>>>>>>>>>>>>>>>>>>>  copyStream: nil
>>>>>>>>>>>>>>>>>>> result: a PGResult
>>>>>>>>>>>>>>>>>>>  connectionArgs: a PGConnectionArgs
>>>>>>>>>>>>>>>>>>> notificationSubscribers: nil
>>>>>>>>>>>>>>>>>>>  fieldConverters: an IdentityDictionary(16->[closure] in
>>>>>>>>>>>>>>>>>>> PGConnection class>>boo...etc...
>>>>>>>>>>>>>>>>>>>  sqlStringConverter: [closure] in
>>>>>>>>>>>>>>>>>>> PGConnection>>clientEncoding:
>>>>>>>>>>>>>>>>>>> receivingTextConverter: an UTF8TextConverter
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> SqueakDatabaseAccessor>>basicExecuteSQLString:
>>>>>>>>>>>>>>>>>>> Receiver: a SqueakDatabaseAccessor
>>>>>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>>>>>  aString: 'SELECT t1.id, t1.typename, t1.description,
>>>>>>>>>>>>>>>>>>> t1.selectioncount, t1.prio...etc...
>>>>>>>>>>>>>>>>>>>  result: nil
>>>>>>>>>>>>>>>>>>> rowCollection: nil
>>>>>>>>>>>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>>>>>>>>>>> connection: a PGConnection
>>>>>>>>>>>>>>>>>>>  currentLogin: a Login(a PostgreSQLPlatform, 'postgres',
>>>>>>>>>>>>>>>>>>> '847129', 'localhost_ju...etc...
>>>>>>>>>>>>>>>>>>>  logging: true
>>>>>>>>>>>>>>>>>>> reusePreparedStatements: nil
>>>>>>>>>>>>>>>>>>>  deniedCommands: nil
>>>>>>>>>>>>>>>>>>> mutex: a Semaphore()
>>>>>>>>>>>>>>>>>>>  dependents: nil
>>>>>>>>>>>>>>>>>>> isInTransaction: false
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Any help would be appreciated, as this is stopping me
>>>>>>>>>>>>>>>>>>> from going to a Beta test at the moment.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>> -JT
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>>>> SqueakDBX mailing list
>>>>>>>>>>>>>>>>>>> SqueakDBX at lists.squeakfoundation.org
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> -JT
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> -JT
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> -JT
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> -JT
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> SqueakDBX mailing list
>>>>>>>>> SqueakDBX at lists.squeakfoundation.org
>>>>>>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> -JT
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> SqueakDBX mailing list
>>>>>>> SqueakDBX at lists.squeakfoundation.org
>>>>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> -JT
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> SqueakDBX mailing list
>>>> SqueakDBX at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>
>>>>
>>>
>>>
>>> --
>>> -JT
>>>
>>>
>>>
>>
>>
>> --
>> -JT
>>
>>
>>
>
> _______________________________________________
> SqueakDBX mailing list
> SqueakDBX at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>
>


-- 
-JT
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeakdbx/attachments/20090925/e7fab2a8/attachment.htm


More information about the SqueakDBX mailing list