mirror of
https://github.com/hanzoai/tasks.git
synced 2026-11-03 03:56:04 +00:00
Full module path rebrand from Temporal to Hanzo Tasks: - go.mod module: github.com/hanzoai/tasks - All internal Go imports updated (1906 files) - cmd/server renamed to cmd/tasksd - Binary name: tasksd (was temporal-server) - Docker images: hanzoai/tasks (was temporalio/server) - README rewritten with Hanzo Tasks branding - LLM.md created with integration notes - Makefile, goreleaser, CI workflows updated - go.temporal.io/sdk and go.temporal.io/api imports preserved (separate repos) Fork of Temporal.io (MIT license).
42 lines
966 B
Go
42 lines
966 B
Go
package cassandra
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/hanzoai/tasks/common/persistence/nosql/nosqlplugin/cassandra/gocql"
|
|
)
|
|
|
|
const (
|
|
readSchemaVersionCQL = `SELECT curr_version from schema_version where keyspace_name=?`
|
|
)
|
|
|
|
type (
|
|
SchemaVersionReader struct {
|
|
session gocql.Session
|
|
}
|
|
)
|
|
|
|
func NewSchemaVersionReader(session gocql.Session) *SchemaVersionReader {
|
|
return &SchemaVersionReader{
|
|
session: session,
|
|
}
|
|
}
|
|
|
|
// ReadSchemaVersion returns the current schema version for the Keyspace
|
|
func (svr *SchemaVersionReader) ReadSchemaVersion(keyspace string) (string, error) {
|
|
query := svr.session.Query(readSchemaVersionCQL, keyspace)
|
|
|
|
iter := query.Iter()
|
|
var version string
|
|
success := iter.Scan(&version)
|
|
err := iter.Close()
|
|
if err == nil && !success {
|
|
err = fmt.Errorf("no schema version found for keyspace %q", keyspace)
|
|
}
|
|
if err != nil {
|
|
return "", fmt.Errorf("unable to get current schema version from Cassandra: %w", err)
|
|
}
|
|
|
|
return version, nil
|
|
}
|