@@ -33,54 +33,65 @@ export function getGoSnippetCode({database, endpoint}: SnippetParams) {
3333 return `package main
3434
3535import (
36- "context"
37- "os"
36+ "context"
37+ "os"
3838
39- "github.com/ydb-platform/ydb-go-sdk/v3"
40- "github.com/ydb-platform/ydb-go-sdk/v3/table"
39+ "github.com/ydb-platform/ydb-go-sdk/v3"
4140)
4241
4342func main() {
44- ctx, cancel := context.WithCancel(context.Background())
45- defer cancel()
46- db, err := ydb.Open(ctx,
47- "${ endpoint ?? '<endpoint>' } ${ database ?? '/<database>' } ",
48- ydb.WithAccessTokenCredentials(os.Getenv("YDB_ACCESS_TOKEN_CREDENTIALS")),
49- )
50- if err != nil {
51- panic(err)
52- }
43+ ctx, cancel := context.WithCancel(context.Background())
44+ defer cancel()
45+
46+ db, err := ydb.Open(context.Background(),
47+ "${ endpoint ?? '<endpoint>' } ${ database ?? '/<database>' } ",
48+ ydb.WithAccessTokenCredentials(os.Getenv("YDB_ACCESS_TOKEN_CREDENTIALS")),
49+ )
50+ if err != nil {
51+ panic(err)
52+ }
53+
54+ defer db.Close(ctx)
55+
56+ row, err := db.Query().QueryRow(ctx, "SELECT 'Hello, world!'")
57+ if err != nil {
58+ panic(err)
59+ }
60+
61+ var val string
62+ if err := row.Scan(&val); err != nil {
63+ panic(err)
64+ }
65+
66+ println(val)
67+ }` ;
68+ }
5369
54- defer db.Close(ctx)
55-
56- err = db.Table().Do(ctx,
57- func(ctx context.Context, s table.Session) error {
58- _, res, err := s.Execute(
59- ctx,
60- table.TxControl(table.BeginTx(table.WithOnlineReadOnly()), table.CommitTx()),
61- "SELECT 'Hello, world!'",
62- nil,
63- )
64- if err != nil {
65- return err
66- }
67- defer res.Close()
68- var val string
69-
70- for res.NextResultSet(ctx) {
71- for res.NextRow() {
72- err = res.Scan(&val)
73- if err != nil {
74- return err
75- }
76- println(val)
77- }
78- }
79- return res.Err()
80- })
81- if err != nil {
82- panic(err)
83- }
70+ export function getGoDatabaseSqlSnippetCode ( { database, endpoint} : SnippetParams ) {
71+ return `package main
72+
73+ import (
74+ "context"
75+ "database/sql"
76+ "os"
77+
78+ _ "github.com/ydb-platform/ydb-go-sdk/v3"
79+ )
80+
81+ func main() {
82+ db, err := sql.Open("ydb", "${ endpoint ?? '<endpoint>' } ${ database ?? '/<database>' } "+"?token="+os.Getenv("YDB_ACCESS_TOKEN_CREDENTIALS"))
83+ if err != nil {
84+ panic(err)
85+ }
86+
87+ row := db.QueryRowContext(context.Background(), "SELECT 'Hello, world!'")
88+
89+ var val string
90+ if err := row.Scan(&val); err != nil {
91+ panic(err)
92+ }
93+
94+ println(val)
8495}` ;
8596}
8697
@@ -212,9 +223,12 @@ export function getSnippetCode(lang: SnippetLanguage, rawParams: SnippetParams)
212223 case 'csharp' : {
213224 return getCSharpSnippetCode ( params ) ;
214225 }
215- case 'go' : {
226+ case 'go (native SDK) ' : {
216227 return getGoSnippetCode ( params ) ;
217228 }
229+ case 'go (database/sql)' : {
230+ return getGoDatabaseSqlSnippetCode ( params ) ;
231+ }
218232 case 'java' : {
219233 return getJavaSnippetCode ( params ) ;
220234 }
0 commit comments