modeling-cvs Mailing List for Object-Relational Bridge for python (Page 15)
Status: Abandoned
Brought to you by:
sbigaret
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
(54) |
Apr
(29) |
May
(94) |
Jun
(47) |
Jul
(156) |
Aug
(132) |
Sep
(40) |
Oct
(6) |
Nov
(18) |
Dec
(24) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(18) |
Feb
(59) |
Mar
(7) |
Apr
|
May
(8) |
Jun
(2) |
Jul
(12) |
Aug
(15) |
Sep
(12) |
Oct
(6) |
Nov
(25) |
Dec
(1) |
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
(27) |
Mar
|
Apr
(16) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sbi...@us...> - 2003-08-22 15:44:14
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv15223 Modified Files: MANIFEST.in Log Message: Added Index: MANIFEST.in =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/MANIFEST.in,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** MANIFEST.in 19 Aug 2003 22:01:18 -0000 1.13 --- MANIFEST.in 20 Aug 2003 20:45:16 -0000 1.14 *************** *** 16,19 **** --- 16,20 ---- include Modeling/tests/MySQL.cfg include Modeling/tests/SQLite.cfg + include Modeling/tests/Oracle.cfg recursive-include Modeling/tests/xmlmodels *.txt *.xml |
From: <sbi...@us...> - 2003-08-22 10:53:34
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests In directory sc8-pr-cvs1:/tmp/cvs-serv14783/Modeling/tests Modified Files: test_EditingContext_Global_Inheritance.py Log Message: typo Index: test_EditingContext_Global_Inheritance.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/tests/test_EditingContext_Global_Inheritance.py,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** test_EditingContext_Global_Inheritance.py 20 Aug 2003 20:41:12 -0000 1.20 --- test_EditingContext_Global_Inheritance.py 20 Aug 2003 20:42:20 -0000 1.21 *************** *** 924,926 **** #errs = utils.run_suite(test_suite()) sys.exit(errs and 1 or 0) - W --- 924,925 ---- |
From: <sbi...@us...> - 2003-08-22 10:20:48
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv7376 Modified Files: CHANGES Log Message: Added support for joinClauseString() Index: CHANGES =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/CHANGES,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CHANGES 19 Aug 2003 22:01:18 -0000 1.7 --- CHANGES 20 Aug 2003 19:58:04 -0000 1.8 *************** *** 8,11 **** --- 8,15 ---- -------------------------------------------------------- + * SQLExpression: added support for joinClauseString(), which offers an + alternative when the underlying db-server does not support SQL JOIN + statement. + * Added OracleAdaptorLayer (do not use now, there are still commits) |
From: <sbi...@us...> - 2003-08-22 10:09:10
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests In directory sc8-pr-cvs1:/tmp/cvs-serv15223/Modeling/tests Added Files: Oracle.cfg Log Message: Added --- NEW FILE: Oracle.cfg --- # This file is used to initalize the model's connection dictionary and # adaptor's name when the tests are run for Oracle # Change this to reflect your own configuration [DEFAULT] adaptor: Oracle # database is the Global Database Name database: oracle user: system password: manager host: ignored [AuthorBooks] [StoreEmployees] [AddressBook] |
From: <sbi...@us...> - 2003-08-22 05:37:07
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv30312 Modified Files: CHANGES MANIFEST.in Log Message: Added OracleAdaptorLayer Index: CHANGES =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/CHANGES,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CHANGES 10 Aug 2003 21:14:49 -0000 1.6 --- CHANGES 19 Aug 2003 22:01:18 -0000 1.7 *************** *** 8,11 **** --- 8,13 ---- -------------------------------------------------------- + * Added OracleAdaptorLayer (do not use now, there are still commits) + 0.9-pre-13 (2003/08/10) ----------------------- Index: MANIFEST.in =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/MANIFEST.in,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** MANIFEST.in 10 Aug 2003 21:32:39 -0000 1.12 --- MANIFEST.in 19 Aug 2003 22:01:18 -0000 1.13 *************** *** 44,47 **** --- 44,49 ---- include Modeling/DatabaseAdaptors/SQLiteAdaptorLayer/TODO + include Modeling/DatabaseAdaptors/OracleAdaptorLayer/COPYING + recursive-include Modeling/ModelMasons *.tmpl *.gif |
From: <sbi...@us...> - 2003-08-22 04:51:09
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests/testPackages/AuthorBooks In directory sc8-pr-cvs1:/tmp/cvs-serv16839/Modeling/tests/testPackages/AuthorBooks Modified Files: Writer.py Log Message: Added to handle both mxDateTime.DateTime and DCOracle2.Timestamp |
From: <sbi...@us...> - 2003-08-22 04:41:50
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests In directory sc8-pr-cvs1:/tmp/cvs-serv14599/Modeling/tests Modified Files: test_EditingContext_Global_Inheritance.py Log Message: Added Oracle to the list of supported db + support for DateFrom through DCOracle2.Timestamp Index: test_EditingContext_Global_Inheritance.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/tests/test_EditingContext_Global_Inheritance.py,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** test_EditingContext_Global_Inheritance.py 3 Aug 2003 11:15:39 -0000 1.19 --- test_EditingContext_Global_Inheritance.py 20 Aug 2003 20:41:12 -0000 1.20 *************** *** 57,60 **** --- 57,62 ---- from StoreEmployees.Holidays import Holidays + from mx import DateTime + DateFrom=DateTime.DateFrom class TestEditingContext_Global_Inheritance(unittest.TestCase): *************** *** 376,380 **** ec=EditingContext() holidays=Holidays() - from mx.DateTime import DateFrom holidays.setStartDate(DateFrom('2003-07-01 08:00')) holidays.setEndDate(DateFrom('2003-08-01 08:00')) --- 378,381 ---- *************** *** 406,410 **** emp=self._test_10_class_employee() emp.setLastName('Test10'); emp.setFirstName('T.') - from mx.DateTime import DateFrom holidays=Holidays() holidays.setStartDate(DateFrom('2003-07-01 08:00')) --- 407,410 ---- *************** *** 521,525 **** emp.addToHolidays(holidays) - from mx.DateTime import DateFrom holidays.setStartDate(DateFrom('2003-07-02 08:00')) ec.saveChanges() --- 521,524 ---- *************** *** 562,566 **** emp=self._test_11_class_employee() emp.setLastName('Test11'); emp.setFirstName('T.') - from mx.DateTime import DateFrom holidays=Holidays() holidays.setStartDate(DateFrom('2003-07-01 08:00')) --- 561,564 ---- *************** *** 608,612 **** emp.removeFromHolidays(holidays) h2=Holidays() - from mx.DateTime import DateFrom sd2=DateFrom('2003-01-01 01:00') ed2=DateFrom('2003-02-02 02:00') --- 606,609 ---- *************** *** 735,739 **** ! def reinitDB(): """ Reinitializes the database: recreates the db's schema needed for these tests --- 732,736 ---- ! def reinitDB(database_cfg): """ Reinitializes the database: recreates the db's schema needed for these tests *************** *** 765,768 **** --- 762,768 ---- print 'error: %s'%str(exc) + if database_cfg=='Oracle.cfg': + sqlExpr.setStatement("alter session set nls_date_format = 'YYYY-MM-DD HH24:mi:ss'") + channel.evaluateExpression(sqlExpr) # Store *************** *** 848,852 **** is altered: tables are dropped, then they are re-created along with constraints for PKs and FKs and PK support (sequences) ! -d sets the database adaptor to use: Postgresql (default), MySQL or SQLite """ % prgName if exitStatus is not None: --- 848,853 ---- is altered: tables are dropped, then they are re-created along with constraints for PKs and FKs and PK support (sequences) ! -d sets the database adaptor to use: Postgresql (default), MySQL, Oracle or ! or SQLite """ % prgName if exitStatus is not None: *************** *** 873,877 **** if k=='-p': profile=1; continue if k=='-d': ! if v not in ('Postgresql', 'MySQL', 'SQLite'): usage(me, 1) database_cfg='%s.cfg'%v continue --- 874,878 ---- if k=='-p': profile=1; continue if k=='-d': ! if v not in ('Postgresql', 'MySQL', 'Oracle', 'SQLite'): usage(me, 1) database_cfg='%s.cfg'%v continue *************** *** 888,894 **** model.entityNamed('Holidays').attributeNamed('endDate').setExternalType('DATETIME') utils.enable_model_cache_and_compute() ! if reinitDB_flag: reinitDB(); return if profile: --- 889,908 ---- model.entityNamed('Holidays').attributeNamed('endDate').setExternalType('DATETIME') + # Oracle specifics: change TIMESTAMP to DATE + if database_cfg=='Oracle.cfg': + model.entityNamed('Holidays').attributeNamed('startDate').setExternalType('DATE') + model.entityNamed('Holidays').attributeNamed('endDate').setExternalType('DATE') + global DateFrom + def OracleDateFrom(str): + date, time=str.split() + yyyy,mm,dd=map(lambda s: int(s), date.split('-')) + h,m=map(lambda s: int(s), time.split(':')) + s=0 + import DCOracle2 + return DCOracle2.Timestamp(yyyy,mm,dd,h,m,s) + DateFrom=OracleDateFrom utils.enable_model_cache_and_compute() ! if reinitDB_flag: reinitDB(database_cfg); return if profile: *************** *** 903,907 **** suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestEditingContext_Global_Inheritance, ! "test_")) return suite --- 917,921 ---- suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestEditingContext_Global_Inheritance, ! "test")) return suite *************** *** 910,911 **** --- 924,926 ---- #errs = utils.run_suite(test_suite()) sys.exit(errs and 1 or 0) + W |
From: <sbi...@us...> - 2003-08-22 04:06:57
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/OracleAdaptorLayer In directory sc8-pr-cvs1:/tmp/cvs-serv26089/Modeling/DatabaseAdaptors/OracleAdaptorLayer Log Message: Directory /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/OracleAdaptorLayer added to the repository |
From: <sbi...@us...> - 2003-08-22 03:32:01
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests In directory sc8-pr-cvs1:/tmp/cvs-serv14702/Modeling/tests Modified Files: test_EditingContext_ParentChild.py Log Message: Added Oracle to the list of supported db Index: test_EditingContext_ParentChild.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/tests/test_EditingContext_ParentChild.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** test_EditingContext_ParentChild.py 28 Jul 2003 06:04:47 -0000 1.13 --- test_EditingContext_ParentChild.py 20 Aug 2003 20:41:59 -0000 1.14 *************** *** 609,613 **** -h Prints this message -p enables profiling ! -d sets the database adaptor to use: Postgresql (default),MySQL or SQLite -r reinitialize the (postgresql) database the database defined in the model 'model_testBothSidesRels' --- 609,614 ---- -h Prints this message -p enables profiling ! -d sets the database adaptor to use: Postgresql (default),MySQL, Oracle ! or SQLite -r reinitialize the (postgresql) database the database defined in the model 'model_testBothSidesRels' *************** *** 639,643 **** if k=='-p': profile=1; continue if k=='-d': ! if v not in ('Postgresql', 'MySQL', 'SQLite'): usage(me, 1) database_cfg='%s.cfg'%v continue --- 640,644 ---- if k=='-p': profile=1; continue if k=='-d': ! if v not in ('Postgresql', 'MySQL', 'Oracle', 'SQLite'): usage(me, 1) database_cfg='%s.cfg'%v continue *************** *** 658,666 **** store_employee_model.entityNamed('Holidays').attributeNamed('endDate').setExternalType('DATETIME') utils.enable_model_cache_and_compute() if reinitDB_flag: from test_EditingContext_Global import reinitDB ! reinitDB() return --- 659,671 ---- store_employee_model.entityNamed('Holidays').attributeNamed('endDate').setExternalType('DATETIME') + # Oracle specifics: change TIMESTAMP to DATE + if database_cfg=='Oracle.cfg': + author_books_model.entityNamed('Writer').attributeNamed('birthday').setExternalType('DATE') + utils.enable_model_cache_and_compute() if reinitDB_flag: from test_EditingContext_Global import reinitDB ! reinitDB(database_cfg) return |
From: <sbi...@us...> - 2003-08-22 03:26:13
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests In directory sc8-pr-cvs1:/tmp/cvs-serv14315/Modeling/tests Modified Files: test_EditingContext_Global.py Log Message: Added Oracle to the list of supported db Index: test_EditingContext_Global.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/tests/test_EditingContext_Global.py,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** test_EditingContext_Global.py 10 Aug 2003 14:38:15 -0000 1.42 --- test_EditingContext_Global.py 20 Aug 2003 20:39:59 -0000 1.43 *************** *** 937,941 **** "[EditingContext] IN/NOT IN operators in qualifiers" ec=EditingContext() ! objects=ec.fetch('Writer', 'age in [24, 82]') objects_names=[o.getLastName() for o in objects] self.failUnless(len(objects)==2) --- 937,941 ---- "[EditingContext] IN/NOT IN operators in qualifiers" ec=EditingContext() ! objects=ec.fetch('Writer', 'age in [24, 82, 81]') objects_names=[o.getLastName() for o in objects] self.failUnless(len(objects)==2) *************** *** 943,947 **** self.failUnless('Dard' in objects_names) ! objects=ec.fetch('Writer', 'age not in [24, 82]') objects_names=[o.getLastName() for o in objects] self.failUnless(len(objects)==1) --- 943,947 ---- self.failUnless('Dard' in objects_names) ! objects=ec.fetch('Writer', 'age not in [24, 82, 81]') objects_names=[o.getLastName() for o in objects] self.failUnless(len(objects)==1) *************** *** 1322,1326 **** channel.evaluateExpression(sqlExpr) ! def reinitDB(): """ Reinitializes the database: recreates the db's schema needed for these tests --- 1322,1326 ---- channel.evaluateExpression(sqlExpr) ! def reinitDB(database_cfg): """ Reinitializes the database: recreates the db's schema needed for these tests *************** *** 1358,1361 **** --- 1358,1367 ---- pks=[pk.values()[0] for pk in pks] sqlExpr=pgAdaptor.expressionClass()() + + if database_cfg=='Oracle.cfg': + sqlExpr.setStatement("alter session set nls_date_format = 'YYYY-MM-DD HH24:mi:ss'") + channel.evaluateExpression(sqlExpr) + + sqlExpr.setStatement("insert into WRITER "\ "(id, age, last_name,first_name,birthday,fk_writer_id)"\ *************** *** 1368,1372 **** sqlExpr.setStatement("insert into WRITER "\ "(id, age, last_name,first_name,birthday,fk_writer_id)"\ ! " values (%i,81,'Dard','Frederic','1921-06-29 04:56:34.00', %i)"%(pks[2], pks[1])) channel.evaluateExpression(sqlExpr) # Book --- 1374,1378 ---- sqlExpr.setStatement("insert into WRITER "\ "(id, age, last_name,first_name,birthday,fk_writer_id)"\ ! " values (%i,81,'Dard','Frederic','1921-06-29 04:56:34', %i)"%(pks[2], pks[1])) channel.evaluateExpression(sqlExpr) # Book *************** *** 1404,1408 **** -h Prints this message -p enables profiling ! -d sets the database adaptor to use: Postgresql (default), MySQL or SQLite -r reinitialize the (postgresql) database the database defined in the model 'model_AuthorBooks' --- 1410,1415 ---- -h Prints this message -p enables profiling ! -d sets the database adaptor to use: Postgresql (default), MySQL, Oracle ! or SQLite -r reinitialize the (postgresql) database the database defined in the model 'model_AuthorBooks' *************** *** 1435,1439 **** if k=='-p': profile=1; continue if k=='-d': ! if v not in ('Postgresql', 'MySQL', 'SQLite'): usage(me, 1) database_cfg='%s.cfg'%v continue --- 1442,1446 ---- if k=='-p': profile=1; continue if k=='-d': ! if v not in ('Postgresql', 'MySQL', 'Oracle', 'SQLite'): usage(me, 1) database_cfg='%s.cfg'%v continue *************** *** 1450,1456 **** author_books_model.entityNamed('Writer').attributeNamed('birthday').setExternalType('DATETIME') utils.enable_model_cache_and_compute() ! if reinitDB_flag: reinitDB(); return if profile: --- 1457,1467 ---- author_books_model.entityNamed('Writer').attributeNamed('birthday').setExternalType('DATETIME') + # Oracle specifics: change TIMESTAMP to DATE + if database_cfg=='Oracle.cfg': + author_books_model.entityNamed('Writer').attributeNamed('birthday').setExternalType('DATE') + utils.enable_model_cache_and_compute() ! if reinitDB_flag: reinitDB(database_cfg); return if profile: |
From: <sbi...@us...> - 2003-08-22 02:56:06
|
Update of /cvsroot/modeling/ProjectModeling/Modeling In directory sc8-pr-cvs1:/tmp/cvs-serv7376/Modeling Modified Files: SQLExpression.py Log Message: Added support for joinClauseString() Index: SQLExpression.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/SQLExpression.py,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** SQLExpression.py 3 Aug 2003 10:34:14 -0000 1.21 --- SQLExpression.py 20 Aug 2003 19:58:04 -0000 1.22 *************** *** 281,285 **** self._whereClauseString="" ! ### key: path 'rel1.rel2', value: alias 't<n>' ##self._aliasesByRelPath={} --- 281,289 ---- self._whereClauseString="" ! ! # used when 'JOIN' are not supported, e.g. Oracle8i, to generate ! # ANSI equivalent ! self._joinClauseString="" ! ### key: path 'rel1.rel2', value: alias 't<n>' ##self._aliasesByRelPath={} *************** *** 500,504 **** statement+=" WHERE " statement+=(whereClause and joinClause) \ ! and (whereClause+' AND '+joinClause) \ or ( whereClause or joinClause ) if orderByClause: --- 504,508 ---- statement+=" WHERE " statement+=(whereClause and joinClause) \ ! and ('('+whereClause+') AND ('+joinClause+')') \ or ( whereClause or joinClause ) if orderByClause: *************** *** 642,646 **** are examined. """ ! __unimplemented__() def joinExpression(self): --- 646,650 ---- are examined. """ ! return self._joinClauseString def joinExpression(self): *************** *** 795,800 **** self._whereClauseString=self.sqlStringForQualifier(fullQualifier) # ! joinClause='' # Do we join some tables? --- 799,805 ---- self._whereClauseString=self.sqlStringForQualifier(fullQualifier) + tableList=self.tableListWithRootEntity(self.entity()) # ! joinClause=self.joinClauseString() # Do we join some tables? *************** *** 819,823 **** selectString=selectString, columnList=columnList, ! tableList=self.tableListWithRootEntity(self.entity()), whereClause=whereClause, joinClause=joinClause, --- 824,828 ---- selectString=selectString, columnList=columnList, ! tableList=tableList, whereClause=whereClause, joinClause=joinClause, |
From: <sbi...@us...> - 2003-08-20 07:09:29
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/OracleAdaptorLayer In directory sc8-pr-cvs1:/tmp/cvs-serv30704/Modeling/DatabaseAdaptors/OracleAdaptorLayer Added Files: oracle_utils.py __init__.py Log Message: Added OracleAdaptorLayer --- NEW FILE: oracle_utils.py --- #----------------------------------------------------------------------------- # # Modeling Framework: an Object-Relational Bridge for python # (c) 2001, 2002, 2003 Sebastien Bigaret # # This file is part of the Modeling Framework. # # The Modeling Framework is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as published # by the Free Software Foundation; either version 2 of the License, or (at # your option) any later version. # # The Modeling Framework is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License along # with the Modeling Framework; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #----------------------------------------------------------------------------- """ Oracle Adaptor Layer's utils Central point for determining Oracle specifics, like the version of the oracle server in use. CVS information $Id: oracle_utils.py,v 1.1 2003/08/19 22:03:34 sbigaret Exp $ """ __version__='$Revision: 1.1 $'[11:-2] import os def oracle_server_version(): """ Returns the version of the oracle server currently in use. It currently checks the environmement variable 'MDL_ORACLE_SERVER_VERSION'. Return value: - if MDL_ORACLE_SERVER_VERSION is not set, defaults to '8i' - if it is set and equals to '9i', returns '9i', otherwise return the default value '8i' """ pgversion=os.environ.get('MDL_ORACLE_SERVER_VERSION','').strip() if pgversion=='9i': return pgversion else: return '8i' --- NEW FILE: __init__.py --- #----------------------------------------------------------------------------- # # Modeling Framework: an Object-Relational Bridge for python # (c) 2001, 2002, 2003 Sebastien Bigaret # # This file is part of the Modeling Framework. # # The Modeling Framework is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as published # by the Free Software Foundation; either version 2 of the License, or (at # your option) any later version. # # The Modeling Framework is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License along # with the Modeling Framework; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #----------------------------------------------------------------------------- """ This package is the db-adaptor for Oracle databases. It currently uses the python DB-API v2.0 adaptor DCOracle2 (http://www.zope.org/Members/matt/dco2) Model & Connection Dictionaries: 'adaptorName' -- should be 'Oracle' 'database' -- the global database name 'user', 'password' -- user and password 'host' -- ignored Supported datatypes are: char, varchar, varchar2, nchar, nvarchar2 number, decimal, int, integer, smallint, float, numeric, real, date, time with the additional datatypes for 9i: timestamp, timestamp with time zone, timestamp with local time zone """ def adaptorFactory(): from OracleAdaptor import OracleAdaptor return OracleAdaptor |
From: <sbi...@us...> - 2003-08-10 21:32:42
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv15878 Modified Files: MANIFEST.in Log Message: Updated: files moved or removed Index: MANIFEST.in =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/MANIFEST.in,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** MANIFEST.in 3 Aug 2003 14:05:56 -0000 1.11 --- MANIFEST.in 10 Aug 2003 21:32:39 -0000 1.12 *************** *** 1,11 **** include COPYING - include DEPENDENCIES include INSTALL include MIGRATION include TODO include Modeling/COPYING - include Modeling/CHANGES - include Modeling/DEPENDENCIES - include Modeling/INSTALL include Modeling/TODO --- 1,7 ---- |
From: <sbi...@us...> - 2003-08-10 21:16:50
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv12571 Modified Files: vertoo.data Log Message: Release 0.9pre13 Index: vertoo.data =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/vertoo.data,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** vertoo.data 3 Aug 2003 14:04:47 -0000 1.6 --- vertoo.data 10 Aug 2003 21:16:37 -0000 1.7 *************** *** 1,2 **** ! mdl-code = major:0; minor:9; pre:12; release:x; date:Aug 3, 2003; ! mdl_doc = major:0; minor:9; pre:12; release:x; date:Aug 3, 2003; \ No newline at end of file --- 1,2 ---- ! mdl-code = major:0; minor:9; pre:13; release:x; date:Aug 10, 2003; ! mdl_doc = major:0; minor:9; pre:13; release:x; date:Aug 10, 2003; \ No newline at end of file |
From: <sbi...@us...> - 2003-08-10 21:16:17
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv12521 Modified Files: INSTALL Log Message: Fixed typo Index: INSTALL =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/INSTALL,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** INSTALL 10 Aug 2003 18:14:51 -0000 1.7 --- INSTALL 10 Aug 2003 21:16:14 -0000 1.8 *************** *** 4,8 **** :Authors: ! Sébastien Bigaret <sbi...@us... :Version: --- 4,8 ---- :Authors: ! Sébastien Bigaret <sbi...@us...> :Version: |
From: <sbi...@us...> - 2003-08-10 21:15:49
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv12390 Modified Files: vertoo.config Log Message: CHANGES moved to top-level dir Index: vertoo.config =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/vertoo.config,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** vertoo.config 28 Jul 2003 11:04:20 -0000 1.2 --- vertoo.config 10 Aug 2003 21:15:41 -0000 1.3 *************** *** 21,25 **** arguments(pattern="version=%Q", format='@full')), ]), ! #FileInfo("Modeling/CHANGES", # [ AnchorInfo('simple', 1, # arguments(pattern="is: %v", format='@full')), --- 21,25 ---- arguments(pattern="version=%Q", format='@full')), ]), ! #FileInfo("CHANGES", # [ AnchorInfo('simple', 1, # arguments(pattern="is: %v", format='@full')), *************** *** 45,49 **** # arguments(pattern="version=%Q", format='@full')), # ]), ! FileInfo("Modeling/CHANGES", [ AnchorInfo('simple', 1, arguments(pattern="is: %v", format='@full')), --- 45,49 ---- # arguments(pattern="version=%Q", format='@full')), # ]), ! FileInfo("CHANGES", [ AnchorInfo('simple', 1, arguments(pattern="is: %v", format='@full')), |
From: <sbi...@us...> - 2003-08-10 21:14:52
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc In directory sc8-pr-cvs1:/tmp/cvs-serv12205/Modeling/doc Modified Files: UserGuide.tex Tutorial.tex Log Message: Release 0.9pre13 Index: UserGuide.tex =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide.tex,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** UserGuide.tex 3 Aug 2003 14:04:11 -0000 1.27 --- UserGuide.tex 10 Aug 2003 21:14:49 -0000 1.28 *************** *** 12,18 **** % the rest is at your discretion. \authoraddress{Email: \email{sbi...@us...}} ! \date{Aug 3, 2003} %\date{\today} ! \release{0.9-pre-12} %\setreleaseinfo{pre-8} \setshortversion{0.9} --- 12,18 ---- % the rest is at your discretion. \authoraddress{Email: \email{sbi...@us...}} ! \date{Aug 10, 2003} %\date{\today} ! \release{0.9-pre-13} %\setreleaseinfo{pre-8} \setshortversion{0.9} Index: Tutorial.tex =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/Tutorial.tex,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Tutorial.tex 3 Aug 2003 14:04:11 -0000 1.8 --- Tutorial.tex 10 Aug 2003 21:14:49 -0000 1.9 *************** *** 14,18 **** \date{February 10, 2003} %\date{\today} ! \release{0.9-pre-12} %\setreleaseinfo{5} \setshortversion{0.9} --- 14,18 ---- \date{February 10, 2003} %\date{\today} ! \release{0.9-pre-13} %\setreleaseinfo{5} \setshortversion{0.9} |
From: <sbi...@us...> - 2003-08-10 21:14:52
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv12205 Modified Files: setup.py CHANGES Log Message: Release 0.9pre13 Index: setup.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/setup.py,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** setup.py 3 Aug 2003 14:04:11 -0000 1.30 --- setup.py 10 Aug 2003 21:14:49 -0000 1.31 *************** *** 46,50 **** setup(name="ModelingCore", ! version="0.9-pre-12", licence ="GNU General Public License", description=short_description, --- 46,50 ---- setup(name="ModelingCore", ! version="0.9-pre-13", licence ="GNU General Public License", description=short_description, Index: CHANGES =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/CHANGES,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CHANGES 10 Aug 2003 16:21:44 -0000 1.5 --- CHANGES 10 Aug 2003 21:14:49 -0000 1.6 *************** *** 3,10 **** Module Modeling --------------- ! Current release is: 0.9-pre-12 / See also: TODO, INSTALL and doc/ * ** Distributed under the GNU General Public License ** -------------------------------------------------------- * Fixed bug #785913: "LIKE qualifier w/ raw '%' and '_' characters does not --- 3,15 ---- Module Modeling --------------- ! Current release is: 0.9-pre-13 / See also: TODO, INSTALL and doc/ * ** Distributed under the GNU General Public License ** -------------------------------------------------------- + + 0.9-pre-13 (2003/08/10) + ----------------------- + + * Added an installation guide * Fixed bug #785913: "LIKE qualifier w/ raw '%' and '_' characters does not |
From: <sbi...@us...> - 2003-08-10 21:14:52
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/HomePage In directory sc8-pr-cvs1:/tmp/cvs-serv12205/Modeling/doc/HomePage Modified Files: main.tex downloads.tex Log Message: Release 0.9pre13 Index: main.tex =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/HomePage/main.tex,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** main.tex 3 Aug 2003 14:04:11 -0000 1.23 --- main.tex 10 Aug 2003 21:14:49 -0000 1.24 *************** *** 7,11 **** % Increment the release number whenever significant changes are made. % The author and/or editor can define 'significant' however they like. ! %\release{0.9-pre-12} % At minimum, give your name and an email address. You can include a --- 7,11 ---- % Increment the release number whenever significant changes are made. % The author and/or editor can define 'significant' however they like. ! %\release{0.9-pre-13} % At minimum, give your name and an email address. You can include a *************** *** 13,17 **** \author{S\'ebastien Bigaret} \email{sbi...@us...} ! \date{Aug 3, 2003} %\date{\today} --- 13,17 ---- \author{S\'ebastien Bigaret} \email{sbi...@us...} ! \date{Aug 10, 2003} %\date{\today} Index: downloads.tex =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/HomePage/downloads.tex,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** downloads.tex 3 Aug 2003 14:04:11 -0000 1.14 --- downloads.tex 10 Aug 2003 21:14:49 -0000 1.15 *************** *** 10,14 **** \begin{enumerate} ! \item[\bf Current version: 0.9-pre-12] Download it here:\begin{rawhtml}<a --- 10,14 ---- \begin{enumerate} ! \item[\bf Current version: 0.9-pre-13] Download it here:\begin{rawhtml}<a |
From: <sbi...@us...> - 2003-08-10 21:12:15
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/www In directory sc8-pr-cvs1:/tmp/cvs-serv11870/doc/www Modified Files: menu-inline-begin.tex Log Message: Added link to the installation guide Index: menu-inline-begin.tex =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/www/menu-inline-begin.tex,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** menu-inline-begin.tex 4 Jul 2003 17:30:47 -0000 1.6 --- menu-inline-begin.tex 10 Aug 2003 21:12:12 -0000 1.7 *************** *** 7,10 **** --- 7,12 ---- <a href="contributors.html">Contributors</a><br> <br> + <a href="installation.html" target="_new">Installation</a><br> + <br> <a href="documentation.html">Documentation</a><br> |
From: <sbi...@us...> - 2003-08-10 18:16:33
|
Update of /cvsroot/modeling/ProjectModeling/Modeling In directory sc8-pr-cvs1:/tmp/cvs-serv15505/Modeling Removed Files: DEPENDENCIES Log Message: Removed --- DEPENDENCIES DELETED --- |
From: <sbi...@us...> - 2003-08-10 18:15:51
|
Update of /cvsroot/modeling/ProjectModeling/Modeling In directory sc8-pr-cvs1:/tmp/cvs-serv15416/Modeling Removed Files: INSTALL Log Message: Removed --- INSTALL DELETED --- |
From: <sbi...@us...> - 2003-08-10 18:14:53
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv15237 Modified Files: INSTALL Removed Files: DEPENDENCIES Log Message: Replaced DEPENDENCIES + INSTALL with a refactored INSTALL Index: INSTALL =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/INSTALL,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** INSTALL 3 Sep 2002 21:21:38 -0000 1.6 --- INSTALL 10 Aug 2003 18:14:51 -0000 1.7 *************** *** 1,42 **** ! Installation notes: ! This has been tested for python v2.1/2.2 and Zope v2.5.1 ! About dependencies ! ------------------ ! See also: DEPENDENCIES ! - spark: put it somewhere in your '$PYTHONPATH' ! - Cheetah: install with './setup.py install' ('--prefix=/where/you/wish') ! then symlink Webware/Cheetah in the 'site-packages' to 'Cheetah':: ! cd /where/it/is/installed/lib/python2.1/site-packages ! ln -s ./Webware/Cheetah ./Cheetah ! - install PyXML v.0.8, then 4Suite v.0.12a2 ! Modeling ! -------- ! - 'NotificationFramework': ./setup.py install [--prefix=/where/you/wish] ! - ProjectModeling (core): ! As usual: 'python2.1 ./setup.py install' ('--prefix=/where/you/wish') ! Note: ! ! The install script needs Cheetah to be fully installed, and the ! script 'cheetah-compile' to be executable from the binary path. ! ! Zope: the ZModelizationTool ! --------------------------- ! Copy or symlink the 'ZModelizationTool' in your 'Products' ! directory. Then, in your Zope, create an instance of the 'Modelization ! Tool': this is the model designer. --- 1,232 ---- ! ------------------------- ! Installation Instructions ! ------------------------- ! :Authors: ! Sébastien Bigaret <sbi...@us... ! :Version: ! $Revision$ ! ------------ ! Introduction ! ------------ ! The framework depends on four other python packages, plus one or more python ! adaptors to connect to your database server. Additionally you'll need to have ! a running database server (either postgresql, mysql or sqlite) --we do not ! cover here the installation of a database server, please refer to their ! respective documentation for installation details. ! Unless explicitely stated, all installation can be made by unpacking their ! source distribution, cd-ing to the unpacked directory and then use the ! standard python package ``distutils`` with command-line like:: ! python2.2 ./setup.py install [--prefix=$HOME] ! You can specify ``--prefix`` if you want to install the packages in an other ! location than the standard one (like ``/usr/lib/python2.1/site-packages/``) ! This is what we will call *Installation: standard distutils* in the rest of ! this document. + Organization + ------------ ! This document is divided into two parts. The first one lists all ! required packages that needs to be installed. The second ones deals with ! python database adaptors, and you'll choose which one(s) you'll install ! depending on the database server you want to connect to. ! ------------------- ! Needed dependencies ! ------------------- ! Modeling Framework ! ------------------ ! The framework can be downloaded from http://modeling.sourceforge.net ! Unless you already have Cheetah installed (this is not a required part), ! you'll get the following message:: ! sh: cheetah-compile: command not found ! Warning: compilation of cheetah templates failed: they may be absent, or cheetah-compile is not available. ! => Using the already compiled templates ! Press ENTER to continue, CTRL-C to abort ! Ignore the warning and press ENTER, installation will continue. ! ! NotificationFramework v0.5 ! -------------------------- ! The NotificationFramework can be downloaded from ! https://sourceforge.net/project/showfiles.php?group_id=58935&release_id=161547 ! ! Installation: standard distutils. ! ! eGenix.com mx Extensions for Python v2.0.5 ! ------------------------------------------ ! ! Download this from: ! http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Download-mxBASE ! ! Installation: standard distutils. ! ! Note: wait until the end of the installation process before removing the ! directory; you may need it when installing a db-adaptor (such as ! ``psycopg`` for Postgresql_). ! ! spark v0.6.1 ! ------------ ! ! Spark homepage is at: http://pages.cpsc.ucalgary.ca/~aycock/spark/ ! ! **Important:** do NOT install v0.7+, it will not work, please use v0.6.1 ! which is at: http://pages.cpsc.ucalgary.ca/~aycock/spark/spark-0.6.1.tar.gz ! ! Installation ! Unpack the source distribution, then simply copy the file ``spark.py`` ! somewhere in your python path (for example, in ! ``/usr/lib/python2.x/site-packages/`` or in your ! ``$HOME/lib/python2.x/site-packages/``). ! ! ! PyXML v0.8.3 ! ------------ ! Obtain your copy of PyXML at http://pyxml.sourceforge.net/ ! ! Installation: standard distutils. ! ! ------------------ ! Database specifics ! ------------------ ! ! The rest of the document addresses installation of specific python ! adaptors. You do not have to install all of them: simply choose at least one ! in the list of possible python adaptors for the database server you want to ! connect to. ! ! ! MySQL ! ----- ! The only supported python db-adaptor is MySQL-python v0.9.2. ! ! You'll find it at: http://sourceforge.net/projects/mysql-python ! ! Installation: standard distutils. ! ! Postgresql ! ---------- + Three python db-adaptors are supported, + Either: + + * psycopg v1.1.8, at http://initd.org/software/psycopg + + Installation: psycopg uses the standard scheme ``./configure && + make``. However, depending on your installation, you may need to + specify where the C headers for postgresql and egenix-datetime are + located. Example:: + + ./configure --with-postgres-includes=/usr/include/postgresql \ + --with-mxdatetime-includes=/tmp/egenix-mx-base-2.0.5/mx/DateTime/mxDateTime \ + [--with-python=/usr/bin/python2.2] + make + cp psycopgmodule.so <somewhere in your $PYTHONPATH> + + (here the egenix extensions for Python where unpacked and installed + from ``/tmp``). + + + * PyGreSQL: http://www.druid.net/pygresql/ + The last release can be found at + ftp://ftp.pygresql.org/pub/distrib/PyGreSQL.tgz + + Installation: standard distutils. + + Note 1: + + Depending on your installation, ``./setup.py`` will or will not find + the header file for postgresql. If it fails on lines like:: + + gcc -g -O2 -Wall -Wstrict-prototypes -fPIC \ + -I/usr/include/pgsql -I/usr/local/include/python2.1 \ + -c pgmodule.c -o build/temp.linux-i686-2.1/pgmodule.o + + correct it by hand by including the correct include-path (with + option ``-I``. For example, on my machine, I need to change it to:: + + gcc -g -O2 -Wall -Wstrict-prototypes -fPIC \ + -I/usr/include/postgresql -I/usr/include/postgresql/server + -I/usr/local/include/python2.1 \ + -c pgmodule.c -o build/temp.linux-i686-2.1/pgmodule.o + + Note 2: + + If you then get errors when using it, with errors like:: + + _pg.error:ERROR: Attribute "typprtlen" not found + + you need to patch ``pgdb.py``, here is the patch:: + + --- pgdb.ori.py Sun Aug 10 18:52:28 2003 + +++ pgdb.py Sun Aug 10 18:52:35 2003 + @@ -147,7 +147,7 @@ + return self.__type_cache[oid] + except: + self.__source.execute( + - "SELECT typname, typprtlen, typlen " + + "SELECT typname, typlen as typprtlen, typlen " + "FROM pg_type WHERE oid = %s" % oid + ) + res = self.__source.fetch(1)[0] + + (cf. http://archives.postgresql.org/pgsql-bugs/2003-01/msg00099.php) + + * pyPgSQL v2.4, which you can get at http://pypgsql.sourceforge.net/ + + Installation: standard distutils. + + SQLite + ------ + + The only supported python db-adaptor is ``pysqlite v0.4.3``. + Tested w/ SQLite database server v2.8.5 + + Get it at: http://pysqlite.sourceforge.net/ + + Installation: standard distutils. + + Note: + + Depending on your local installation, the standard ``setup.py`` may be + unable to locate the header files for sqlite, and the libraries as + well. If this is the case, you'll get a message like:: + + gcc -g -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/sqlite -I/usr/local/include/python2.1 -c _sqlite.c -o build/temp.linux-i686-2.1/_sqlite.o + _sqlite.c:30: sqlite.h: No such file or directory + error: command 'gcc' failed with exit status 1 + + In this case, you need to locate the header files and the libraries, + and modify ``setup.py`` accordingly. For example, on linux and with + sqlite built from source in /home/user/sqlite_build, you'll make the + following changes:: + + if sys.platform in ("linux-i386", "linux2"): # most Linux + include_dirs = ['/usr/include/sqlite', '/home/user/sqlite_build' ] + library_dirs = ['/usr/lib/', '/home/user/sqlite_build/.libs' ] + + Note 2: + + Verify your pysqlite installation: + + >>> import pysqlite + + If you get a traceback saying:: + + ImportError: libsqlite.so.0: cannot open shared object file: No such file or directory + + you forgot to put the sqlite libraries (located in + ``sqlite_build/.libs`` if you built sqlite in directory + ``sqlite_build/``) where your system can find it. Either move them + where they should be, or (unix) add this ``.libs`` directory in the + environment variable ``LD_LIBRARY_PATH``. --- DEPENDENCIES DELETED --- |
From: <sbi...@us...> - 2003-08-10 16:21:46
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv30320 Modified Files: CHANGES Log Message: Updated Index: CHANGES =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/CHANGES,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CHANGES 10 Aug 2003 14:43:16 -0000 1.4 --- CHANGES 10 Aug 2003 16:21:44 -0000 1.5 *************** *** 8,11 **** --- 8,14 ---- -------------------------------------------------------- + * Fixed bug #785913: "LIKE qualifier w/ raw '%' and '_' characters does not + work w/ SQLite" + * Fixed bug #786217: 'Qualifier LIKE can be case-insensitive' (bug was observed for MySQL and SQLite) |
From: <sbi...@us...> - 2003-08-10 14:43:18
|
Update of /cvsroot/modeling/ProjectModeling In directory sc8-pr-cvs1:/tmp/cvs-serv16799 Modified Files: CHANGES Log Message: Fixed bug #785913: "LIKE qualifier w/ raw '%' and '_' characters does not work w/ SQLite" Fixed bug #786217: 'Qualifier LIKE can be case-insensitive' (bug was observed for MySQL and SQLite) Index: CHANGES =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/CHANGES,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CHANGES 9 Aug 2003 15:11:13 -0000 1.3 --- CHANGES 10 Aug 2003 14:43:16 -0000 1.4 *************** *** 8,11 **** --- 8,14 ---- -------------------------------------------------------- + * Fixed bug #786217: 'Qualifier LIKE can be case-insensitive' (bug was + observed for MySQL and SQLite) + * Fixed: Postgresql Layer can now correctly handled raw '_' characters in a LIKE statement |