~launchpad-p-s/sofastatistics/main

« back to all changes in this revision

Viewing changes to dbe_plugins/storage/dbe_ms_sqlserver.py

  • Committer: Grant Paton-Simpson
  • Date: 2009-05-19 04:21:43 UTC
  • Revision ID: g@ubuntu-20090519042143-p561mbokz3inefvd
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
"""
 
2
    def getFldType(self, adotype):
 
3
        
 
4
        # http://www.devguru.com/Technologies/ado/quickref/field_type.html
 
5
        # Yes, yes could be done with a dict ;-)
 
6
        # Yes - some are not found in mdbs (may eventually rationalise for all 
 
7
        #    ADO databases so keep results of research on hand here until then)
 
8
        
 
9
        if adotype == win32com.client.constants.adUnsignedTinyInt:
 
10
            fld_type = UNSIGNEDTINYINT
 
11
        elif adotype == win32com.client.constants.adTinyInt:
 
12
            fld_type = TINYINT
 
13
        elif adotype == win32com.client.constants.adUnsignedSmallInt:
 
14
            fld_type = UNSIGNEDSMALLINT
 
15
        elif adotype == win32com.client.constants.adSmallInt:
 
16
            fld_type = SMALLINT
 
17
        elif adotype == win32com.client.constants.adUnsignedInt:
 
18
            fld_type = UNSIGNEDINTEGER
 
19
        elif adotype == win32com.client.constants.adInteger:
 
20
            fld_type = INTEGER
 
21
        elif adotype == win32com.client.constants.adUnsignedBigInt:
 
22
            fld_type = UNSIGNEDBIGINT
 
23
        elif adotype == win32com.client.constants.adBigInt:
 
24
            fld_type = BIGINT
 
25
        elif adotype == win32com.client.constants.adSingle:
 
26
            fld_type = SINGLE
 
27
        elif adotype == win32com.client.constants.adDouble:
 
28
            fld_type = DOUBLE
 
29
        elif adotype == win32com.client.constants.adCurrency:
 
30
            fld_type = CURRENCY
 
31
        elif adotype == win32com.client.constants.adDecimal:
 
32
            fld_type = DECIMAL
 
33
        elif adotype == win32com.client.constants.adNumeric:
 
34
            fld_type = NUMERIC # Number with fixed precision and scale
 
35
        elif adotype == win32com.client.constants.adVarNumeric:
 
36
            fld_type = VARNUMERIC # Variable width exact numeric with signed scale
 
37
        elif adotype == win32com.client.constants.adBoolean:
 
38
            fld_type = BOOLEAN
 
39
        elif adotype == win32com.client.constants.adDate:
 
40
            fld_type = DATE
 
41
        elif adotype == win32com.client.constants.adDBTimeStamp:
 
42
            fld_type = TIMESTAMP
 
43
        elif adotype == win32com.client.constants.adVarWChar:
 
44
            fld_type = VARCHAR
 
45
        elif adotype == win32com.client.constants.adLongVarWChar:
 
46
            fld_type = LONGVARCHAR
 
47
        else:
 
48
            raise Exception, "Unrecognised ADO field type %d" % adotype
 
49
        return fld_type
 
50
"""