From 4d42442c317f1a6b9c042e280811541f4084505f Mon Sep 17 00:00:00 2001 From: niphlod Date: Tue, 23 Sep 2014 00:04:42 +0200 Subject: [PATCH] better types by default, given that we're on 2005 at least --- gluon/dal.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gluon/dal.py b/gluon/dal.py index 9d5e0fa0..bbc990ca 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -3594,6 +3594,36 @@ class MSSQL3Adapter(MSSQLAdapter): Requires MSSQL >= 2005, uses `ROW_NUMBER()` """ + + types = { + 'boolean': 'BIT', + 'string': 'VARCHAR(%(length)s)', + 'text': 'VARCHAR(MAX)', + 'json': 'VARCHAR(MAX)', + 'password': 'VARCHAR(%(length)s)', + 'blob': 'IMAGE', + 'upload': 'VARCHAR(%(length)s)', + 'integer': 'INT', + 'bigint': 'BIGINT', + 'float': 'FLOAT', + 'double': 'FLOAT', + 'decimal': 'NUMERIC(%(precision)s,%(scale)s)', + 'date': 'DATETIME', + 'time': 'TIME(7)', + 'datetime': 'DATETIME', + 'id': 'INT IDENTITY PRIMARY KEY', + 'reference': 'INT NULL, CONSTRAINT %(constraint_name)s FOREIGN KEY (%(field_name)s) REFERENCES %(foreign_key)s ON DELETE %(on_delete_action)s', + 'list:integer': 'VARCHAR(MAX)', + 'list:string': 'VARCHAR(MAX)', + 'list:reference': 'VARCHAR(MAX)', + 'geometry': 'geometry', + 'geography': 'geography', + 'big-id': 'BIGINT IDENTITY PRIMARY KEY', + 'big-reference': 'BIGINT NULL, CONSTRAINT %(constraint_name)s FOREIGN KEY (%(field_name)s) REFERENCES %(foreign_key)s ON DELETE %(on_delete_action)s', + 'reference FK': ', CONSTRAINT FK_%(constraint_name)s FOREIGN KEY (%(field_name)s) REFERENCES %(foreign_key)s ON DELETE %(on_delete_action)s', + 'reference TFK': ' CONSTRAINT FK_%(foreign_table)s_PK FOREIGN KEY (%(field_name)s) REFERENCES %(foreign_table)s (%(foreign_key)s) ON DELETE %(on_delete_action)s', + } + def select_limitby(self, sql_s, sql_f, sql_t, sql_w, sql_o, limitby): if limitby: (lmin, lmax) = limitby