/
githubmirror
/
ydb-go-sdk
Обзор
Документация
Войти
/
githubmirror
/
ydb-go-sdk
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
internal/bind/table_path_prefix.go
40 строк
936 B
Aleksey Myasnikov
refactoring for pg2ydb project (#1846)
14 авг 2025, 18:55
Не верифицирован
14 авг 2025, 18:55
c3e1bb7
Код
Авторство
О чём код?
package bind import ( "path" "strings" "github.com/ydb-platform/ydb-go-sdk/v3/pkg/xstring" ) type TablePathPrefix string func (tablePathPrefix TablePathPrefix) blockID() blockID { return blockPragma } func (tablePathPrefix TablePathPrefix) NormalizePath(folderOrTable string) string { switch ch := folderOrTable[0]; ch { case '/': return folderOrTable case '.': return path.Join(string(tablePathPrefix), strings.TrimLeft(folderOrTable, ".")) default: return path.Join(string(tablePathPrefix), folderOrTable) } } func (tablePathPrefix TablePathPrefix) ToYdb(sql string, args ...any) ( yql string, newArgs []any, err error, ) { buffer := xstring.Buffer() defer buffer.Free() buffer.WriteString("-- bind TablePathPrefix\n") buffer.WriteString("PRAGMA TablePathPrefix(\"") buffer.WriteString(string(tablePathPrefix)) buffer.WriteString("\");\n\n") buffer.WriteString(sql) return buffer.String(), args, nil }