[SqueakDBX] Fwd: [Pharo-project] [BUG]OpenDBXMacOSX(Object)>>error:

Mariano Martinez Peck marianopeck at gmail.com
Fri Aug 21 13:23:26 UTC 2009


---------- Forwarded message ----------
From: Mariano Martinez Peck <marianopeck at gmail.com>
Date: Fri, Aug 21, 2009 at 12:23 PM
Subject: Re: [Pharo-project] [BUG]OpenDBXMacOSX(Object)>>error:
To: Pharo-project at lists.gforge.inria.fr




On Fri, Aug 21, 2009 at 8:16 AM, François Tanguy
<francois.tanguy at gmail.com>wrote:

> Hello,
>
> it may be a noobie question but I tried to execute the GlorpTest and
> it failed in one case.
>
> If the DBXDriver is used, the tests failed. (See the stacktrace below)
> | tr |
> SqueakDatabaseAccessor DefaultDriver: SqueakDBXDriver.
> tr := TestRunner new.
> ToolBuilder open: tr.
> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true;
> selectAllClasses; runAll.
>
> But the native driver is used, the tests passed.
> | tr |
> SqueakDatabaseAccessor DefaultDriver: NativePostgresDriver.
> tr := TestRunner new.
> ToolBuilder open: tr.
> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true;
> selectAllClasses; runAll.
>
> I thought the DBXDriver could be used to manage postgresql database,
> no ?


Yes, SqueakDBX supports PostgreSQL but also many others backends. But in
contrary to the native postgresql driver which is all in smalltalk,
SqueakDBX delegates to an external library written in C called OpenDBX.

So, when using SqueakDBX you must install OpenDBX and the client library of
your database (the error you had is because SqueakDBX doesn't find OpenDBX
in your system). Unfortunately this solution requires a bit more time of
configuring than using the native driver but we can use a lot of databases
and have better performance.

I suggest you read the link: http://wiki.squeak.org/squeak/6052
And more in deep this link: http://wiki.squeak.org/squeak/6129

For Linux and Windows there are also binaries, but in the case of Mac you
must compile.

Finally there is a blog someone write to use PostgreSQL with SqueakDBX in
Mac OS:
http://dreamsofascorpion.blogspot.com/2008/05/using-opendbx-with-squeak.html

To avoid noise in Pharo mailing list remember there is our own mailing list
here:
http://wiki.squeak.org/squeak/6052

If you have more questions, just ask :)

Best,

Mariano



