diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-18 20:33:20 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-18 20:33:20 +0000 |
commit | 55ce6851e08daeba3be8e8c32d9e4618e53a8d5e (patch) | |
tree | 6b6e473f166fd0f11addc7ad9b7775b7ef198bdd /lib/sqlalchemy/databases/mysql.py | |
parent | 38dfca8c7f69aa578299035145d1359984edcf83 (diff) | |
download | sqlalchemy-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.py | 16 |
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() |