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  }