summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/drizzle/mysqldb.py
blob: 7d91cc368be3622e873363b926e4d535fe7d5bfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
"""
.. dialect:: drizzle+mysqldb
    :name: MySQL-Python
    :dbapi: mysqldb
    :connectstring: drizzle+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>
    :url: http://sourceforge.net/projects/mysql-python


"""

from sqlalchemy.dialects.drizzle.base import (
    DrizzleDialect,
    DrizzleExecutionContext,
    DrizzleCompiler,
    DrizzleIdentifierPreparer)
from sqlalchemy.connectors.mysqldb import (
    MySQLDBExecutionContext,
    MySQLDBCompiler,
    MySQLDBIdentifierPreparer,
    MySQLDBConnector)


class DrizzleExecutionContext_mysqldb(MySQLDBExecutionContext,
                                      DrizzleExecutionContext):
    pass


class DrizzleCompiler_mysqldb(MySQLDBCompiler, DrizzleCompiler):
    pass


class DrizzleIdentifierPreparer_mysqldb(MySQLDBIdentifierPreparer,
                                        DrizzleIdentifierPreparer):
    pass


class DrizzleDialect_mysqldb(MySQLDBConnector, DrizzleDialect):
    execution_ctx_cls = DrizzleExecutionContext_mysqldb
    statement_compiler = DrizzleCompiler_mysqldb
    preparer = DrizzleIdentifierPreparer_mysqldb

    def _detect_charset(self, connection):
        """Sniff out the character set in use for connection results."""

        return 'utf8'


dialect = DrizzleDialect_mysqldb