[Zope-DB] Dynamic Update SQLs like in Delphi

Liliam Martins liliam at cmartins.demon.nl
Thu Dec 11 17:28:23 EST 2003


google for dynamic sql/queries on zope. There are previous threads on this
list about this matter and an howto on zope.org web site.

Regarding point 4, Zope is transactional, so if you have a script that
modifies dynamically a ZSQL, other requests for that script will be
serialised (wait for their turn to access the script).


> -----Original Message-----
> From: zope-db-bounces at zope.org
> [mailto:zope-db-bounces at zope.org]On Behalf Of fowlertrainer at anonym.hu
> Sent: quarta-feira, 10 de Dezembro de 2003 10:41
> To: zope-db at zope.org
> Subject: [Zope-DB] Dynamic Update SQLs like in Delphi
> Szia !
> Mellékelem a levelemet.
> ----------------
> Hello !
> In Delphi I have a my own created mechanism what help me to do less
> code/error, and more performance in database/dataset handling.
> The technology is that:
>     1./ When I open a table with TDataSet.Open method, then it was
>         generate updatesql array, and updatesql components.
>     2./ It is cache the modifications.
>     3./ In apply it is process the cache, and rewrite modifications in RW
>         transaction.
>     It is same with TClientDataSet class, but enhanced.
> When I was write an site in php, I rewrite this mechanism in php, and
> it is working good.
> Ok, but in this time I want to port it to Zope.
> In the 1./ the code is like this:
>    a.) Get table name from SQL
>    b.) Get the pyhisical fields of the table -> filter (omit) the
>        another table fields, exmp: joined/grouped/etc.
>    c.) Get a key fields from parameter, or the first field.
>    d.) Generate SQL for INS/DEL/UPD
>    e.) Store it
> In Zope I don't see any possibility to I create on-fly statements.
> My mechanism is good, because in my database I have 200 tables, and if
> I want to create all zsql method to all table, then I must write 200*3
> update sql statement, and 200*1 select by id sql statement.
> And I don't say about the special selects - my way is handle all of
> these statements.
> So there are the ways I see to do it:
> 1./  I write it by hand. Many time,.... :-(((((((((((((
> 2./  I write an xml section creator in py. I create din. sqls in
>      python+xml, and I insert into exported zope site file.
>      Then I import it to zope.
> 3./  I write an subsite, what load all table descriptors to arrays,
>      and create the zsql methods into zope site's folder.
>      When the database content (structure) is changed, I recreate all
>      zsql method.
> 4./  I access the zsql-s on-fly, and when it is must change (the table
>      structure is changed) then I change the zsql method.
>      But I don't know, what is happening, when another zope request
>      thread is working with this method...
> 5./  I access the DA object, and can create dynamic SQL-s. But I can
>      do that ????
> 6./  I change the zope to the mod_python. (I don't want to do it, only
>      if I haven't any solution)
> 7./  I am going to Antarctis, or to the Moon. Or to insane...
> 1/2/3 solutions are very ugly things, because the many zsql method
> is many text, and the zope fs is grow to very large.
> And when I forget to recreate this methods, the site is unavailable.
> Please help me: what I can do ?
> Thanx for any advance.
> --
> Best regards,
>  fowlertrainer                          mailto:fowlertrainer at anonym.hu
> _______________________________________________
> Zope-DB mailing list
> Zope-DB at zope.org
> http://mail.zope.org/mailman/listinfo/zope-db

More information about the Zope-DB mailing list