k i got it, rev 2609. On May 7, 2007, at 3:44 PM, shday wrote:
> > The mapper: > > mapper(StudyRequest,study_request_table,properties={'model':relation > (Model, > > primaryjoin=model_table.c.model_id==study_request_table.c.model_id, > > foreign_keys=[study_request_table.c.model_id], > lazy=False), #backref doesn't work > in 3.6 > > 'technicians':relation > (TechnicianStudyRequest,backref='study_request',lazy=False), > > 'action_plans':relation(ActionPlan,backref='study_request',lazy=True), > > 'comp_med_resources':relation > (CompMedResource,backref='study_request',lazy=False)}) > > The selectfirst: > > request = session.query(StudyRequest).selectfirst( > and_(model_table.c.model_acronym == acronym, > study_request_table.c.model_request_counter == counter, > model_table.c.model_id == study_request_table.c.model_id)) > > Could the problem have something to do with the column being Numeric > instead of OracleNumeric? Seems to be that way because reflection was > overridden. > > > > > On May 7, 3:14 pm, Michael Bayer <[EMAIL PROTECTED]> wrote: >> yeah also whats your mapper on that ? is there a string-based >> order_by in there somewhere (or in the query.selectfirst() call) ? i >> dont understand why that name wouldnt be truncated. >> >> On May 7, 2007, at 3:09 PM, shday wrote: >> >> >> >> >> >>> The table is reflected here: >> >>> study_request_table = Table('study_request',metadata, >> >>> Column('study_request_id',Numeric(precision=6,length=0), >> >>> Sequence('study_request_seq'),primary_key=True,nullable=False), >>> autoload=True) >> >>> Here in what metadata.table['study_request'] gives: >> >>> Table('study_request',DynamicMetaData(),Column >>> ('acc_protocol_id',OracleString(le >>> ngth=8),ForeignKey >>> ('model_acc_protocol.acc_protocol_id'),nullable=False),Column( >>> 'mcode',OracleString(length=8)),Column >>> ('date_submitted',OracleDateTime(timezone= >>> False)),Column('action_plan_wiki_id',OracleNumeric >>> (precision=10,length=0)),Colum >>> n('fte_weeks',OracleNumeric(precision=12,length=4)),Column >>> ('fte_weekends',Oracle >>> Numeric(precision=12,length=4)),Column >>> ('year_submitted',OracleNumeric(precision= >>> 4,length=0)),Column('study_request_id',Numeric >>> (precision=6,length=0),primary_key >>> =True,nullable=False,default=Sequence >>> ('study_request_seq',start=None,increment=N >>> one,optional=False)),Column('model_id',OracleNumeric >>> (precision=6,length=0),Forei >>> gnKey('model_acc_protocol.model_id'),nullable=False),Column >>> ('requester_isid',Ora >>> cleString(length=8),nullable=False),Column >>> ('justification',OracleString(length=4 >>> 000)),Column('study_date',OracleDateTime >>> (timezone=False),nullable=False),Column( >>> 'animals_requested',OracleNumeric(precision=4,length=0)),Column >>> ('animals_used',O >>> racleNumeric(precision=4,length=0)),Column('cancelled',OracleNumeric >>> (precision=1 >>> ,length=0),nullable=False,default=PassiveDefault >>> (<sqlalchemy.sql._TextClause >>> obj >>> ect at >>> 0x016FB630>)),Column('model_request_counter',OracleNumeric >>> (precision=6,le >>> ngth=0),nullable=False),Column('study_end_date',OracleDateTime >>> (timezone=False),n >>> ullable=False),Column('note',OracleString(length=4000)),Column >>> ('action_plan',Ora >>> cleBinary(length=None)),Column('media_type',OracleString >>> (length=64)),Column('act >>> ion_plan_md5',OracleString(length=32)),schema=None) >> >>> On May 7, 2:46 pm, Michael Bayer <[EMAIL PROTECTED]> wrote: >>>> well its generally that the identifier name is too long. i dont >>>> exactly understand how its coming out without its proper truncation >>>> being set, and it might be related to how the oracle module >>>> redefines >>>> "ORDER BY"...so for now youd have to stick with 0.3.6 or shorten >>>> the >>>> column name on your table. if you want to send me the "Table" for >>>> that i can try to create a test out of it. >> >>>> On May 7, 2007, at 2:37 PM, shday wrote: >> >>>>> I am getting a new error when using r2607. When I switch back >>>>> to 3.6 >>>>> there is no error. >> >>>>> Here is the stack trace: >> >>>>> Page handler: <bound method StudyRequestController.default of >>>>> <srt.controllers.StudyRequestController instance at 0x015D6620>> >>>>> Traceback (most recent call last): >>>>> File "C:\Python24\lib\site-packages\cherrypy-2.2.1-py2.4.egg >>>>> \cherrypy >>>>> \_cphttptools.py", line 105, in _run >>>>> self.main() >>>>> File "C:\Python24\lib\site-packages\cherrypy-2.2.1-py2.4.egg >>>>> \cherrypy >>>>> \_cphttptools.py", line 254, in main >>>>> body = page_handler(*virtual_path, **self.params) >>>>> File "<string>", line 3, in default >>>>> File "C:\Documents and Settings\Stephen\Desktop\tg_checkout >>>>> \turbogears\controllers.py", line 334, in expose >>>>> File "<string>", line 5, in run_with_transaction >>>>> File "c:\documents and settings\daystev\desktop\tg_checkout >>>>> \turbogears\database.py", line 354, in sa_rwt >>>>> retval = dispatch_exception(e,args,kw) >>>>> File "c:\documents and settings\daystev\desktop\tg_checkout >>>>> \turbogears\database.py", line 343, in sa_rwt >>>>> retval = func(*args, **kw) >>>>> File "<string>", line 5, in _expose >>>>> File "C:\Documents and Settings\Stephen\Desktop\tg_checkout >>>>> \turbogears\controllers.py", line 351, in <lambda> >>>>> File "C:\Documents and Settings\Stephen\Desktop\tg_checkout >>>>> \turbogears\controllers.py", line 378, in _execute_func >>>>> File "C:\Documents and Settings\Stephen\Desktop\tg_checkout >>>>> \turbogears\errorhandling.py", line 73, in try_call >>>>> File "C:\Documents and Settings\Daystev\Desktop\srt_trunk\srt- >>>>> project >>>>> \srt\controllers.py", line 232, in default >>>>> return action(item, **params) >>>>> File "<string>", line 3, in edit >>>>> File "C:\Documents and Settings\Stephen\Desktop\tg_checkout >>>>> \turbogears\controllers.py", line 330, in expose >>>>> File "<string>", line 5, in _expose >>>>> File "C:\Documents and Settings\Stephen\Desktop\tg_checkout >>>>> \turbogears\controllers.py", line 351, in <lambda> >>>>> File "C:\Documents and Settings\Stephen\Desktop\tg_checkout >>>>> \turbogears\controllers.py", line 378, in _execute_func >>>>> File "C:\Documents and Settings\Stephen\Desktop\tg_checkout >>>>> \turbogears\errorhandling.py", line 73, in try_call >>>>> File "C:\Documents and Settings\Daystev\Desktop\srt_trunk\srt- >>>>> project >>>>> \srt\controllers.py", line 251, in edit >>>>> request = dbmodel.request(request_id) >>>>> File "C:\Documents and Settings\Daystev\Desktop\srt_trunk\srt- >>>>> project >>>>> \srt\model.py", line 328, in request >>>>> model_table.c.model_id == study_request_table.c.model_id)) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\orm\query.py", line 270, in selectfirst >>>>> ret = self.select_whereclause(whereclause=arg, **kwargs) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\orm\query.py", line 326, in select_whereclause >>>>> return self._select_statement(statement, params=params) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\orm\query.py", line 939, in _select_statement >>>>> return self.execute(statement, params=params, **kwargs) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\orm\query.py", line 843, in execute >>>>> result = self.session.execute(self.mapper, clauseelement, >>>>> params=params) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\orm\session.py", line 183, in execute >>>>> return self.connection(mapper, >>>>> close_with_result=True).execute(clause, params, **kwargs) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\engine\base.py", line 496, in execute >>>>> return Connection.executors[c](self, object, *multiparams, >>>>> **params) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\engine\base.py", line 536, in execute_clauseelement >>>>> return self.execute_compiled(elem.compile >>>>> (dialect=self.dialect, >>>>> parameters=param), *multiparams, **params) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\engine\base.py", line 547, in execute_compiled >>>>> self._execute_raw(context) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\engine\base.py", line 560, in _execute_raw >>>>> self._execute(context) >>>>> File "c:\documents and settings\daystev\desktop\sqlalchemy_co >>>>> \lib >>>>> \sqlalchemy\engine\base.py", line 578, in _execute >>>>> raise exceptions.SQLError(context.statement, >>>>> context.parameters, >>>>> e) >>>>> SQLError: (DatabaseError) ORA-00904: >>>>> "TBL_ROW_COUNT"."STUDY_REQUEST_STUDY_REQUEST_ID": invalid >>>>> identifier >>>>> 'SELECT study_request.model_id AS study_request_model_id, >>>>> study_request.action_plan_wiki_id AS study_request_action_pla_2, >>>>> anon_dd00.task AS anon_dd00_task, anon_dd00.study_request_id AS >>>>> anon_dd00_study_request_id, anon_dd00.fte_days AS >>>>> anon_dd00_fte_days, >>>>> study_request.animals_requested AS study_request_animals_re_3, >>>>> study_request.note AS study_request_note, >>>>> study_request.media_type AS >>>>> study_request_media_type, study_request.study_date AS >>>>> study_request_study_date, study_request.study_end_date AS >>>>> study_request_study_end_date, study_request.acc_protocol_id AS >>>>> study_request_acc_protocol_id, study_request.justification AS >>>>> study_request_justification, study_request.year_submitted AS >>>>> study_request_year_submitted, study_request.fte_weeks AS >>>>> study_request_fte_weeks, study_request.date_submitted AS >>>>> study_request_date_submitted, study_request.action_plan_md5 AS >>>>> study_request_action_plan_md5, study_request.fte_weekends AS >>>>> study_request_fte_weekends, study_request.requester_isid AS >>>>> study_request_requester_isid, anon_3ada.study_request_id AS >>>>> anon_3ada_study_request_id, anon_3ada.technician_isid AS >>>>> anon_3ada_technician_isid, anon_3ada.task AS anon_3ada_task, >>>>> study_request.mcode AS study_request_mcode, >>>>> study_request.action_plan >>>>> AS study_request_action_plan, study_request.cancelled AS >>>>> study_request_cancelled, anon_59b7.model_acronym AS >>>>> anon_59b7_model_acronym, anon_59b7.therapeutic_area AS >>>>> anon_59b7_therapeutic_area, anon_59b7.model_id AS >>>>> anon_59b7_model_id, >>>>> anon_59b7.investigator_isid AS anon_59b7_investigator_isid, >>>>> anon_59b7.active AS anon_59b7_active, anon_59b7.model_name AS >>>>> anon_59b7_model_name, study_request.study_request_id AS >>>>> study_request_study_requ_1, study_request.animals_used AS >>>>> study_request_animals_used, study_request.model_request_counter AS >>>>> study_request_model_requ_4 \nFROM (SELECT >>>>> study_request_study_requ_1 >>>>> \nFROM (SELECT study_request.study_request_id AS >>>>> study_request_study_requ_1, study_request.rowid AS >>>>> study_request_oid, >>>>> ROW_NUMBER() OVER (ORDER BY study_request.rowid) AS ora_rn \nFROM >>>>> study_request, model \nWHERE model.model_acronym >>>>> = :model_model_acronym AND study_request.model_request_counter >>>>> = :study_request_model_requ_1 AND model.model_id = >>>>> study_request.model_id) >> >> ... >> >> read more ยป- Hide quoted text - >> >> - Show quoted text - > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---