68 |
return "date" |
return "date" |
69 |
|
|
70 |
def text(self, object): |
def text(self, object): |
71 |
return "blob" |
if hasattr(object,'length') and object.length <= 2000: |
72 |
|
return "varchar(%s)" % object.length |
73 |
|
else: |
74 |
|
return "blob" |
75 |
|
|
76 |
def key(self, object): |
def key(self, object): |
77 |
return "integer" |
return "integer" |
86 |
|
|
87 |
if object.defaultwith == "serial": |
if object.defaultwith == "serial": |
88 |
|
|
89 |
gen = tablename + '_' + name + '_seq' |
gen = tablename + '_' + name + '_gen' |
90 |
if len(gen) > self.MAX_NAME_LENGTH: |
if len(gen) > self.MAX_NAME_LENGTH: |
91 |
gen = tablename + "_seq_" |
gen = tablename + "_gen_" |
92 |
gen += str(object._parent._children.index(object)) |
gen += str(object._parent._children.index(object)) |
93 |
if len(gen) > self.MAX_NAME_LENGTH: |
if len(gen) > self.MAX_NAME_LENGTH: |
94 |
gen = tablename + "_" + str(id(object)) + '_seq' |
gen = tablename + "_" + str(id(object)) + '_gen' |
95 |
if len(gen) > self.MAX_NAME_LENGTH: |
if len(gen) > self.MAX_NAME_LENGTH: |
96 |
gen = 'seq_%s' % id(object) |
gen = 'gen_%s' % id(object) |
97 |
|
|
98 |
trigBody.append(" new.%s=gen_id(%s,1);\n" % (name,gen)) |
trigBody.append(" new.%s=gen_id(%s,1);\n" % (name,gen)) |
99 |
|
|
114 |
def createTable(self, name, fields, pretable=[], posttable=[]): |
def createTable(self, name, fields, pretable=[], posttable=[]): |
115 |
trigBody = self.trigBody |
trigBody = self.trigBody |
116 |
|
|
117 |
posttable.append ("SET TERM ^ ;\n"+\ |
if len(trigBody): |
118 |
|
posttable.append ("SET TERM ^ ;\n"+\ |
119 |
"CREATE TRIGGER trg_%s FOR %s ACTIVE BEFORE INSERT" % (name,name)+\ |
"CREATE TRIGGER trg_%s FOR %s ACTIVE BEFORE INSERT" % (name,name)+\ |
120 |
" POSITION 0 AS BEGIN\n" + ''.join(trigBody)+\ |
" POSITION 0 AS BEGIN\n" + ''.join(trigBody)+\ |
121 |
"END ^\n"+\ |
"END ^\n"+\ |