package executor

import "github.com/everything-on-mysql/cassandra-on-mysql/pkg/cql/parser"

func statementMissingKeyspace(stmt parser.Statement) bool {
	switch s := stmt.(type) {
	case *parser.InsertStatement:
		return s.Table != nil && s.Table.Schema == ""
	case *parser.UpdateStatement:
		return s.Table != nil && s.Table.Schema == ""
	case *parser.DeleteStatement:
		return s.From != nil && s.From.Schema == ""
	case *parser.SelectStatement:
		return s.From != nil && s.From.Schema == ""
	case *parser.BatchStatement:
		for _, entry := range s.Entries {
			if statementMissingKeyspace(entry) {
				return true
			}
		}
		return false
	default:
		return false
	}
}
