Skip to content
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/components/ConnectToDB/getDocsLink.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ export function getDocsLink(snippetLang: SnippetLanguage) {
}
case 'go': {
return i18n('docs_go');
}
return i18n('docs_go');
}
case 'java': {
return i18n('docs_java');
Expand Down
102 changes: 57 additions & 45 deletions src/components/ConnectToDB/snippets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,58 +29,69 @@ using var driver = new Driver(
await driver.Initialize();`;
}

export function getGoSnippetCode({database, endpoint}: SnippetParams) {
export function getGoNativeSdkSnippetCode({database, endpoint}: SnippetParams) {
return `package main

import (
"context"
"os"
"context"
"os"

"github.com/ydb-platform/ydb-go-sdk/v3"
"github.com/ydb-platform/ydb-go-sdk/v3/table"
"github.com/ydb-platform/ydb-go-sdk/v3"
)

func main() {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
db, err := ydb.Open(ctx,
"${endpoint ?? '<endpoint>'}${database ?? '/<database>'}",
ydb.WithAccessTokenCredentials(os.Getenv("YDB_ACCESS_TOKEN_CREDENTIALS")),
)
if err != nil {
panic(err)
}
ctx, cancel := context.WithCancel(context.Background())
defer cancel()

db, err := ydb.Open(context.Background(),
"${endpoint ?? '<endpoint>'}${database ?? '/<database>'}",
ydb.WithAccessTokenCredentials(os.Getenv("YDB_ACCESS_TOKEN_CREDENTIALS")),
)
if err != nil {
panic(err)
}

defer db.Close(ctx)

row, err := db.Query().QueryRow(ctx, "SELECT 'Hello, world!'")
if err != nil {
panic(err)
}

var val string
if err := row.Scan(&val); err != nil {
panic(err)
}

println(val)
}`;
}

defer db.Close(ctx)

err = db.Table().Do(ctx,
func(ctx context.Context, s table.Session) error {
_, res, err := s.Execute(
ctx,
table.TxControl(table.BeginTx(table.WithOnlineReadOnly()), table.CommitTx()),
"SELECT 'Hello, world!'",
nil,
)
if err != nil {
return err
}
defer res.Close()
var val string

for res.NextResultSet(ctx) {
for res.NextRow() {
err = res.Scan(&val)
if err != nil {
return err
}
println(val)
}
}
return res.Err()
})
if err != nil {
panic(err)
}
export function getGoDatabaseSqlSnippetCode({database, endpoint}: SnippetParams) {
return `package main

import (
"context"
"database/sql"
"os"

_ "github.com/ydb-platform/ydb-go-sdk/v3"
)

func main() {
db, err := sql.Open("ydb", "${endpoint ?? '<endpoint>'}${database ?? '/<database>'}"+"?token="+os.Getenv("YDB_ACCESS_TOKEN_CREDENTIALS"))
if err != nil {
panic(err)
}

row := db.QueryRowContext(context.Background(), "SELECT 'Hello, world!'")

var val string
if err := row.Scan(&val); err != nil {
panic(err)
}

println(val)
}`;
}

Expand Down Expand Up @@ -213,7 +224,8 @@ export function getSnippetCode(lang: SnippetLanguage, rawParams: SnippetParams)
return getCSharpSnippetCode(params);
}
case 'go': {
return getGoSnippetCode(params);
return getGoNativeSdkSnippetCode(params);
}
}
case 'java': {
return getJavaSnippetCode(params);
Expand Down
Loading