summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/mysql.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-02-18 20:33:20 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-02-18 20:33:20 +0000
commit55ce6851e08daeba3be8e8c32d9e4618e53a8d5e (patch)
tree6b6e473f166fd0f11addc7ad9b7775b7ef198bdd /lib/sqlalchemy/databases/mysql.py
parent38dfca8c7f69aa578299035145d1359984edcf83 (diff)
downloadsqlalchemy-55ce6851e08daeba3be8e8c32d9e4618e53a8d5e.tar.gz
added indexes to schema/ansisql/engine
slightly different index syntax for mysql fixed mysql Time type to convert from a timedelta to time tweaks to date unit tests for mysql
Diffstat (limited to 'lib/sqlalchemy/databases/mysql.py')
-rw-r--r--lib/sqlalchemy/databases/mysql.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/sqlalchemy/databases/mysql.py b/lib/sqlalchemy/databases/mysql.py
index 0afac7df3..04bdc24fa 100644
--- a/lib/sqlalchemy/databases/mysql.py
+++ b/lib/sqlalchemy/databases/mysql.py
@@ -4,7 +4,7 @@
# This module is part of SQLAlchemy and is released under
# the MIT License: http://www.opensource.org/licenses/mit-license.php
-import sys, StringIO, string, types, re
+import sys, StringIO, string, types, re, datetime
import sqlalchemy.sql as sql
import sqlalchemy.engine as engine
@@ -40,6 +40,13 @@ class MSDate(sqltypes.Date):
class MSTime(sqltypes.Time):
def get_col_spec(self):
return "TIME"
+ def convert_result_value(self, value, engine):
+ # convert from a timedelta value
+ if value is not None:
+ return datetime.time(value.seconds/60/60, value.seconds/60%60, value.seconds - (value.seconds/60*60))
+ else:
+ return None
+
class MSText(sqltypes.TEXT):
def get_col_spec(self):
return "TEXT"
@@ -135,6 +142,9 @@ class MySQLEngine(ansisql.ANSISQLEngine):
def schemagenerator(self, **params):
return MySQLSchemaGenerator(self, **params)
+ def schemadropper(self, **params):
+ return MySQLSchemaDropper(self, **params)
+
def get_default_schema_name(self):
if not hasattr(self, '_default_schema_name'):
self._default_schema_name = text("select database()", self).scalar()
@@ -276,3 +286,7 @@ class MySQLSchemaGenerator(ansisql.ANSISchemaGenerator):
else:
return ""
+class MySQLSchemaDropper(ansisql.ANSISchemaDropper):
+ def visit_index(self, index):
+ self.append("\nDROP INDEX " + index.name + " ON " + index.table.name)
+ self.execute()