We are really happy to announce that ESUG will sponsor us once again through the ESUG Summer Talk project. This means that we have reached the ESUG expectations and that they still think that relational database access is an important matter in Smalltalk.
One important thing is that we are going to rename the project (we are still working on it) since SqueakDBX runs not only in Squeak but also in Pharo, and there have been even ports to Dolphin. What’s the reason for this decision? Because we do not want to couple ourselves to a smalltalk dialect nor to OpenDBX, because our project is much more than that (later I will tell you about our plans). So, the future name will be DBXTalk.
Another important subject is the team. There will be three "mentors", Esteban Lorenzano, Diogenes Moreira and myself, Mariano Martinez Peck; and two students: Guillermo Polito and Santiago Bragagnolo.
We are open to suggestions and ideas. In addition, we have defined a possible list of actions that I copy at the end of the post.
For the moment, the url remains www.squeakdbx.org and the mailing list squeakdbx@lists.squeakfoundation.org
Once again, we want to thank ESUG for their support and trust.
Thank you very much,
SqueakDBX team
Possible list of actions:
1) Change SqueakDBX’s name.
2) Update GLORP version since the actual one is 3 years old.
Port it again from VisualWorks, create a VW porting tool (may be). Complete support to Glorp. Today it works with PostgreSQL, Oracle and MySQL. Make it work with most databases OpenDBX supports.
3) Create a lightweight solution, alternatively to GLORP. There are some options:
Make SqueakSave work with SqueakDBX. SqueakSave developers already contacted us because they wanted to do it. SqueakSave seems to be 20% slower than Glorp but you don’t need to write the mappings :) Adapt Ramon Leon’s active record to use an abstract database driver, and create a driver for SqueakDBX. Port the new Glorp’s kind of active record to Pharo. (included in 2).
4) Write a Pharo By Example 2 chapter based on the card game Stef built ;).
5) Cog compatibility.
6) Use Alien instead of FFI. Eliot is working on a threaded CogVM. One of the projects of the GSoC of this year was to make something similar to a threaded FFI. What the student did is a modification in Alien (I think) that can be run in a multithreaded envirorment. He worked with Eliot. The idea is when Eliot releases the threaded CogVM, this FFI would work our of the box, and would avoid locking the WHOLE vm while a C function is being invoked (as it happens today with FFI).....So....when that VM is released, we MUST migrate to that).
7) Explore performance issues (maybe with our approach of "In thread execution plugin").
8) Complete integration with OpenDBX. For example, Oracle, for large objects (Clob, Blob, etc) use specific functions. There are specific functions in OpenDBX that have to be used if the database uses specific functions (oracle is the only one for the moment.). We don’t manage those functions yet.
9) In this link http://www.squeakdbx.org/Targets%20and%20Features You can see a list of future possible features like Connection pooling (now it is done!), Prepared statement interface, Store procedures, Escape and avoid of SQL insertion, Authentication support: extends to other methods, not only user/password, Full text support, etc.
We are realeasing SqueakDBX 1.2, just an small release. For those who doesn’t know, SqueakDBX is a database driver to connect to most of the existing databases.
For more details, please read www.squeakdbx.org
The main changes in this release are:
- ConfigurationOfSqueakDBX version: 1.2
- Comments: SqueakDBX stable 1.2
- OpenDBX version: 1.5
- New Features
- GlorpDBX connection pool for SqueakDBXDriver.
- New support for Firebird 100% green tests in Windows.
- New support for MySQL 4.
- New tests for PostgreSQL sequences, for bad data settings.
- We now let a platform to set special options ALWAYS before opening the connection.
- Packages remodularization and little changes so that to easily support ports, for example to Dolphin.
- Start to support large objects. For the moment: Postgresql supports TEXT, MySQL supports TEXT and BLOB, and SQLite CLOB (error with BLOB), Oracle supports CLOB and NCLOB.
- Added the possibility to enable or disable automatic release of connections using WeakRegistry.
- Notes
- Tested with Cog, resulting in an average of 3x increase.
- Tested in Pharo 1.0 and 1.1.
- Updated Metacello configurations
To install it:
Gofer new squeaksource: ’MetacelloRepository’; package: ’ConfigurationOfSqueakDBX’; load.
(ConfigurationOfSqueakDBX project version: ’1.2’) load.
In Pharo 1.1 I recommend to evaluate the following:
DBXPlatform disableAutomaticConnectionReleaseOnGC
Cheers
Mariano
We are glad to announce that we now support Firebird as backend. The good news for us is that it just took 4 hours to get it working and even with the 100% of the tests in green.
OpenDBX supports Firebird since a lot of time but we didn’t have too much time to try it. I wanted to "give a hand" to Norbert generating all dlls for each new release. I didn’t have ever used Firebird neither Sybase. So, I started with Firebird and now it is working like a charm.
I have only tested in Windows (sorry, I am having some problems with my Linux machine) but it should work also in Linux and Mac.
To use Firebird you must be sure to use the version OpenDBX-Core-MarianoMartinezPeck.252. You can install the latests version of SqueakDBX using our new Metacello configuration. To do this, take a Pharo image and evaluate the following:
Gofer new
squeaksource: ’MetacelloRepository’;
addPackage: ’ConfigurationOfSqueakDBX’;
load.
And then evaluate:
(ConfigurationOfSqueakDBX project version: ’1.1-baseline’) load
This will download the latest version, which will be 1.1 and is still in development.
Finally, I wrote all my notes of how to compile OpenDBX with Firebird in Windows using MinGW. Of course, you don’t need to do this as you have already the dll, but just in case. The link is: http://www.squeakdbx.org/Firebird%20for%20Win
Cheers
Hi folks. Just wanted to let you know that Norbert released a new version of OpenDBX. This version is the first one of the new series 1.5. I have tested all backends in Linux and Windows and works perfect with the latets versions of SqueakDBX.
However, I will look deeper in the new features because maybe there are some improvements I can do in SqueakDBX because of this new release.
This release is important because it shows that OpenDBX is alive, with a lot of work and good progress.
Here is the link of the ANN: http://www.linuxnetworks.de/doc/index.php/News and here you can see the changelog: http://linuxnetworks.de/opendbx/download/ChangeLog-devel
Thanks Norbert!
Mariano
Hi folks!
We just wanted to let you know that we have just build Metacello configurations for SqueakDBX and GlorpDBX. You can find both in the repository
http://www.squeaksource.com/MetacelloRepository
You can download the configurations and evaluate something like this:
(ConfigurationOfSqueakDBX project version: ’1.1’) load
And that will loaded all the necesarry stuff for SqueakDBX version 1.1.
The same with GlorpDBX:
(ConfigurationOfGlorpDBX project version: ’0.9.1’) load
Cheers,