code: func buildBlkData(tbls types.EventTables, block *exec.BlockExecution) (types.EventDataRow, error) {
  	// a fresh new row to store column/value data
  	row := make(map[string]interface{})
  
  	// block raw data
  	if _, ok := tbls[types.SQLBlockTableName]; ok {
  		blockHeader, err := json.Marshal(block.Header)
  		if err != nil {
  			return types.EventDataRow{}, fmt.Errorf("Couldn't marshal BlockHeader in block %v", block)
  		}
  
  		row[types.SQLColumnLabelHeight] = fmt.Sprintf("%v", block.Height)
  		row[types.SQLColumnLabelBlockHeader] = string(blockHeader)
  	} else {
  		return types.EventDataRow{}, fmt.Errorf("table: %s not found in table structure %v", types.SQLBlockTableName, tbls)
  	}
  
  	return types.EventDataRow{Action: types.ActionUpsert, RowData: row}, nil
  }
docs: // buildBlkData builds block data from block stream