Skip to content

Commit

Permalink
CUBRID backend must not make use of MySQL backend
Browse files Browse the repository at this point in the history
  • Loading branch information
andreyij committed Nov 14, 2011
1 parent 9270b47 commit fbde261
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 5 deletions.
Empty file added __init__.py
Empty file.
11 changes: 6 additions & 5 deletions base.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
from django.db import utils
from django.db.backends import *
from django.db.backends.signals import connection_created
from django.db.backends.mysql.client import DatabaseClient
from django.db.backends.mysql.creation import DatabaseCreation
from django.db.backends.mysql.introspection import DatabaseIntrospection
from django.db.backends.mysql.validation import DatabaseValidation
from django.db.backends.cubrid.client import DatabaseClient
from django.db.backends.cubrid.creation import DatabaseCreation
from django.db.backends.cubrid.introspection import DatabaseIntrospection
from django.db.backends.cubrid.validation import DatabaseValidation
from django.utils.safestring import SafeString, SafeUnicode

DatabaseError = Database.DatabaseError
Expand All @@ -33,7 +33,8 @@ def __init__(self, cursor):

def execute(self, query, args=None):
# Simple return for test. Should enclose in try/except. See MySQL.
return self.cursor.execute(query, args)
print query
return self.cursor.execute(query, args)

def executemany(self, query, args):
# Simple return for test. Should enclose in try/except. See MySQL.
Expand Down
8 changes: 8 additions & 0 deletions client.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import os
import sys

from django.db.backends import BaseDatabaseClient

class DatabaseClient(BaseDatabaseClient):
pass

30 changes: 30 additions & 0 deletions creation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from django.db.backends.creation import BaseDatabaseCreation

class DatabaseCreation(BaseDatabaseCreation):
# This dictionary maps Field objects to their associated CUBRID column
# types, as strings. Column-type strings can contain format strings; they'll
# be interpolated against the values of Field.__dict__ before being output.
# If a column type is set to None, it won't be included in the output.
data_types = {
'AutoField': 'integer AUTO_INCREMENT',
'BooleanField': 'bool',
'CharField': 'varchar(%(max_length)s)',
'CommaSeparatedIntegerField': 'varchar(%(max_length)s)',
'DateField': 'date',
'DateTimeField': 'datetime',
'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)',
'FileField': 'varchar(%(max_length)s)',
'FilePathField': 'varchar(%(max_length)s)',
'FloatField': 'double precision',
'IntegerField': 'integer',
'BigIntegerField': 'bigint',
'IPAddressField': 'char(15)',
'NullBooleanField': 'bool',
'OneToOneField': 'integer',
'PositiveIntegerField': 'integer UNSIGNED',
'PositiveSmallIntegerField': 'smallint UNSIGNED',
'SlugField': 'varchar(%(max_length)s)',
'SmallIntegerField': 'smallint',
'TextField': 'longtext',
'TimeField': 'time',
}
9 changes: 9 additions & 0 deletions introspection.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from django.db.backends import BaseDatabaseIntrospection

class DatabaseIntrospection(BaseDatabaseIntrospection):

def get_table_list(self, cursor):
"Returns a list of table names in the current database."
cursor.execute("SHOW TABLES")
return [row[0] for row in cursor.fetchall()]

5 changes: 5 additions & 0 deletions validation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from django.db.backends import BaseDatabaseValidation

class DatabaseValidation(BaseDatabaseValidation):
pass

0 comments on commit fbde261

Please sign in to comment.