commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/designer/src forms/wizards/CreateSchema.py...


From: Jan Ischebeck
Subject: gnue/designer/src forms/wizards/CreateSchema.py...
Date: Wed, 24 Jul 2002 11:23:36 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jan Ischebeck <address@hidden>  02/07/24 11:23:36

Modified files:
        designer/src/forms/wizards: CreateSchema.py 
        designer/src/schema/parser: GSParser.py Objects.py 

Log message:
        add first foreign key creation feature to CreateSchema wizard.
        changed GSSchema definition

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/CreateSchema.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/parser/GSParser.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/parser/Objects.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text

Patches:
Index: gnue/designer/src/forms/wizards/CreateSchema.py
diff -c gnue/designer/src/forms/wizards/CreateSchema.py:1.2 
gnue/designer/src/forms/wizards/CreateSchema.py:1.3
*** gnue/designer/src/forms/wizards/CreateSchema.py:1.2 Wed Jul 24 10:03:30 2002
--- gnue/designer/src/forms/wizards/CreateSchema.py     Wed Jul 24 11:23:36 2002
***************
*** 126,131 ****
--- 126,132 ----
      #         for a fk_source, or a datasource field (in <block ...>)
      #       * add a way to check for a datasource name with right case before
      #         just don't care for the case
+     #       * add a function for guessing row types
      
      if obj._type=='GFEntry':
        myblock=obj.findParentOfType('GFBlock')
***************
*** 160,168 ****
          
          newtable = GSTable(self.gstables)
          newtable.name=obj.table
!         self.fieldlistoftable[string.lower(obj.name)]=GSFields(newtable)
!         # print "add table '%s'" % obj.table
  
      else:
        pass
        
--- 161,193 ----
          
          newtable = GSTable(self.gstables)
          newtable.name=obj.table
!         fields=GSFields(newtable)
!         self.fieldlistoftable[string.lower(obj.name)]=fields
!         #print "add table '%s'" % obj.table
!         # check for masterlink
!         if hasattr(obj,'master'):
!           #print "MASTER: %s " % obj.master
!           # get the datasource for that
!         if hasattr(obj,'masterlink'):          
!           #print "MASTERLINK: %s " % obj.masterlink        
!           # create a primary key out of that
!         if hasattr(obj,'detaillink'):
!           #print "DETAILLINK: %s " % obj.detaillink
!           # create a foreign key out of that                    
!           newconstraint=GSConstraint(GSConstraints(newtable))
!           newconstraint.name="fk_%s_%s" % (obj.table,obj.detaillink)
!           newconstraint.type="foreignkey"
!           nfk_field=GSConstraintField(newconstraint)
!           nfk_field.name=obj.detaillink
!           nfk_ref=GSConstraintRef(newconstraint)
!           nfk_ref.name=obj.masterlink
!           nfk_ref.table=obj.master  # ERROR: should be replaced by dtssource
  
+           # create a field for that key (TODO: check for already defined keys)
+           newfield = GSField(fields)
+           newfield.name=obj.detaillink
+           newfield.type='string'
+           
      else:
        pass
        
Index: gnue/designer/src/schema/parser/GSParser.py
diff -c gnue/designer/src/schema/parser/GSParser.py:1.5 
gnue/designer/src/schema/parser/GSParser.py:1.6
*** gnue/designer/src/schema/parser/GSParser.py:1.5     Mon Jul 22 00:09:40 2002
--- gnue/designer/src/schema/parser/GSParser.py Wed Jul 24 11:23:36 2002
***************
*** 166,171 ****
--- 166,182 ----
                 'Typecast': GTypecast.name } },
           'ParentTags':  ('constraint',) },
  
+       'constraintref':   {
+          'BaseClass': Objects.GSConstraintField,
+          'Attributes': {
+             'name':        {
+                'Required': 1,
+                'Typecast': GTypecast.name },
+             'table':        {
+                'Required': 1,
+                'Typecast': GTypecast.name } },
+          'ParentTags':  ('constraint',) },
+ 
        'indexes':   {
           'BaseClass': Objects.GSIndexes,
           'SingleInstance': 1,
Index: gnue/designer/src/schema/parser/Objects.py
diff -c gnue/designer/src/schema/parser/Objects.py:1.4 
gnue/designer/src/schema/parser/Objects.py:1.5
*** gnue/designer/src/schema/parser/Objects.py:1.4      Mon Jul 22 00:09:40 2002
--- gnue/designer/src/schema/parser/Objects.py  Wed Jul 24 11:23:36 2002
***************
*** 77,82 ****
--- 77,86 ----
    def __init__(self, parent):
      GSObject.__init__(self, parent, type='GSConstraintField')
  
+ class GSConstraintRef(GSObject):
+   def __init__(self, parent):
+     GSObject.__init__(self, parent, type='GSConstraintRef')
+ 
  class GSIndexes(GSObject):
    def __init__(self, parent):
      GSObject.__init__(self, parent, type='GSIndexes')



reply via email to

[Prev in Thread] Current Thread [Next in Thread]