dbxtalk working on pharo 3.0

74 views
Skip to first unread message

Tudor Girba

unread,
Feb 13, 2014, 10:26:55 AM2/13/14
to dbx...@googlegroups.com, Discusses Development of Pharo
Hi,

I just retried DBXTalk, and it now magically works!

Does anyone know why? :)

I did this:
Gofer new
smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
package: 'ConfigurationOfOpenDBXDriver';
load.
#ConfigurationOfOpenDBXDriver asClass loadBleedingEdge.

Anyway, the only glitch I found is that the OpenDBX current wrongly returns "NBPharoOpenDBX class" instead of the instance.

I could not figure out where the initialization bug comes from, but I worked around it with:
NBPharoOpenDBX installAsCurrent.

I tested the functionality with an Oracle backend, and it just worked.

Thanks!

Doru


--

"Every thing has its own flow"

Guillermo Polito

unread,
Feb 13, 2014, 10:29:45 AM2/13/14
to dbx...@googlegroups.com, Discusses Development of Pharo
On Thu, Feb 13, 2014 at 4:26 PM, Tudor Girba <tu...@tudorgirba.com> wrote:
Hi,

I just retried DBXTalk, and it now magically works!

Does anyone know why? :)

magic ;)
 

I did this:
Gofer new
smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
package: 'ConfigurationOfOpenDBXDriver';
load.
#ConfigurationOfOpenDBXDriver asClass loadBleedingEdge.

Anyway, the only glitch I found is that the OpenDBX current wrongly returns "NBPharoOpenDBX class" instead of the instance.

I could not figure out where the initialization bug comes from, but I worked around it with:
NBPharoOpenDBX installAsCurrent.

Arghh, yes. I hate the initialization part of it. It's a mess.
 

I tested the functionality with an Oracle backend, and it just worked.

Good to know that nothing got broken (until we have full CI support :D)
 

Thanks!

to you for testing :)
 

Doru


--

"Every thing has its own flow"

--
You received this message because you are subscribed to the Google Groups "DBXTalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dbxtalk+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Michael Roland

unread,
Mar 28, 2014, 3:18:21 PM3/28/14
to dbx...@googlegroups.com, Discusses Development of Pharo
I tried DBXTalk today on Pharo 3 and got the NBPharoOpenDBX class error too.
This is my understanding of what causes the error.


The value returned by OpenDBX class>>#current is initialized in ConfigurationOfOpenDBXDriver>>#setNBOpenDBX.

#setNBOpenDBX has one line:
  (Smalltalk at: #OpenDBX) current: (Smalltalk at: #NBPharoOpenDBX).

This sets OpenDBX Current to an NBPharoOpenDBX class instead of an NBPharoOpenDBX instance.

Changing the statement to:
  (Smalltalk at: #NBPharoOpenDBX) installAsCurrent

indirectly sets OpenDBX Current to an instance of NBPharoOpenDBX so that
OpenDBX class>>#current will correctly return an instance of NBPharoOpenDBX.

Using OpenDBX class>>#installAsCurrent is needed because the OpenDBX class has
two class variables: CurrentLibraryFactory and Current.
CurrentLibraryFactory stores a class and Current stores an instance of that class.
The only way to set CurrentLibraryFactory is with the OpenDBX class>>#installAsCurrent method.
Using OpenDBX class>>#current: to set the instance directly can leave the CurrentLibraryFactory and Current variables out of sync.

 

Mariano Martinez Peck

unread,
May 7, 2014, 9:28:11 AM5/7/14
to dbx...@googlegroups.com, Discusses Development of Pharo
Thanks! Michael was this committed to the repo?
 


--
Mariano
http://marianopeck.wordpress.com

Michael Roland

unread,
May 7, 2014, 1:39:18 PM5/7/14
to dbx...@googlegroups.com, Discusses Development of Pharo
No, the change has not been committed. No one else has verified that this change works. It works for me.

The change to the doit method performs the step that Tudor Girba mentioned in the first post: NBPharoOpenDBX installAsCurrent. So I think the change is correct.
 If someone will verify that the change works on their system, I will ask for permission to commit the change.

Guillermo Polito

unread,
May 9, 2014, 12:14:50 PM5/9/14
to dbx...@googlegroups.com, Discusses Development of Pharo
Hi!

I'd love to write a test along with the fix, so we can improve the CI infrastructure I set up (see post "[ANN] DBXTalk CI available").

Which is your smalltalkhub user so I give you commit grants?

Guille


--
You received this message because you are subscribed to the Google Groups "DBXTalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dbxtalk+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Michael Roland

unread,
May 9, 2014, 3:57:42 PM5/9/14
to dbx...@googlegroups.com, Discusses Development of Pharo
My user name on SmallTalkHub is mroland.
I have tested the change to ConfigurationOfOpenDBXDriver on Pharo3 and Pharo2..
I would like to commit the change to SmallTalkHub.

Thanks
Reply all
Reply to author
Forward
0 new messages