mς π½pCc@s9dklZdkZdkZdefd„ƒYZdS((sBasicNtDatacBs€tZd„Zdd„Zd„Zd„Zdddd„Zdddd„Zd „Z d „Z d „Z d „Z d „Z RS(NcCs]|iiƒ}|id|i||fƒ|iƒ}|i ƒ|o |dSndSdS(NsQSELECT * FROM %s_%s WHERE id=%d i( tselft connectiontcursortexecutetnamettabletidt dictfetchalltdatatclosetNone(RRRRR ((tF/data/zmath/mirror/zope/Products/zauthors/zsite/zsystem/system/data.pytgetdatas   cCs”|iiƒ}|djoM|id|i|fƒ|iƒ}|o|ddd}qid}n|id|i||fƒ|i ƒ|S(Ns…SELECT id FROM %s_%s ORDER BY id DESC LIMIT 1 iis_INSERT INTO %s_%s(id, time) VALUES(%d, 'now') ( RRRRR RRRtfetchallR R (RRRRR ((R tnewdatas    cCs›|iiƒ}x^|iƒD]P}|djoqn||}|id|i|||i |ƒ|fƒqW|id|i||fƒ|i ƒdS(NRs|UPDATE %s_%s SET %s='%s' WHERE id=%d ssUPDATE %s_%s SET time='now' WHERE id=%d ( RRRR tkeystfieldtvalueRRRtquoteRR (RRRR RRR((R tsetdata's   0 cCs:|iiƒ}|id|i||fƒ|iƒdS(NsODELETE FROM %s_%s WHERE id=%d (RRRRRRRR (RRRR((R tdeldata8s tRcCsΑt|ƒtifjo2|pgSndtitt|ƒdƒ}n|od|}n|od|}n|i i ƒ}|i d|i ||||fƒ|iƒ}|iƒ|S(Ns id in (%s)t,sWHERE %ss ORDER BY %ss‚SELECT * FROM %s_%s %s %s %s (ttypetwherettypestListTypetstringtjointmaptstrtorderRRRRRRt constraintRtlistR (RRRR R!R"R((R tlistdataAs##  cCsv|od|}n|od|}n|iiƒ}|id|i||||fƒ|i ƒ}|i ƒ|S(NsWHERE %ss ORDER BY %ss‚SELECT * FROM %s_%s %s %s %s ( RR RRRRRRR!RR"R (RRRR R!R"R((R tfinddataUs#  cCs7|iiƒ}|id|i|fƒ|iƒdS(NsΡCREATE TABLE %s_%s ( id INTEGER, time TIMESTAMP, PRIMARY KEY (id) ) (RRRRRRR (RRR((R taddtablees cCsQ|iiƒ}y|id|i|fƒWntj onX|iƒdS(Ns,DROP TABLE %s_%s (RRRRRRt ExceptionR (RRR((R tdeltableqs c CsΉ|iiƒ}|id|i|||fƒ|djod|}n d|}|id|i|||fƒ|o0|id|i|||i|||fƒn|i ƒdS( NsTALTER TABLE %s_%s ADD COLUMN %s %s tINTEGERtFLOATs%ss'%s's|ALTER TABLE %s_%s ALTER COLUMN %s SET DEFAULT %s shCREATE INDEX %s_%s_%s_a ON %s_%s USING %s (%s) (sINTEGERsFLOAT( RRRRRRRRtdefaulttindexR (RRRRR*R+R((R taddfield|s    0 c CsT|iiƒ}|o0|id|i|||i|||fƒn|iƒdS(NshCREATE INDEX %s_%s_%s_a ON %s_%s USING %s (%s) ( RRRR+RRRRR (RRRR+R((R t createindex‘s 0 cCsE|iiƒ}|o!|id|i||fƒn|iƒdS(Ns1DROP INDEX %s_%s_%s_a ( RRRR+RRRRR (RRRR+R((R t dropindex›s ! (t__name__t __module__R R RRRR#R$R%R'R,R-R.(((R Rs     (tbasictBasicRRR(RRRR2((R t?s