That would be amazing! I'm a Mac/Unix guy so I don't have access to the other platforms (I suppose I could fire up an AWS Oracle). I can do mysql/mariadb, posgresql, and sqlite. I'm pretty close to pushing my ActiveRecord extensions. I just need to get many to many with link tables done and it is good to go. I spent a few days "porting" the ruby inflector and its tests. As for database introspection, I am relying on this new method and the result set format on DatabasePlatform. printSqlStatementToListColumnsInTable: aDatabaseTable inSchema: schemaString on: aStream " Format: name | type | length | nullable | default_value | pk -------------------------+-------------------+--------+----------+-----------------------+---- id | character varying | 255 | 0 | ''::character varying | 1 Then I can build a whole class model and descriptor system off the schema.
On Jan 22, 2020, at 9:55 AM, Tomaž Turk <tomaz.turk@ef.uni-lj.si> wrote:
Thanks, Todd - I'll prepare a PR for https://github.com/pharo-rdbms/glorp <https://github.com/pharo-rdbms/glorp> to update SQLServerPlatform and OraclePlatform.
I already used the standardized query results format in PharoADO which works nicely with Glorp. You can find PharoADO here: https://github.com/eftomi/pharo-ado <https://github.com/eftomi/pharo-ado>. Maybe it can be included into the pharo-rdbms collection if you feel that it's mature enough. PharoADO can be used standalone (as interface to ActiveX Data Objects) or with Glorp.
However, there are some "high level" tests in Glorp package that are still red with Oracle and SQLServer, you can find the list on GitHub under "issues". In particular, I didn't have time yet to implement blobs - PharoADO uses PharoCOM (by Pablo) and firstly we have to settle the Variant SafeArray data type in that package. Now that we have stable Pharo 8.0 64 bit for Windows, PharoCOM should be checked for 64-bits, too.
Anyway, I agree with you that the database support is one of the key success factors for a development platform. I'm focusing into this since I hope that one day I could teach the concepts of business solutions development fully in Pharo :-)
Best wishes, Tomaz
The official is https://github.com/pharo-rdbms/glorp (The one I forked at pharo-db - a username I need to change as it is causing confusion).
I've been mostly working with P3 and SQLite together. I've standardized the query results format for fetching field definitions so if you want to add support for another db, please note the format of the result set and structure yours appropriately.
I would very much like all the databases to be hosted under pharo-rdbms and all of them to have glorp adaptors and the additional meta structure queries I'm adding to the GlorpPlatform classes to enable ActiveRecord. I feel like Pharo's RDBMS story has been lagging and the lack of ready to go database support keeps people from building apps on it.
There are a zillion little business CRUD apps that could be knocked out with spec2 or Seaside.
Please, dive in and make improvements.