go-client/idl/rrdb/rrdb-remote/rrdb-remote.go (523 lines of code) (raw):

// Autogenerated by Thrift Compiler (0.13.0) // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING package main import ( "context" "flag" "fmt" "github.com/apache/incubator-pegasus/go-client/idl/base" "github.com/apache/incubator-pegasus/go-client/idl/replication" "github.com/apache/incubator-pegasus/go-client/idl/rrdb" "github.com/apache/thrift/lib/go/thrift" "math" "net" "net/url" "os" "strconv" "strings" ) var _ = replication.GoUnusedProtection__ var _ = base.GoUnusedProtection__ var _ = rrdb.GoUnusedProtection__ func Usage() { fmt.Fprintln(os.Stderr, "Usage of ", os.Args[0], " [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]:") flag.PrintDefaults() fmt.Fprintln(os.Stderr, "\nFunctions:") fmt.Fprintln(os.Stderr, " update_response put(update_request update)") fmt.Fprintln(os.Stderr, " update_response multi_put(multi_put_request request)") fmt.Fprintln(os.Stderr, " update_response remove(blob key)") fmt.Fprintln(os.Stderr, " multi_remove_response multi_remove(multi_remove_request request)") fmt.Fprintln(os.Stderr, " incr_response incr(incr_request request)") fmt.Fprintln(os.Stderr, " check_and_set_response check_and_set(check_and_set_request request)") fmt.Fprintln(os.Stderr, " check_and_mutate_response check_and_mutate(check_and_mutate_request request)") fmt.Fprintln(os.Stderr, " read_response get(blob key)") fmt.Fprintln(os.Stderr, " multi_get_response multi_get(multi_get_request request)") fmt.Fprintln(os.Stderr, " batch_get_response batch_get(batch_get_request request)") fmt.Fprintln(os.Stderr, " count_response sortkey_count(blob hash_key)") fmt.Fprintln(os.Stderr, " ttl_response ttl(blob key)") fmt.Fprintln(os.Stderr, " scan_response get_scanner(get_scanner_request request)") fmt.Fprintln(os.Stderr, " scan_response scan(scan_request request)") fmt.Fprintln(os.Stderr, " void clear_scanner(i64 context_id)") fmt.Fprintln(os.Stderr) os.Exit(0) } type httpHeaders map[string]string func (h httpHeaders) String() string { var m map[string]string = h return fmt.Sprintf("%s", m) } func (h httpHeaders) Set(value string) error { parts := strings.Split(value, ": ") if len(parts) != 2 { return fmt.Errorf("header should be of format 'Key: Value'") } h[parts[0]] = parts[1] return nil } func main() { flag.Usage = Usage var host string var port int var protocol string var urlString string var framed bool var useHttp bool headers := make(httpHeaders) var parsedUrl *url.URL var trans thrift.TTransport _ = strconv.Atoi _ = math.Abs flag.Usage = Usage flag.StringVar(&host, "h", "localhost", "Specify host and port") flag.IntVar(&port, "p", 9090, "Specify port") flag.StringVar(&protocol, "P", "binary", "Specify the protocol (binary, compact, simplejson, json)") flag.StringVar(&urlString, "u", "", "Specify the url") flag.BoolVar(&framed, "framed", false, "Use framed transport") flag.BoolVar(&useHttp, "http", false, "Use http") flag.Var(headers, "H", "Headers to set on the http(s) request (e.g. -H \"Key: Value\")") flag.Parse() if len(urlString) > 0 { var err error parsedUrl, err = url.Parse(urlString) if err != nil { fmt.Fprintln(os.Stderr, "Error parsing URL: ", err) flag.Usage() } host = parsedUrl.Host useHttp = len(parsedUrl.Scheme) <= 0 || parsedUrl.Scheme == "http" || parsedUrl.Scheme == "https" } else if useHttp { _, err := url.Parse(fmt.Sprint("http://", host, ":", port)) if err != nil { fmt.Fprintln(os.Stderr, "Error parsing URL: ", err) flag.Usage() } } cmd := flag.Arg(0) var err error if useHttp { trans, err = thrift.NewTHttpClient(parsedUrl.String()) if len(headers) > 0 { httptrans := trans.(*thrift.THttpClient) for key, value := range headers { httptrans.SetHeader(key, value) } } } else { portStr := fmt.Sprint(port) if strings.Contains(host, ":") { host, portStr, err = net.SplitHostPort(host) if err != nil { fmt.Fprintln(os.Stderr, "error with host:", err) os.Exit(1) } } trans, err = thrift.NewTSocket(net.JoinHostPort(host, portStr)) if err != nil { fmt.Fprintln(os.Stderr, "error resolving address:", err) os.Exit(1) } if framed { trans = thrift.NewTFramedTransport(trans) } } if err != nil { fmt.Fprintln(os.Stderr, "Error creating transport", err) os.Exit(1) } defer trans.Close() var protocolFactory thrift.TProtocolFactory switch protocol { case "compact": protocolFactory = thrift.NewTCompactProtocolFactory() break case "simplejson": protocolFactory = thrift.NewTSimpleJSONProtocolFactory() break case "json": protocolFactory = thrift.NewTJSONProtocolFactory() break case "binary", "": protocolFactory = thrift.NewTBinaryProtocolFactoryDefault() break default: fmt.Fprintln(os.Stderr, "Invalid protocol specified: ", protocol) Usage() os.Exit(1) } iprot := protocolFactory.GetProtocol(trans) oprot := protocolFactory.GetProtocol(trans) client := rrdb.NewRrdbClient(thrift.NewTStandardClient(iprot, oprot)) if err := trans.Open(); err != nil { fmt.Fprintln(os.Stderr, "Error opening socket to ", host, ":", port, " ", err) os.Exit(1) } switch cmd { case "put": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "Put requires 1 args") flag.Usage() } arg39 := flag.Arg(1) mbTrans40 := thrift.NewTMemoryBufferLen(len(arg39)) defer mbTrans40.Close() _, err41 := mbTrans40.WriteString(arg39) if err41 != nil { Usage() return } factory42 := thrift.NewTJSONProtocolFactory() jsProt43 := factory42.GetProtocol(mbTrans40) argvalue0 := rrdb.NewUpdateRequest() err44 := argvalue0.Read(jsProt43) if err44 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.Put(context.Background(), value0)) fmt.Print("\n") break case "multi_put": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "MultiPut requires 1 args") flag.Usage() } arg45 := flag.Arg(1) mbTrans46 := thrift.NewTMemoryBufferLen(len(arg45)) defer mbTrans46.Close() _, err47 := mbTrans46.WriteString(arg45) if err47 != nil { Usage() return } factory48 := thrift.NewTJSONProtocolFactory() jsProt49 := factory48.GetProtocol(mbTrans46) argvalue0 := rrdb.NewMultiPutRequest() err50 := argvalue0.Read(jsProt49) if err50 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.MultiPut(context.Background(), value0)) fmt.Print("\n") break case "remove": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "Remove requires 1 args") flag.Usage() } arg51 := flag.Arg(1) mbTrans52 := thrift.NewTMemoryBufferLen(len(arg51)) defer mbTrans52.Close() _, err53 := mbTrans52.WriteString(arg51) if err53 != nil { Usage() return } factory54 := thrift.NewTJSONProtocolFactory() jsProt55 := factory54.GetProtocol(mbTrans52) argvalue0 := base.NewBlob() err56 := argvalue0.Read(jsProt55) if err56 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.Remove(context.Background(), value0)) fmt.Print("\n") break case "multi_remove": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "MultiRemove requires 1 args") flag.Usage() } arg57 := flag.Arg(1) mbTrans58 := thrift.NewTMemoryBufferLen(len(arg57)) defer mbTrans58.Close() _, err59 := mbTrans58.WriteString(arg57) if err59 != nil { Usage() return } factory60 := thrift.NewTJSONProtocolFactory() jsProt61 := factory60.GetProtocol(mbTrans58) argvalue0 := rrdb.NewMultiRemoveRequest() err62 := argvalue0.Read(jsProt61) if err62 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.MultiRemove(context.Background(), value0)) fmt.Print("\n") break case "incr": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "Incr requires 1 args") flag.Usage() } arg63 := flag.Arg(1) mbTrans64 := thrift.NewTMemoryBufferLen(len(arg63)) defer mbTrans64.Close() _, err65 := mbTrans64.WriteString(arg63) if err65 != nil { Usage() return } factory66 := thrift.NewTJSONProtocolFactory() jsProt67 := factory66.GetProtocol(mbTrans64) argvalue0 := rrdb.NewIncrRequest() err68 := argvalue0.Read(jsProt67) if err68 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.Incr(context.Background(), value0)) fmt.Print("\n") break case "check_and_set": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "CheckAndSet requires 1 args") flag.Usage() } arg69 := flag.Arg(1) mbTrans70 := thrift.NewTMemoryBufferLen(len(arg69)) defer mbTrans70.Close() _, err71 := mbTrans70.WriteString(arg69) if err71 != nil { Usage() return } factory72 := thrift.NewTJSONProtocolFactory() jsProt73 := factory72.GetProtocol(mbTrans70) argvalue0 := rrdb.NewCheckAndSetRequest() err74 := argvalue0.Read(jsProt73) if err74 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.CheckAndSet(context.Background(), value0)) fmt.Print("\n") break case "check_and_mutate": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "CheckAndMutate requires 1 args") flag.Usage() } arg75 := flag.Arg(1) mbTrans76 := thrift.NewTMemoryBufferLen(len(arg75)) defer mbTrans76.Close() _, err77 := mbTrans76.WriteString(arg75) if err77 != nil { Usage() return } factory78 := thrift.NewTJSONProtocolFactory() jsProt79 := factory78.GetProtocol(mbTrans76) argvalue0 := rrdb.NewCheckAndMutateRequest() err80 := argvalue0.Read(jsProt79) if err80 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.CheckAndMutate(context.Background(), value0)) fmt.Print("\n") break case "get": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "Get requires 1 args") flag.Usage() } arg81 := flag.Arg(1) mbTrans82 := thrift.NewTMemoryBufferLen(len(arg81)) defer mbTrans82.Close() _, err83 := mbTrans82.WriteString(arg81) if err83 != nil { Usage() return } factory84 := thrift.NewTJSONProtocolFactory() jsProt85 := factory84.GetProtocol(mbTrans82) argvalue0 := base.NewBlob() err86 := argvalue0.Read(jsProt85) if err86 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.Get(context.Background(), value0)) fmt.Print("\n") break case "multi_get": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "MultiGet requires 1 args") flag.Usage() } arg87 := flag.Arg(1) mbTrans88 := thrift.NewTMemoryBufferLen(len(arg87)) defer mbTrans88.Close() _, err89 := mbTrans88.WriteString(arg87) if err89 != nil { Usage() return } factory90 := thrift.NewTJSONProtocolFactory() jsProt91 := factory90.GetProtocol(mbTrans88) argvalue0 := rrdb.NewMultiGetRequest() err92 := argvalue0.Read(jsProt91) if err92 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.MultiGet(context.Background(), value0)) fmt.Print("\n") break case "batch_get": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "BatchGet requires 1 args") flag.Usage() } arg93 := flag.Arg(1) mbTrans94 := thrift.NewTMemoryBufferLen(len(arg93)) defer mbTrans94.Close() _, err95 := mbTrans94.WriteString(arg93) if err95 != nil { Usage() return } factory96 := thrift.NewTJSONProtocolFactory() jsProt97 := factory96.GetProtocol(mbTrans94) argvalue0 := rrdb.NewBatchGetRequest() err98 := argvalue0.Read(jsProt97) if err98 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.BatchGet(context.Background(), value0)) fmt.Print("\n") break case "sortkey_count": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "SortkeyCount requires 1 args") flag.Usage() } arg99 := flag.Arg(1) mbTrans100 := thrift.NewTMemoryBufferLen(len(arg99)) defer mbTrans100.Close() _, err101 := mbTrans100.WriteString(arg99) if err101 != nil { Usage() return } factory102 := thrift.NewTJSONProtocolFactory() jsProt103 := factory102.GetProtocol(mbTrans100) argvalue0 := base.NewBlob() err104 := argvalue0.Read(jsProt103) if err104 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.SortkeyCount(context.Background(), value0)) fmt.Print("\n") break case "ttl": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "TTL requires 1 args") flag.Usage() } arg105 := flag.Arg(1) mbTrans106 := thrift.NewTMemoryBufferLen(len(arg105)) defer mbTrans106.Close() _, err107 := mbTrans106.WriteString(arg105) if err107 != nil { Usage() return } factory108 := thrift.NewTJSONProtocolFactory() jsProt109 := factory108.GetProtocol(mbTrans106) argvalue0 := base.NewBlob() err110 := argvalue0.Read(jsProt109) if err110 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.TTL(context.Background(), value0)) fmt.Print("\n") break case "get_scanner": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "GetScanner requires 1 args") flag.Usage() } arg111 := flag.Arg(1) mbTrans112 := thrift.NewTMemoryBufferLen(len(arg111)) defer mbTrans112.Close() _, err113 := mbTrans112.WriteString(arg111) if err113 != nil { Usage() return } factory114 := thrift.NewTJSONProtocolFactory() jsProt115 := factory114.GetProtocol(mbTrans112) argvalue0 := rrdb.NewGetScannerRequest() err116 := argvalue0.Read(jsProt115) if err116 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.GetScanner(context.Background(), value0)) fmt.Print("\n") break case "scan": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "Scan requires 1 args") flag.Usage() } arg117 := flag.Arg(1) mbTrans118 := thrift.NewTMemoryBufferLen(len(arg117)) defer mbTrans118.Close() _, err119 := mbTrans118.WriteString(arg117) if err119 != nil { Usage() return } factory120 := thrift.NewTJSONProtocolFactory() jsProt121 := factory120.GetProtocol(mbTrans118) argvalue0 := rrdb.NewScanRequest() err122 := argvalue0.Read(jsProt121) if err122 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.Scan(context.Background(), value0)) fmt.Print("\n") break case "clear_scanner": if flag.NArg()-1 != 1 { fmt.Fprintln(os.Stderr, "ClearScanner requires 1 args") flag.Usage() } argvalue0, err123 := (strconv.ParseInt(flag.Arg(1), 10, 64)) if err123 != nil { Usage() return } value0 := argvalue0 fmt.Print(client.ClearScanner(context.Background(), value0)) fmt.Print("\n") break case "": Usage() break default: fmt.Fprintln(os.Stderr, "Invalid function ", cmd) } }