Exemplo n.º 1
0
    def do_define(self, command):
        if self.fs == None:
            return
        if not command:
            return self.help_define()

        parsed = command.split()
        self.safe_print("Defining stored procedure:", parsed[0])

        if getattr(self.__class__, "do_" + parsed[0], None) != None:
            self.safe_print(parsed[0], "is already defined")

        try:
            method_name = "_".join(["stored", parsed[0]])
            proc_name = "_".join(["procedure", parsed[0]])
            code = """
                def %s(self, command):
                    self.safe_print("Executing stored procedure: %s")
                    try:
                        self.response = self.__safe_call(self.%s, self.prepare_params(self.%s, command), timeout = self.__timeout)
                        self.safe_print(self.response)
                    except SyntaxError, strerr:
                        self.safe_print(strerr)
                   """ % (method_name, parsed[0], proc_name, proc_name)
            tmp = {}
            exec code.strip() in tmp
            setattr(self.__class__, "do_" + parsed[0], tmp[method_name])

            setattr(
                self.__class__, proc_name,
                VoltProcedure(self.fs, parsed[0],
                              [self.__class__.TYPES[i] for i in parsed[1:]]))
        except KeyError, strerr:
            self.safe_print("Unsupported type", strerr)
            self.help_define()
Exemplo n.º 2
0
def get_table_row_count(table_name):
    host = random.choice(options.servers)
    pyclient = FastSerializer(host=host, port=21212)
    count = VoltProcedure(pyclient, '@AdHoc', [FastSerializer.VOLTTYPE_STRING])
    resp = count.call(['select count(*) from %s' % table_name], timeout=360)
    if resp.status != 1 or len(resp.tables[0].tuples) != 1:
        print "Unexpected response to count query from host %s: %s" % (host, resp)
        raise RuntimeError()
    __tuples = resp.tables[0].tuples[0]
    result = __tuples[0]
    print "count query returned: %s" % result
    return result
Exemplo n.º 3
0
    def __initialize(self, host, port, username, password, client_ssl,
                     ssl_config_file, dump_file):
        # if supportSSL:
        self.fs = FastSerializer(host=host,
                                 port=port,
                                 username=username,
                                 password=password,
                                 ssl_config_file=ssl_config_file,
                                 dump_file_path=dump_file)
        # else:
        #     self.fs = FastSerializer(host=host, port=port, username=username, password=password, dump_file_path=dump_file)

        self.adhoc = VoltProcedure(self.fs, "@AdHoc",
                                   [FastSerializer.VOLTTYPE_STRING])

        self.stat = VoltProcedure(
            self.fs, "@Statistics",
            [FastSerializer.VOLTTYPE_STRING, FastSerializer.VOLTTYPE_TINYINT])

        self.snapshotsave = VoltProcedure(self.fs, "@SnapshotSave", [
            FastSerializer.VOLTTYPE_STRING, FastSerializer.VOLTTYPE_STRING,
            FastSerializer.VOLTTYPE_TINYINT
        ])
        self.snapshotsavejson = VoltProcedure(self.fs, "@SnapshotSave",
                                              [FastSerializer.VOLTTYPE_STRING])
        self.snapshotscan = VoltProcedure(self.fs, "@SnapshotScan",
                                          [FastSerializer.VOLTTYPE_STRING])
        self.snapshotdelete = VoltProcedure(
            self.fs, "@SnapshotDelete",
            [FastSerializer.VOLTTYPE_STRING, FastSerializer.VOLTTYPE_STRING])
        self.snapshotrestore = VoltProcedure(
            self.fs, "@SnapshotRestore",
            [FastSerializer.VOLTTYPE_STRING, FastSerializer.VOLTTYPE_STRING])
        self.snapshotstatus = VoltProcedure(self.fs, "@SnapshotStatus")

        self.systemcatalog = VoltProcedure(self.fs, "@SystemCatalog",
                                           [FastSerializer.VOLTTYPE_STRING])

        self.systeminformation = VoltProcedure(
            self.fs, "@SystemInformation", [FastSerializer.VOLTTYPE_STRING])

        self.updatecatalog = VoltProcedure(
            self.fs, "@UpdateApplicationCatalog",
            [FastSerializer.VOLTTYPE_STRING, FastSerializer.VOLTTYPE_STRING])

        self.quiesce = VoltProcedure(self.fs, "@Quiesce")

        self.pause = VoltProcedure(self.fs, "@Pause")

        self.resume = VoltProcedure(self.fs, "@Resume")

        self.shutdown = VoltProcedure(self.fs, "@Shutdown")

        self.promote = VoltProcedure(self.fs, "@Promote")

        self.response = None