/
githubmirror
/
ydb-go-sdk
Обзор
Документация
Войти
/
githubmirror
/
ydb-go-sdk
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
internal/xsql/xtable/mode.go
46 строк
850 B
Aleksey Myasnikov
renamed internal/xsql/legacy to internal/xsql/xtable
12 фев 2025, 13:51
12 фев 2025, 13:51
4e118b6
Код
Авторство
О чём код?
package xtable import ( "context" "fmt" ) type ( QueryMode int ctxQueryModeTypeKey struct{} ) const ( UnknownQueryMode = QueryMode(iota) DataQueryMode ScanQueryMode SchemeQueryMode ScriptingQueryMode ) func WithQueryMode(ctx context.Context, mode QueryMode) context.Context { return context.WithValue(ctx, ctxQueryModeTypeKey{}, mode) } func queryModeFromContext(ctx context.Context, defaultMode QueryMode) QueryMode { if mode, ok := ctx.Value(ctxQueryModeTypeKey{}).(QueryMode); ok { return mode } return defaultMode } var typeToString = map[QueryMode]string{ DataQueryMode: "data", ScanQueryMode: "scan", SchemeQueryMode: "scheme", ScriptingQueryMode: "scripting", } func (t QueryMode) String() string { if s, ok := typeToString[t]; ok { return s } return fmt.Sprintf("unknown_mode_%d", t) }