package main

import (
	"strings"
)

var commandMap = map[string]int{
	"connection":                 1,
	"query":                      2,
	"connect":                    3,
	"sleep":                      4,
	"real_sleep":                 5,
	"inc":                        6,
	"dec":                        7,
	"source":                     8,
	"disconnect":                 9,
	"let":                        10,
	"echo":                       11,
	"while":                      12,
	"end":                        13,
	"system":                     14,
	"result":                     15,
	"require":                    16,
	"save_master_pos":            17,
	"sync_with_master":           18,
	"sync_slave_with_master":     19,
	"error":                      20,
	"send":                       21,
	"reap":                       22,
	"dirty_close":                23,
	"replace_result":             24,
	"replace_column":             25,
	"ping":                       26,
	"eval":                       27,
	"eval_result":                28,
	"enable_query_log":           29,
	"disable_query_log":          30,
	"enable_result_log":          31,
	"disable_result_log":         32,
	"enable_connect_log":         33,
	"disable_connect_log":        34,
	"wait_for_slave_to_stop":     35,
	"enable_warnings":            36,
	"disable_warnings":           37,
	"enable_info":                38,
	"disable_info":               39,
	"enable_session_track_info":  40,
	"disable_session_track_info": 41,
	"enable_metadata":            42,
	"disable_metadata":           43,
	"exec":                       44,
	"execw":                      45,
	"delimiter":                  46,
	"disable_abort_on_error":     47,
	"enable_abort_on_error":      48,
	"vertical_results":           49,
	"horizontal_results":         50,
	"query_vertical":             51,
	"query_horizontal":           52,
	"sorted_result":              53,
	"lowercase_result":           54,
	"start_timer":                55,
	"end_timer":                  56,
	"character_set":              57,
	"disable_ps_protocol":        58,
	"enable_ps_protocol":         59,
	"disable_reconnect":          60,
	"enable_reconnect":           61,
	"if":                         62,
	"disable_parsing":            63,
	"enable_parsing":             64,
	"replace_regex":              65,
	"replace_numeric_round":      66,
	"remove_file":                67,
	"file_exists":                68,
	"write_file":                 69,
	"copy_file":                  70,
	"perl":                       71,
	"die":                        72,
	"exit":                       73,
	"skip":                       74,
	"chmod":                      75,
	"append_file":                76,
	"cat_file":                   77,
	"diff_files":                 78,
	"send_quit":                  79,
	"change_user":                80,
	"mkdir":                      81,
	"rmdir":                      82,
	"list_files":                 83,
	"list_files_write_file":      84,
	"list_files_append_file":     85,
	"send_shutdown":              86,
	"shutdown_server":            87,
	"result_format":              88,
	"move_file":                  89,
	"remove_files_wildcard":      90,
	"send_eval":                  91,
	"output":                     92,
	"reset_connection":           93,
	"single_query":               94,
}

func findType(cmdName string) int {
	key := strings.ToLower(cmdName)
	if v, ok := commandMap[key]; ok {
		return v
	}

	return -1
}
