summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-02-19 00:19:16 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-02-19 00:19:16 +0000
commitf1a68f37fa9aea41d21049307fef840f9b6a0116 (patch)
treed762e8e262f0ed6d31c689912fdb82dc55771ad1 /lib/sqlalchemy/engine.py
parent2d5e6eb93b08961d557399899a51dac225832716 (diff)
downloadsqlalchemy-f1a68f37fa9aea41d21049307fef840f9b6a0116.tar.gz
exception package added, support throughout
Diffstat (limited to 'lib/sqlalchemy/engine.py')
-rw-r--r--lib/sqlalchemy/engine.py24
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)