func CaseInsensitive(f Filter) Filter {
	return loweredFilter{wrapped: f.toLower()}
}
CaseInsensitive returns a new tableFilter which is the case-insensitive version of
the input tableFilter.
package filter
import (
	"strings"
)
type Filter interface {
	MatchTable(schema string, table string) bool
	MatchSchema(schema string) bool
	toLower() Filter
}
type tableFilter []tableRule
func Parse(args []string) (Filter, error) {
	p := tableRulesParser{
		make([]tableRule, 0, len(args)),
		matcherParser{
			fileName: "<cmdline>",
			lineNum:  1,
		},
	}
	for _, arg := range args {
		if err := p.parse(arg, true); err != nil {
			return nil, err
		}
	}
	reverse(p.rules)
	return tableFilter(p.rules), nil
}