Sure. I am going to leave it until Monday or Tuesday as I hope by that time to return to my work on getting the Sybase driver to pass the test cases. I was away on vacation until last Monday and found it difficult to get back into coding until of course I was confronted by this issue!
Thanks again for the debugging help. pjjH On Apr 3, 3:53 pm, "Michael Bayer" <mike...@zzzcomputing.com> wrote: > any chance of producing a *small* test case for this > > phrrn...@googlemail.com wrote: > > > Yes, the erroneous behavior goes away when this code is commented out. > > No, an empty instrumentation manager *does not cause* the error. Note > > that I had a sqlalchemy Table object called 'attributes' in my model. > > I have changed the code so that I do not import 'attributes' from > > sqlalchemy.orm but instead fully-qualify it. Similarly, I have changed > > the model code to refer to 'chimera_columns' rather than 'attributes'. > > I have also renamed the mapped property 'attributes' as 'columns' as > > at my workplace, nobody other than myself refers to database columns > > as 'attributes'! > > > class AttachNotesAsDocstring(interfaces.InstrumentationManager): > > pass > > > sqlalchemy.orm.attributes.instrumentation_finders.insert(0, lambda > > cls: AttachNotesAsDocstring) > > > However, despite all these changes, if I provide an implementation of > > instrument_attribute as follows then I get the dreaded > > 'ColumnProperty' object has no attribute 'strategy' error. > > > def instrument_attribute(self, class_, key, attr): > > if isinstance(attr.property, properties.ColumnProperty): > > if hasattr(attr.property.columns[0], 'info'): > > attr.__doc__ = attr.property.columns[0].info.get > > ('notes') > > > I can live without the docstring fanciness for now but it has been > > educational tracking down the various problems. > > > pjjH > > > On Apr 3, 3:04 pm, "Michael Bayer" <mike...@zzzcomputing.com> wrote: > >> phrrn...@googlemail.com wrote: > > >> > # class AttachNotesAsDocstring(interfaces.InstrumentationManager): > >> > # def instrument_attribute(self, class_, key, attr): > >> > # if isinstance(attr.property, properties.ColumnProperty): > >> > # if hasattr(attr.property.columns[0], 'info'): > >> > # attr.__doc__ = attr.property.columns[0].info.get > >> > ('notes') > > >> > # attributes.instrumentation_finders.insert(0, lambda cls: > >> > AttachNotesAsDocstring) > > >> the erroneous behavior is narrowed down to this, correct ? is anything > >> within the method raising an error (try putting pdbs or print statements > >> in it)? does having just an empty do-nothing instrumentationmanager > >> cause > >> the error ? --~--~---------~--~----~------------~-------~--~----~ 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 sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---