/[gnue]/gnue-common/src/schema/scripter/processors/interbase.py
ViewVC logotype

Diff of /gnue-common/src/schema/scripter/processors/interbase.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by jcater, Wed Jun 25 23:09:50 2003 UTC revision 1.3 by jcater, Sat Jun 28 05:52:22 2003 UTC
# Line 68  class Processor(BaseProcessor): Line 68  class Processor(BaseProcessor):
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"
# Line 83  class Processor(BaseProcessor): Line 86  class Processor(BaseProcessor):
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    
# Line 111  class Processor(BaseProcessor): Line 114  class Processor(BaseProcessor):
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"+\

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26