github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/workload/examples/intro.go (about) 1 // Copyright 2016 The Cockroach Authors. 2 // 3 // Use of this software is governed by the Business Source License 4 // included in the file licenses/BSL.txt. 5 // 6 // As of the Change Date specified in that file, in accordance with 7 // the Business Source License, use of this software will be governed 8 // by the Apache License, Version 2.0, included in the file 9 // licenses/APL.txt. 10 11 package examples 12 13 import ( 14 "encoding/hex" 15 16 "github.com/cockroachdb/cockroach/pkg/workload" 17 ) 18 19 type intro struct{} 20 21 func init() { 22 workload.Register(introMeta) 23 } 24 25 var introMeta = workload.Meta{ 26 Name: `intro`, 27 Description: `Intro contains a single table with a hidden message`, 28 Version: `1.0.0`, 29 PublicFacing: true, 30 New: func() workload.Generator { return intro{} }, 31 } 32 33 // Meta implements the Generator interface. 34 func (intro) Meta() workload.Meta { return introMeta } 35 36 // Tables implements the Generator interface. 37 func (intro) Tables() []workload.Table { 38 return []workload.Table{ 39 { 40 Name: `mytable`, 41 Schema: `(l INT PRIMARY KEY, v TEXT)`, 42 InitialRows: workload.Tuples( 43 len(mytableRows), 44 func(rowIdx int) []interface{} { 45 // The second datum in mytableRows is a hex encoded string, but 46 // we want to hand it back as bytes. 47 row := mytableRows[rowIdx] 48 bytes, err := hex.DecodeString(row[1].(string)) 49 if err != nil { 50 panic(err) 51 } 52 return []interface{}{row[0], bytes} 53 }, 54 ), 55 }, 56 } 57 } 58 59 var mytableRows = [...][]interface{}{ 60 {0, `215F5F61616177776D716D716D7777776161732C2C5F20202020202020202E5F5F6161617777776D716D716D77776161612C2C`}, 61 {2, `212256543F212222225E7E7E5E2222223F3F5424576D7161612C5F6175716D5742543F212222225E7E7E5E5E22223F3F59565E`}, 62 {4, `212020202020202020202020202020202020202020223F23236D5723233F222D20202020202020202020202020202020202020`}, 63 {6, `21202043204F204E2047205220412054205320205F616D235A3F3F41236D612C2020202020202020202020592020202020202020`}, 64 {8, `2120202020202020202020202020202020205F756D6D5922202020202239236D612C2020202020202041202020202020202020`}, 65 {10, `2120202020202020202020202020202020766D235A28202020202020202029586D6D7320202020592020202020202020202020`}, 66 {12, `2120202020202020202020202020202E6A232323236D6D6D23232323236D6D236D2323362E2020202020202020202020202020`}, 67 {14, `2120202057204F20572021202020206A6D6D2323236D6D2323232323236D236D6D6D2323362020202020202020202020202020`}, 68 {16, `21202020202020202020202020205D236D652A586D236D236D6D23236D236D2323535823236320202020202020202020202020`}, 69 {18, `2120202020202020202020202020646D237C7C2B2A2423236D236D6D236D235376766E23236D20202020202020202020202020`}, 70 {20, `212020202020202020202020203A6D6D453D7C2B7C7C5323236D23236D23316E766E6E5823233B20202020204120202020202020`}, 71 {22, `212020202020202020202020203A6D23682B7C2B2B2B3D586D6D236D23316E766E6E76646D6D3B20202020204D202020202020`}, 72 {24, `212059202020202020202020202024236D3E2B7C2B7C7C7C23236D23316E766E6E6E6E6D6D2320202020202041202020202020`}, 73 {26, `2120204F202020202020202020205D23237A2B7C2B7C2B7C33236D456E6E6E6E766E642323662020202020205A202020202020`}, 74 {28, `212020205520204420202020202020342323637C2B7C2B7C5D6D236B766E766E6E6F2323502020202020202045202020202020`}, 75 {30, `2120202020202020492020202020202034236D612B7C2B2B5D6D6D68766E6E7671232350602020202020202021202020202020`}, 76 {32, `21202020202020202044204920202020203F242371252B7C646D6D6D766E6E6D23232120202020202020202020202020202020`}, 77 {34, `2120202020202020202020205420202020202D3423237775236D6D237077232337272020202020202020202020202020202020`}, 78 {36, `21202020202020202020202020202020202020202D3F2423236D23232323592720202020202020202020202020202020202020`}, 79 {38, `21202020202020202020202020202121202020202020202259232359222D202020202020202020202020202020202020202020`}, 80 {40, `21`}, 81 {41, `215F5F61616177776D716D716D7777776161732C2C5F20202020202020202E5F5F6161617777776D716D716D77776161612C2C`}, 82 {39, `212256543F212222225E7E7E5E2222223F3F5424576D7161612C5F6175716D5742543F212222225E7E7E5E5E22223F3F59565E`}, 83 {37, `212020202020202020202020202020202020202020223F23236D5723233F222D20202020202020202020202020202020202020`}, 84 {35, `21202043204F204E2047205220412054205320205F616D235A3F3F41236D612C2020202020202020202020592020202020202020`}, 85 {33, `2120202020202020202020202020202020205F756D6D5922202020202239236D612C2020202020202041202020202020202020`}, 86 {31, `2120202020202020202020202020202020766D235A28202020202020202029586D6D7320202020592020202020202020202020`}, 87 {29, `2120202020202020202020202020202E6A232323236D6D6D23232323236D6D236D2323362E2020202020202020202020202020`}, 88 {27, `2120202057204F20572021202020206A6D6D2323236D6D2323232323236D236D6D6D2323362020202020202020202020202020`}, 89 {25, `21202020202020202020202020205D236D652A586D236D236D6D23236D236D2323535823236320202020202020202020202020`}, 90 {23, `2120202020202020202020202020646D237C7C2B2A2423236D236D6D236D235376766E23236D20202020202020202020202020`}, 91 {21, `212020202020202020202020203A6D6D453D7C2B7C7C5323236D23236D23316E766E6E5823233B20202020204120202020202020`}, 92 {19, `212020202020202020202020203A6D23682B7C2B2B2B3D586D6D236D23316E766E6E76646D6D3B20202020204D202020202020`}, 93 {17, `212059202020202020202020202024236D3E2B7C2B7C7C7C23236D23316E766E6E6E6E6D6D2320202020202041202020202020`}, 94 {15, `2120204F202020202020202020205D23237A2B7C2B7C2B7C33236D456E6E6E6E766E642323662020202020205A202020202020`}, 95 {13, `212020205520204420202020202020342323637C2B7C2B7C5D6D236B766E766E6E6F2323502020202020202045202020202020`}, 96 {11, `2120202020202020492020202020202034236D612B7C2B2B5D6D6D68766E6E7671232350602020202020202021202020202020`}, 97 {9, `21202020202020202044204920202020203F242371252B7C646D6D6D766E6E6D23232120202020202020202020202020202020`}, 98 {7, `2120202020202020202020205420202020202D3423237775236D6D237077232337272020202020202020202020202020202020`}, 99 {5, `21202020202020202020202020202020202020202D3F2423236D23232323592720202020202020202020202020202020202020`}, 100 {3, `21202020202020202020202020202121202020202020202259232359222D202020202020202020202020202020202020202020`}, 101 {1, `21`}, 102 }