>
>
> François
>
> ps : I am using pharo1.0-10418-BETAweb09.08.2 and I changed the login
> information in the correct methods (defaultPostgreSQLLocalLogin and
> buildDefaultConnectionArgs).
> 21 August 2009 11:13:22 am
>
> VM: Mac OS - intel - 1058 - Squeak3.8.1 of '28 Aug 2006' [latest
> update: #6747] Squeak VM 4.1.1b2
> Image: Pharo1.0beta [Latest update: #10418]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Users/paco/Desktop/pharo1.0-10418-BETAweb09.08.2
> Trusted Dir /foobar/tooBar/forSqueak/bogus
> Untrusted Dir /Users/paco/Library/Preferences/Squeak/Internet/My Squeak
>
> OpenDBXMacOSX(Object)>>error:
>        Receiver: an OpenDBXMacOSX
>        Arguments and temporary variables:
>                aString:        'Unable to find function address'
>        Receiver's instance variables:
> an OpenDBXMacOSX
>
> OpenDBXMacOSX(Object)>>externalCallFailed
>        Receiver: an OpenDBXMacOSX
>        Arguments and temporary variables:
>                errCode:        13
>        Receiver's instance variables:
> an OpenDBXMacOSX
>
> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
>        Receiver: an OpenDBXMacOSX
>        Arguments and temporary variables:
>                handle:         a WordArray(0)
>                backend:        'pgsql'
>                host:   '127.0.0.1'
>                port:   '5432'
>        Receiver's instance variables:
> an OpenDBXMacOSX
>
> DBXPostgresPlatform(DBXPlatform)>>createConnection:
>        Receiver: a DBXPostgresPlatform
>        Arguments and temporary variables:
>                aConnection:    a DBXConnection
>                err:    nil
>                handleArray:    a WordArray(0)
>                handle:         nil
>        Receiver's instance variables:
> a DBXPostgresPlatform
>
> DBXConnection>>connect
>        Receiver: a DBXConnection
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                platform:       a DBXPostgresPlatform
>                settings:       a DBXConnectionSettings
>                handle:         nil
>                open:   a ValueHolder
>                connected:      a ValueHolder
>                result:         nil
>
> SqueakDBXDriver>>connect:
>        Receiver: a SqueakDBXDriver
>        Arguments and temporary variables:
>                aLogin:         a Login(a PostgreSQLPlatform, 'postgres',
> 'vorevoca',
> '127.0.0.1_glorp'...etc...
>        Receiver's instance variables:
>                connection:     a DBXConnection
>                database:       nil
>
> [] in SqueakDatabaseAccessor>>loginIfError:
>        Receiver: a SqueakDatabaseAccessor
>        Arguments and temporary variables:
> <<error during printing>
>        Receiver's instance variables:
>                connection:     nil
>                currentLogin:   a Login(a PostgreSQLPlatform, 'postgres',
> 'vorevoca',
> '127.0.0.1_...etc...
>                logging:        nil
>                reusePreparedStatements:        nil
>                deniedCommands:         nil
>                mutex:  a Semaphore()
>                dependents:     nil
>                isInTransaction:        false
>                databaseDriver:         a SqueakDBXDriver
>
> BlockClosure>>on:do:
>        Receiver: [closure] in SqueakDatabaseAccessor>>loginIfError:
>        Arguments and temporary variables:
>                exception:      Error
>                handlerAction:  [closure] in
> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>                handlerActive:  false
>        Receiver's instance variables:
>                outerContext:   SqueakDatabaseAccessor>>loginIfError:
>                startpc:        60
>                numArgs:        0
>
> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError:
>        Receiver: a SqueakDatabaseAccessor
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> SqueakDatabaseAccessor>>loginIfError:
>                errorBlock:     [closure] in
> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>        Receiver's instance variables:
>                connection:     nil
>                currentLogin:   a Login(a PostgreSQLPlatform, 'postgres',
> 'vorevoca',
> '127.0.0.1_...etc...
>                logging:        nil
>                reusePreparedStatements:        nil
>                deniedCommands:         nil
>                mutex:  a Semaphore()
>                dependents:     nil
>                isInTransaction:        false
>                databaseDriver:         a SqueakDBXDriver
>
> SqueakDatabaseAccessor>>loginIfError:
>        Receiver: a SqueakDatabaseAccessor
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>        Receiver's instance variables:
>                connection:     nil
>                currentLogin:   a Login(a PostgreSQLPlatform, 'postgres',
> 'vorevoca',
> '127.0.0.1_...etc...
>                logging:        nil
>                reusePreparedStatements:        nil
>                deniedCommands:         nil
>                mutex:  a Semaphore()
>                dependents:     nil
>                isInTransaction:        false
>                databaseDriver:         a SqueakDBXDriver
>
> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>        Receiver: a SqueakDatabaseAccessor
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                connection:     nil
>                currentLogin:   a Login(a PostgreSQLPlatform, 'postgres',
> 'vorevoca',
> '127.0.0.1_...etc...
>                logging:        nil
>                reusePreparedStatements:        nil
>                deniedCommands:         nil
>                mutex:  a Semaphore()
>                dependents:     nil
>                isInTransaction:        false
>                databaseDriver:         a SqueakDBXDriver
>
> GlorpDatabaseLoginResource>>setUp
>        Receiver: GlorpDatabaseLoginResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                name:   nil
>                description:    nil
>                accessor:       a SqueakDatabaseAccessor
>                login:  a Login(a PostgreSQLPlatform, 'postgres',
> 'vorevoca',
> '127.0.0.1_glorp')...etc...
>
> GlorpDatabaseLoginResource(TestResource)>>initialize
>        Receiver: GlorpDatabaseLoginResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                name:   nil
>                description:    nil
>                accessor:       a SqueakDatabaseAccessor
>                login:  a Login(a PostgreSQLPlatform, 'postgres',
> 'vorevoca',
> '127.0.0.1_glorp')...etc...
>
> GlorpDatabaseLoginResource class(Behavior)>>new
>        Receiver: GlorpDatabaseLoginResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                superclass:     TestResource
>                methodDict:     a MethodDictionary(#accessor->a
> CompiledMethod (1052)
> #accessor:->a...etc...
>                format:         138
>                instanceVariables:      #('accessor' 'login')
>                organization:   ('accessing' accessor accessor: login login:
> platform)
> ('initiali...etc...
>                subclasses:     nil
>                name:   #GlorpDatabaseLoginResource
>                classPool:      a Dictionary(#DefaultLogin->a Login(a
> PostgreSQLPlatform, 'postgres'...etc...
>                sharedPools:    nil
>                environment:    Smalltalk
>                category:       #'OpenDBX-Glorp-Core-Test'
>                traitComposition:       nil
>                localSelectors:         nil
>                current:        nil
>
> GlorpDatabaseLoginResource class(TestResource class)>>current
>        Receiver: GlorpDatabaseLoginResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                superclass:     TestResource
>                methodDict:     a MethodDictionary(#accessor->a
> CompiledMethod (1052)
> #accessor:->a...etc...
>                format:         138
>                instanceVariables:      #('accessor' 'login')
>                organization:   ('accessing' accessor accessor: login login:
> platform)
> ('initiali...etc...
>                subclasses:     nil
>                name:   #GlorpDatabaseLoginResource
>                classPool:      a Dictionary(#DefaultLogin->a Login(a
> PostgreSQLPlatform, 'postgres'...etc...
>                sharedPools:    nil
>                environment:    Smalltalk
>                category:       #'OpenDBX-Glorp-Core-Test'
>                traitComposition:       nil
>                localSelectors:         nil
>                current:        nil
>
> GlorpDemoTablePopulatorResource>>setUp
>        Receiver: GlorpDemoTablePopulatorResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                name:   nil
>                description:    nil
>                login:  nil
>
> GlorpDemoTablePopulatorResource(TestResource)>>initialize
>        Receiver: GlorpDemoTablePopulatorResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                name:   nil
>                description:    nil
>                login:  nil
>
> GlorpDemoTablePopulatorResource class(Behavior)>>new
>        Receiver: GlorpDemoTablePopulatorResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                superclass:     TestResource
>                methodDict:     a MethodDictionary(#populateStuffTable->a
> CompiledMethod (555) #set...etc...
>                format:         136
>                instanceVariables:      #('login')
>                organization:   ('setup' populateStuffTable setUp)
> ('*glorpTestPostload-override'...etc...
>                subclasses:     nil
>                name:   #GlorpDemoTablePopulatorResource
>                classPool:      a Dictionary(#NeedsSetup->false )
>                sharedPools:    nil
>                environment:    Smalltalk
>                category:       #GlorpTest
>                traitComposition:       nil
>                localSelectors:         nil
>                current:        nil
>
> GlorpDemoTablePopulatorResource class(TestResource class)>>current
>        Receiver: GlorpDemoTablePopulatorResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                superclass:     TestResource
>                methodDict:     a MethodDictionary(#populateStuffTable->a
> CompiledMethod (555) #set...etc...
>                format:         136
>                instanceVariables:      #('login')
>                organization:   ('setup' populateStuffTable setUp)
> ('*glorpTestPostload-override'...etc...
>                subclasses:     nil
>                name:   #GlorpDemoTablePopulatorResource
>                classPool:      a Dictionary(#NeedsSetup->false )
>                sharedPools:    nil
>                environment:    Smalltalk
>                category:       #GlorpTest
>                traitComposition:       nil
>                localSelectors:         nil
>                current:        nil
>
> GlorpSessionResource>>glorpTestsSystem
>        Receiver: GlorpSessionResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                name:   nil
>                description:    nil
>                session:        nil
>
> GlorpSessionResource>>setUp
>        Receiver: GlorpSessionResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                name:   nil
>                description:    nil
>                session:        nil
>
> GlorpSessionResource(TestResource)>>initialize
>        Receiver: GlorpSessionResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                name:   nil
>                description:    nil
>                session:        nil
>
> GlorpSessionResource class(Behavior)>>new
>        Receiver: GlorpSessionResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                superclass:     TestResource
>                methodDict:     a MethodDictionary(#glorpTestsSystem->a
> CompiledMethod
> (1814) #newS...etc...
>                format:         136
>                instanceVariables:      #('session')
>                organization:   ('setup' glorpTestsSystem setUp)
> ('accessing' newSession session)...etc...
>                subclasses:     nil
>                name:   #GlorpSessionResource
>                classPool:      nil
>                sharedPools:    nil
>                environment:    Smalltalk
>                category:       #GlorpTest
>                traitComposition:       nil
>                localSelectors:         nil
>                current:        nil
>
> GlorpSessionResource class(TestResource class)>>current
>        Receiver: GlorpSessionResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                superclass:     TestResource
>                methodDict:     a MethodDictionary(#glorpTestsSystem->a
> CompiledMethod
> (1814) #newS...etc...
>                format:         136
>                instanceVariables:      #('session')
>                organization:   ('setup' glorpTestsSystem setUp)
> ('accessing' newSession session)...etc...
>                subclasses:     nil
>                name:   #GlorpSessionResource
>                classPool:      nil
>                sharedPools:    nil
>                environment:    Smalltalk
>                category:       #GlorpTest
>                traitComposition:       nil
>                localSelectors:         nil
>                current:        nil
>
> GlorpSessionResource class(TestResource class)>>isAvailable
>        Receiver: GlorpSessionResource
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                superclass:     TestResource
>                methodDict:     a MethodDictionary(#glorpTestsSystem->a
> CompiledMethod
> (1814) #newS...etc...
>                format:         136
>                instanceVariables:      #('session')
>                organization:   ('setup' glorpTestsSystem setUp)
> ('accessing' newSession session)...etc...
>                subclasses:     nil
>                name:   #GlorpSessionResource
>                classPool:      nil
>                sharedPools:    nil
>                environment:    Smalltalk
>                category:       #GlorpTest
>                traitComposition:       nil
>                localSelectors:         nil
>                current:        nil
>
> [] in TestRunner>>basicSetUpSuite:
>        Receiver: a TestRunner
>        Arguments and temporary variables:
> <<error during printing>
>        Receiver's instance variables:
>                categories:     #(#'AST-Tests'
> #'AutomaticMethodCategorizer-Tests'
> #'AutomaticMetho...etc...
>                categoriesSelected:     a Set(#GlorpTest)
>                classes:        {GlorpBreadthFirstTopologicalSortTest .
> GlorpCommandTest .
> GlorpCursor...etc...
>                classIndex:     0
>                classesSelected:        a Set(GlorpSQLPrintingTest
> GlorpDatabaseBasedTest
> GlorpManyToM...etc...
>                failedList:     #()
>                failedSelected:         nil
>                errorList:      #()
>                errorSelected:  nil
>                lastUpdate:     3428305867
>                result:         0 run, 0 passes, 0 expected failures, 0
> failures, 0 errors,
> 0 unexpecte...etc...
>                previousRun:    nil
>
> Set>>do:
>        Receiver: a Set(GlorpSessionResource GlorpDatabaseLoginResource
> GlorpDemoTablePopulatorResource)
>        Arguments and temporary variables:
>                aBlock:         [closure] in TestRunner>>basicSetUpSuite:
>                index:  2
>                each:   GlorpSessionResource
>                indexLimiT:     5
>        Receiver's instance variables:
>                tally:  3
>                array:  {nil . GlorpSessionResource .
> GlorpDatabaseLoginResource .
> GlorpDemoTabl...etc...
>
> TestRunner>>basicSetUpSuite:
>        Receiver: a TestRunner
>        Arguments and temporary variables:
>                aTestSuite:     a TestSuite
>        Receiver's instance variables:
>                categories:     #(#'AST-Tests'
> #'AutomaticMethodCategorizer-Tests'
> #'AutomaticMetho...etc...
>                categoriesSelected:     a Set(#GlorpTest)
>                classes:        {GlorpBreadthFirstTopologicalSortTest .
> GlorpCommandTest .
> GlorpCursor...etc...
>                classIndex:     0
>                classesSelected:        a Set(GlorpSQLPrintingTest
> GlorpDatabaseBasedTest
> GlorpManyToM...etc...
>                failedList:     #()
>                failedSelected:         nil
>                errorList:      #()
>                errorSelected:  nil
>                lastUpdate:     3428305867
>                result:         0 run, 0 passes, 0 expected failures, 0
> failures, 0 errors,
> 0 unexpecte...etc...
>                previousRun:    nil
>
> TestRunner>>basicRunSuite:do:
>        Receiver: a TestRunner
>        Arguments and temporary variables:
>                aTestSuite:     a TestSuite
>                aBlock:         [closure] in TestRunner>>runSuite:
>        Receiver's instance variables:
>                categories:     #(#'AST-Tests'
> #'AutomaticMethodCategorizer-Tests'
> #'AutomaticMetho...etc...
>                categoriesSelected:     a Set(#GlorpTest)
>                classes:        {GlorpBreadthFirstTopologicalSortTest .
> GlorpCommandTest .
> GlorpCursor...etc...
>                classIndex:     0
>                classesSelected:        a Set(GlorpSQLPrintingTest
> GlorpDatabaseBasedTest
> GlorpManyToM...etc...
>                failedList:     #()
>                failedSelected:         nil
>                errorList:      #()
>                errorSelected:  nil
>                lastUpdate:     3428305867
>                result:         0 run, 0 passes, 0 expected failures, 0
> failures, 0 errors,
> 0 unexpecte...etc...
>                previousRun:    nil
>
> TestRunner>>runSuite:
>        Receiver: a TestRunner
>        Arguments and temporary variables:
>                aTestSuite:     a TestSuite
>        Receiver's instance variables:
>                categories:     #(#'AST-Tests'
> #'AutomaticMethodCategorizer-Tests'
> #'AutomaticMetho...etc...
>                categoriesSelected:     a Set(#GlorpTest)
>                classes:        {GlorpBreadthFirstTopologicalSortTest .
> GlorpCommandTest .
> GlorpCursor...etc...
>                classIndex:     0
>                classesSelected:        a Set(GlorpSQLPrintingTest
> GlorpDatabaseBasedTest
> GlorpManyToM...etc...
>                failedList:     #()
>                failedSelected:         nil
>                errorList:      #()
>                errorSelected:  nil
>                lastUpdate:     3428305867
>                result:         0 run, 0 passes, 0 expected failures, 0
> failures, 0 errors,
> 0 unexpecte...etc...
>                previousRun:    nil
>
> TestRunner>>runAll
>        Receiver: a TestRunner
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                categories:     #(#'AST-Tests'
> #'AutomaticMethodCategorizer-Tests'
> #'AutomaticMetho...etc...
>                categoriesSelected:     a Set(#GlorpTest)
>                classes:        {GlorpBreadthFirstTopologicalSortTest .
> GlorpCommandTest .
> GlorpCursor...etc...
>                classIndex:     0
>                classesSelected:        a Set(GlorpSQLPrintingTest
> GlorpDatabaseBasedTest
> GlorpManyToM...etc...
>                failedList:     #()
>                failedSelected:         nil
>                errorList:      #()
>                errorSelected:  nil
>                lastUpdate:     3428305867
>                result:         0 run, 0 passes, 0 expected failures, 0
> failures, 0 errors,
> 0 unexpecte...etc...
>                previousRun:    nil
>
> UndefinedObject>>DoIt
>        Receiver: nil
>        Arguments and temporary variables:
>                tr:     a TestRunner
>        Receiver's instance variables:
> nil
>
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>        Receiver: a Compiler
>        Arguments and temporary variables:
> <<error during printing>
>        Receiver's instance variables:
>                sourceStream:   a ReadWriteStream '
> |tr |
> SqueakDatabaseAccessor DefaultDriver: S...etc...
>                requestor:      a TextMorphForShoutEditor
>                class:  UndefinedObject
>                category:       nil
>                context:        nil
>                parser:         a Parser
>
> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>        Receiver: a TextMorphForShoutEditor
>        Arguments and temporary variables:
> <<error during printing>
>        Receiver's instance variables:
>                model:  a SHWorkspace
>                paragraph:      a MultiNewParagraph
>                startBlock:     a CharacterBlock with index 201 and
> character Character
> cr and rect...etc...
>                stopBlock:      a CharacterBlock with index 201 and
> character Character
> cr and recta...etc...
>                beginTypeInBlock:       nil
>                emphasisHere:   an Array(a TextColor code: Color red)
>                initialText:    a Text for '
> |tr |
> tr := TestRunner new.
> ToolBuilder open: tr.
> tr
> ...etc...
>                selectionShowing:       false
>                otherInterval:  (403 to: 402)
>                lastParentLocation:     nil
>                morph:  a TextMorphForShout(168)
>                oldInterval:    (106 to: 105)
>                pivotBlock:     a CharacterBlock with index 200 and
> character Character
> cr and rect...etc...
>                inBackTo:       false
>
> BlockClosure>>on:do:
>        Receiver: [closure] in
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>        Arguments and temporary variables:
>                exception:      OutOfScopeNotification
>                handlerAction:  [closure] in
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateS...etc...
>                handlerActive:  true
>        Receiver's instance variables:
>                outerContext:
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>                startpc:        116
>                numArgs:        0
>
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>        Receiver: a TextMorphForShoutEditor
>        Arguments and temporary variables:
>                result:         nil
>                rcvr:   nil
>                ctxt:   nil
>        Receiver's instance variables:
>                model:  a SHWorkspace
>                paragraph:      a MultiNewParagraph
>                startBlock:     a CharacterBlock with index 201 and
> character Character
> cr and rect...etc...
>                stopBlock:      a CharacterBlock with index 201 and
> character Character
> cr and recta...etc...
>                beginTypeInBlock:       nil
>                emphasisHere:   an Array(a TextColor code: Color red)
>                initialText:    a Text for '
> |tr |
> tr := TestRunner new.
> ToolBuilder open: tr.
> tr
> ...etc...
>                selectionShowing:       false
>                otherInterval:  (403 to: 402)
>                lastParentLocation:     nil
>                morph:  a TextMorphForShout(168)
>                oldInterval:    (106 to: 105)
>                pivotBlock:     a CharacterBlock with index 200 and
> character Character
> cr and rect...etc...
>                inBackTo:       false
>
> TextMorphForShoutEditor(ParagraphEditor)>>doIt
>        Receiver: a TextMorphForShoutEditor
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                model:  a SHWorkspace
>                paragraph:      a MultiNewParagraph
>                startBlock:     a CharacterBlock with index 201 and
> character Character
> cr and rect...etc...
>                stopBlock:      a CharacterBlock with index 201 and
> character Character
> cr and recta...etc...
>                beginTypeInBlock:       nil
>                emphasisHere:   an Array(a TextColor code: Color red)
>                initialText:    a Text for '
> |tr |
> tr := TestRunner new.
> ToolBuilder open: tr.
> tr
> ...etc...
>                selectionShowing:       false
>                otherInterval:  (403 to: 402)
>                lastParentLocation:     nil
>                morph:  a TextMorphForShout(168)
>                oldInterval:    (106 to: 105)
>                pivotBlock:     a CharacterBlock with index 200 and
> character Character
> cr and rect...etc...
>                inBackTo:       false
>
> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>        Receiver: a TextMorphForShoutEditor
>        Arguments and temporary variables:
> <<error during printing>
>        Receiver's instance variables:
>                model:  a SHWorkspace
>                paragraph:      a MultiNewParagraph
>                startBlock:     a CharacterBlock with index 201 and
> character Character
> cr and rect...etc...
>                stopBlock:      a CharacterBlock with index 201 and
> character Character
> cr and recta...etc...
>                beginTypeInBlock:       nil
>                emphasisHere:   an Array(a TextColor code: Color red)
>                initialText:    a Text for '
> |tr |
> tr := TestRunner new.
> ToolBuilder open: tr.
> tr
> ...etc...
>                selectionShowing:       false
>                otherInterval:  (403 to: 402)
>                lastParentLocation:     nil
>                morph:  a TextMorphForShout(168)
>                oldInterval:    (106 to: 105)
>                pivotBlock:     a CharacterBlock with index 200 and
> character Character
> cr and rect...etc...
>                inBackTo:       false
>
> TextMorphForShoutEditor(ParagraphEditor)>>terminateAndInitializeAround:
>        Receiver: a TextMorphForShoutEditor
>        Arguments and temporary variables:
>                aBlock:         [closure] in
> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>        Receiver's instance variables:
>                model:  a SHWorkspace
>                paragraph:      a MultiNewParagraph
>                startBlock:     a CharacterBlock with index 201 and
> character Character
> cr and rect...etc...
>                stopBlock:      a CharacterBlock with index 201 and
> character Character
> cr and recta...etc...
>                beginTypeInBlock:       nil
>                emphasisHere:   an Array(a TextColor code: Color red)
>                initialText:    a Text for '
> |tr |
> tr := TestRunner new.
> ToolBuilder open: tr.
> tr
> ...etc...
>                selectionShowing:       false
>                otherInterval:  (403 to: 402)
>                lastParentLocation:     nil
>                morph:  a TextMorphForShout(168)
>                oldInterval:    (106 to: 105)
>                pivotBlock:     a CharacterBlock with index 200 and
> character Character
> cr and rect...etc...
>                inBackTo:       false
>
>
> --- The full stack ---
> OpenDBXMacOSX(Object)>>error:
> OpenDBXMacOSX(Object)>>externalCallFailed
> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
> DBXPostgresPlatform(DBXPlatform)>>createConnection:
> DBXConnection>>connect
> SqueakDBXDriver>>connect:
> [] in SqueakDatabaseAccessor>>loginIfError:
> BlockClosure>>on:do:
> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError:
> SqueakDatabaseAccessor>>loginIfError:
> SqueakDatabaseAccessor(DatabaseAccessor)>>login
> GlorpDatabaseLoginResource>>setUp
> GlorpDatabaseLoginResource(TestResource)>>initialize
> GlorpDatabaseLoginResource class(Behavior)>>new
> GlorpDatabaseLoginResource class(TestResource class)>>current
> GlorpDemoTablePopulatorResource>>setUp
> GlorpDemoTablePopulatorResource(TestResource)>>initialize
> GlorpDemoTablePopulatorResource class(Behavior)>>new
> GlorpDemoTablePopulatorResource class(TestResource class)>>current
> GlorpSessionResource>>glorpTestsSystem
> GlorpSessionResource>>setUp
> GlorpSessionResource(TestResource)>>initialize
> GlorpSessionResource class(Behavior)>>new
> GlorpSessionResource class(TestResource class)>>current
> GlorpSessionResource class(TestResource class)>>isAvailable
> [] in TestRunner>>basicSetUpSuite:
> Set>>do:
> TestRunner>>basicSetUpSuite:
> TestRunner>>basicRunSuite:do:
> TestRunner>>runSuite:
> TestRunner>>runAll
> UndefinedObject>>DoIt
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> BlockClosure>>on:do:
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> TextMorphForShoutEditor(ParagraphEditor)>>doIt
> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> TextMorphForShoutEditor(ParagraphEditor)>>terminateAndInitializeAround:
>  - - - - - - - - - - - - - - -
>                        - - - - - - - - - - - - - - - - - -
> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
> TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnKeyEvent:with:
> TextMorphForShoutEditor(ParagraphEditor)>>keystroke:
> TextMorphForShoutEditor(TextMorphEditor)>>keystroke:
> [] in [] in TextMorphForShout(TextMorph)>>keyStroke:
> TextMorphForShout(TextMorph)>>handleInteraction:
> TextMorphForShout(TextMorphForEditView)>>handleInteraction:
> [] in TextMorphForShout(TextMorph)>>keyStroke:
> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
> DEVToolSet class>>codeCompletionAround:textMorph:keyStroke:
> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
> TextMorphForShout(TextMorph)>>keyStroke:
> TextMorphForShout(TextMorphForEditView)>>keyStroke:
> TextMorphForShout(TextMorph)>>handleKeystroke:
> KeyboardEvent>>sentTo:
> TextMorphForShout(Morph)>>handleEvent:
> TextMorphForShout(Morph)>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear:
> [] in PasteUpMorph>>becomeActiveDuring:
> BlockClosure>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendKeyboardEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor:
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [] in Project class>>spawnNewProcess
> [] in BlockClosure>>newProcess
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeakdbx/attachments/20090821/b0beafd2/attachment.htm


More information about the SqueakDBX mailing list