> how come the strack trace shows "beta2" as the version number in the path ?
Yeesh. My bad; I spoke too soon. As you had hypothesized, the error occurs only when I install using --with-cextensions (it doesn't have anything to do with beta2/3). Thanks, Bo On Mon, Mar 29, 2010 at 8:03 PM, Michael Bayer <mike...@zzzcomputing.com> wrote: > how come the strack trace shows "beta2" as the version number in the path ? > did you mean to say between beta1 and beta2 ? it looks specific to the C > rewrite of RowProxy. basically the rows returned by fetchone(), fetchall() > etc. are expected to be tuples. pep 249 specifies "list of tuples" for > fetchmany() and fetchall() though is less specific for fetchone(), though I'm > pretty sure it intends tuples there as well. > > > On Mar 29, 2010, at 7:43 PM, Bo Shi wrote: > >> Also, dunno if it's helpful or not, but this is a regression in >> 0.6beta3. My dialect plugin works as is when using 0.6beta2. >> >> On Mon, Mar 29, 2010 at 7:41 PM, Bo Shi <bs1...@gmail.com> wrote: >>> Thanks, explicitly assigning self.dbapi in my dialect constructor >>> seems to get around the exception. >>> >>> I do, however, encounter a new exception: >>> >>> File "test_vertica.py", line 57, in testTransactionIsolation >>> _, iso_level = e.execute('SHOW TRANSACTION_ISOLATION').fetchone() >>> File >>> "/home/vmc/ENV/lib/python2.6/site-packages/SQLAlchemy-0.6beta2-py2.6-linux-x86_64.egg/sqlalchemy/engine/base.py", >>> line 2204, in fetchone >>> return self.process_rows([row])[0] >>> File >>> "/home/vmc/ENV/lib/python2.6/site-packages/SQLAlchemy-0.6beta2-py2.6-linux-x86_64.egg/sqlalchemy/engine/base.py", >>> line 2163, in process_rows >>> for row in rows] >>> TypeError: row must be a tuple >>> >>> >>> Any idea what's going on? The stack trace isn't very informative, I'm >>> afraid. >>> >>> On Mon, Mar 29, 2010 at 6:05 PM, Michael Bayer <mike...@zzzcomputing.com> >>> wrote: >>>> Bo Shi wrote: >>>>> Hello, >>>>> >>>>> I had a custom dialect based on the PyODBC functionality that was >>>>> working with SQLA SVN-6738. Upgrading to beta 3, my tests no longer >>>>> pass, so I've begun the process updating - on_connect() was easy, now >>>>> I'm stumped on connect(...). I've gotten to the point where, when >>>>> using my dialect, connect() fails because it attempts to run >>>>> self.dbapi.connect(...) but the PyODBC connector seems to implement it >>>>> as a classmethod: >>>>> >>>>> >>>>> Taking the following from the connector in revision control: >>>>> >>>>> 9 class PyODBCConnector(Connector): >>>>> >>>>> 27 �...@classmethod >>>>> 28 def dbapi(cls): >>>>> 29 return __import__('pyodbc') >>>>> >>>>> 84 def initialize(self, connection): >>>>> 85 # determine FreeTDS first. can't issue SQL easily >>>>> 86 # without getting unicode_statements/binds set up. >>>>> 87 >>>>> 88 pyodbc = self.dbapi >>>>> 89 >>>>> 90 dbapi_con = connection.connection >>>>> 91 >>>>> 92 self.freetds = bool(re.match(r".*libtdsodbc.*\.so", >>>>> dbapi_con.getinfo(pyodbc.SQL_DRIVER_NAME))) >>>>> >>>>> >>>>> If dbapi is implemented as a class method, then wouldn't the call on >>>>> line 92 fail? Indeed, that's what I'm seeing. So is self.dbapi >>>>> getting assigned somewhere else? >>>> >>>> yeah there's a slight misfortune in that naming scheme - the @classmethod >>>> should have some different name, probably "import_dbapi". the >>>> reassignment takes place on line 102 of sqlalchemy/engine/default.py. >>>> this naming scheme is also present in 0.5 - it was just the >>>> PyODBCConnector that somehow didn't catch up until recently. >>>> >>>> >>>> >>>> >>>>> >>>>> >>>>> Thanks, >>>>> Bo >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google Groups >>>>> "sqlalchemy" group. >>>>> To post to this group, send email to sqlalch...@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. >>>>> >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "sqlalchemy" group. >>>> To post to this group, send email to sqlalch...@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. >>>> >>>> >>> >>> >>> >>> -- >>> Bo Shi >>> 617-942-1744 >>> >> >> >> >> -- >> Bo Shi >> 617-942-1744 >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sqlalchemy" group. >> To post to this group, send email to sqlalch...@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. >> > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalch...@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. > > -- Bo Shi 617-942-1744 -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@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.