def drop_indices(self, db): for index in self.index_list: name = index.name db.drop_datadef(name) db.drop_index(name) self.index_list = [] self.indices = kjbuckets.kjGraph()
def relbind(self, db, atts): """bind self to db, ignore atts""" name = self.name selection = self.selection selection = self.selection = selection.relbind(db) namelist = self.namelist if namelist is not None: target_atts = selection.attributes() if len(namelist) != len(target_atts): raise "select list and namelist don't match in %s" % name pairs = map(None, namelist, target_atts) self.translate = kjbuckets.kjGraph(pairs) return self
def __init__(self, attribute_names, tuples=None, filter=None): self.indices = kjbuckets.kjGraph() self.index_list = [] self.attribute_names = attribute_names if tuples is None: tuples = [] self.filter = filter self.set_empty() self.add_tuples(tuples) # indices map attname > indices containing att # relation to shadow and log (if non-null) self.log = None self.name = None # anonymous by default self.is_shadow = 0 self.touched = 0