func mGet(c *table.Context, done chan *table.Call, zop bool, ma table.MGetArgs) { var err error var r []table.GetReply if zop { if done == nil { r, err = c.ZmGet(ma) } else { _, err = c.GoZmGet(ma, done) } } else { if done == nil { r, err = c.MGet(ma) } else { _, err = c.GoMGet(ma, done) } } if err != nil { fmt.Printf("MGet failed: %s\n", err) os.Exit(1) } if *verbose != 0 && done == nil { for i := 0; i < len(r); i++ { var one = r[i] fmt.Printf("%02d) [%q\t%q]\t[%d\t%q]\n", i, one.RowKey, one.ColKey, one.Score, one.Value) } } }
func testMGet(tc *table.Context) { // MSET var ma table.MSetArgs ma.Add(1, []byte("row1"), []byte("col0"), []byte("v00"), 10, 0) ma.Add(1, []byte("row1"), []byte("col1"), []byte("v01"), 9, 0) ma.Add(1, []byte("row1"), []byte("col2"), []byte("v02"), 8, 0) ma.Add(1, []byte("row1"), []byte("col3"), []byte("v03"), 7, 0) ma.Add(1, []byte("row8"), []byte("col4"), []byte("v04"), 6, 0) _, err := tc.MSet(ma) if err != nil { fmt.Printf("Mset failed: %s\n", err) return } // MGET var mb table.MGetArgs mb.Add(1, []byte("row8"), []byte("col4"), 0) mb.Add(1, []byte("row1"), []byte("col2"), 0) mb.Add(1, []byte("row1"), []byte("col1"), 0) mb.Add(1, []byte("row1"), []byte("col3"), 0) mb.Add(1, []byte("row8"), []byte("not"), 0) r, err := tc.MGet(mb) if err != nil { fmt.Printf("Mget failed: %s\n", err) return } fmt.Println("MGET result:") for i := 0; i < len(r); i++ { if r[i].ErrCode < 0 { fmt.Printf("[%q\t%q]\tget failed with error %d!\n", r[i].RowKey, r[i].ColKey, r[i].ErrCode) } else if r[i].ErrCode > 0 { fmt.Printf("[%q\t%q]\tkey not exist!\n", r[i].RowKey, r[i].ColKey) } else { fmt.Printf("[%q\t%q]\t[%d\t%q]\n", r[i].RowKey, r[i].ColKey, r[i].Score, r[i].Value) } } }