Exemplo n.º 1
0
    def x_test_install(self):
        
        def resolver(name):
            if name == self.bundle.identity.name or name == self.bundle.identity.vname:
                return self.bundle
            else:
                return False
        
        def progress_cb(lr, type,name,n):
            if n:
                lr("{} {}: {}".format(type, name, n))
            else:
                self.bundle.log("{} {}".format(type, name))
        
        from databundles.warehouse import new_warehouse
        from functools import partial
        print "Getting warehouse"
        w = new_warehouse(self.rc.warehouse('postgres'))

        print "Re-create database"
        w.database.enable_delete = True
        w.resolver = resolver
        w.progress_cb = progress_cb
        
        try: w.drop()
        except: pass
        
        w.create()

        ps = self.bundle.partitions.all
        
        print "{} partitions".format(len(ps))
        
        for p in self.bundle.partitions:
            lr = self.bundle.init_log_rate(10000)
            w.install(p, progress_cb = partial(progress_cb, lr) )

        self.assertTrue(w.has(self.bundle.identity.vname))

        for p in self.bundle.partitions:
            self.assertTrue(w.has(p.identity.vname))

        for p in self.bundle.partitions:
            w.remove(p.identity.vname)

        print w.get(self.bundle.identity.name)
        print w.get(self.bundle.identity.vname)
        print w.get(self.bundle.identity.id_)
        
        w.install(self.bundle)
         
        print w.get(self.bundle.identity.name)
        print w.get(self.bundle.identity.vname)
        print w.get(self.bundle.identity.id_)

        for p in self.bundle.partitions:
            lr = self.bundle.init_log_rate(10000)
            w.install(p, progress_cb = partial(progress_cb, lr))
Exemplo n.º 2
0
def warehouse_command(args, rc, src):
    from databundles.warehouse import new_warehouse

    if args.is_server:
        config  = src
    else:
        config = rc

    w = new_warehouse(config.warehouse(args.name))

    globals()['warehouse_'+args.subcommand](args, w,config)
Exemplo n.º 3
0
 def test_create(self):
     from databundles.warehouse import new_warehouse
     
     w = new_warehouse(self.rc.warehouse('postgres'))
     
     print "Re-create database"
     w.database.enable_delete = True
     w.resolver = lambda name: self.resolver(name)
     lr = self.bundle.init_log_rate(10000)
     w.progress_cb = lambda type_,name,n: self.progress_cb(lr, type_,name,n)
     
     try: w.drop()
     except: pass
     
     w.create()
     w.library.create()
     
     w.install(self.bundle)
     
     w.create_table(self.bundle.dataset.vid, "ttwo")