/
githubmirror
/
ydb-go-sdk
Обзор
Документация
Войти
/
githubmirror
/
ydb-go-sdk
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
sugar/example_test.go
78 строк
1 KB
Aleksey Myasnikov
* Splitted experimental method `query.Client.Execute` to methods `query.Client.Exec` without result and `query.Client.Query` with result
16 авг 2024, 23:26
16 авг 2024, 23:26
04f1d5d
Код
Авторство
О чём код?
package sugar_test import ( "context" "fmt" "github.com/ydb-platform/ydb-go-sdk/v3" "github.com/ydb-platform/ydb-go-sdk/v3/sugar" ) func Example_unmarshallRow() { ctx := context.TODO() db, err := ydb.Open(ctx, "grpc://localhost:2136/local") if err != nil { panic(err) } defer db.Close(ctx) // cleanup resources type myStruct struct { ID int32 `sql:"id"` Str string `sql:"myStr"` } row, err := db.Query().QueryRow(ctx, `SELECT 42 as id, "my string" as myStr`) if err != nil { panic(err) } one, err := sugar.UnmarshallRow[*myStruct](row) if err != nil { panic(err) } fmt.Printf("one = %+v\n", one) // one = &{ID:42 Str:my string} } func Example_unmarshallResultSet() { ctx := context.TODO() db, err := ydb.Open(ctx, "grpc://localhost:2136/local") if err != nil { panic(err) } defer db.Close(ctx) // cleanup resources type myStruct struct { ID int32 `sql:"id"` Str string `sql:"myStr"` } rows, err := db.Query().QueryResultSet(ctx, ` SELECT 42 as id, "myStr42" as myStr UNION SELECT 43 as id, "myStr43" as myStr ORDER BY id `) if err != nil { panic(err) } many, err := sugar.UnmarshallResultSet[myStruct](rows) if err != nil { panic(err) } fmt.Print("many = [") for i, s := range many { if i > 0 { fmt.Print(",") } fmt.Printf("\n\t%+v", s) } fmt.Println("\n]") // many = [ // &{ID:42 Str:myStr42}, // &{ID:43 Str:myStr43} //] }