diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-19 00:19:16 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-19 00:19:16 +0000 |
commit | f1a68f37fa9aea41d21049307fef840f9b6a0116 (patch) | |
tree | d762e8e262f0ed6d31c689912fdb82dc55771ad1 /lib/sqlalchemy/engine.py | |
parent | 2d5e6eb93b08961d557399899a51dac225832716 (diff) | |
download | sqlalchemy-f1a68f37fa9aea41d21049307fef840f9b6a0116.tar.gz |
exception package added, support throughout
Diffstat (limited to 'lib/sqlalchemy/engine.py')
-rw-r--r-- | lib/sqlalchemy/engine.py | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/lib/sqlalchemy/engine.py b/lib/sqlalchemy/engine.py index d553eee2d..1ca9d00fd 100644 --- a/lib/sqlalchemy/engine.py +++ b/lib/sqlalchemy/engine.py @@ -23,13 +23,13 @@ The term "database-specific" will be used to describe any object or function tha corresponding to a particular vendor, such as mysql-specific, sqlite-specific, etc. """ -import sqlalchemy.schema as schema import sqlalchemy.pool -import sqlalchemy.util as util -import sqlalchemy.sql as sql -import StringIO, sys, re +import schema +import exceptions +import util +import sql import sqlalchemy.types as types -import sqlalchemy.databases +import StringIO, sys, re __all__ = ['create_engine', 'engine_descriptors'] @@ -236,7 +236,7 @@ class SQLEngine(schema.SchemaEngine): self.bindtemplate = "%%(%s)s" self.positional = True else: - raise "Unsupported paramstyle '%s'" % self._paramstyle + raise DBAPIError("Unsupported paramstyle '%s'" % self._paramstyle) def type_descriptor(self, typeobj): """provides a database-specific TypeEngine object, given the generic object @@ -609,10 +609,10 @@ class SQLEngine(schema.SchemaEngine): return ResultProxy(cursor, self, typemap=typemap) def _execute(self, c, statement, parameters): - #try: - c.execute(statement, parameters) - #except: - # raise "OK ERROR " + statement + " " + repr(parameters) + try: + c.execute(statement, parameters) + except Exception, e: + raise exceptions.SQLError(statement, parameters, e) self.context.rowcount = c.rowcount def _executemany(self, c, statement, parameters): c.executemany(statement, parameters) @@ -642,7 +642,7 @@ class ResultProxy: def __init__(self, key): self.key = key def convert_result_value(self, arg, engine): - raise "Ambiguous column name '%s' in result set! try 'use_labels' option on select statement." % (self.key) + raise InvalidRequestError("Ambiguous column name '%s' in result set! try 'use_labels' option on select statement." % (self.key)) def __init__(self, cursor, engine, typemap = None): """ResultProxy objects are constructed via the execute() method on SQLEngine.""" @@ -663,7 +663,7 @@ class ResultProxy: else: rec = (types.NULLTYPE, i) if rec[0] is None: - raise "None for metadata " + colname + raise DBAPIError("None for metadata " + colname) if self.props.setdefault(colname, rec) is not rec: self.props[colname] = (ResultProxy.AmbiguousColumn(colname), 0) self.keys.append(colname) |