@@ -510,3 +510,46 @@ func ExampleOpen_advanced() {
510510 defer db .Close (ctx ) // cleanup resources
511511 fmt .Printf ("connected to %s, database '%s'" , db .Endpoint (), db .Name ())
512512}
513+
514+ // func ExampleParamsMap
515+ func ExampleMustParamsFromMap () {
516+ ctx := context .TODO ()
517+ db , err := ydb .Open (
518+ ctx ,
519+ "grpc://localhost:2135/local" ,
520+ ydb .WithAnonymousCredentials (),
521+ ydb .WithBalancer (
522+ balancers .PreferLocationsWithFallback (
523+ balancers .RandomChoice (), "a" , "b" ,
524+ ),
525+ ),
526+ ydb .WithSessionPoolSizeLimit (100 ),
527+ )
528+ if err != nil {
529+ fmt .Printf ("Driver failed: %v" , err )
530+ }
531+ defer db .Close (ctx ) // cleanup resources
532+ fmt .Printf ("connected to %s, database '%s'" , db .Endpoint (), db .Name ())
533+
534+ res , err := db .Query ().QueryRow (ctx , `
535+ DECLARE $textArg AS Text;
536+ DECLARE $intArg AS Int64;
537+
538+ SELECT $textArg AS TextField, $intArg AS IntField
539+ ` , query .WithParameters (ydb .MustParamsFromMap (map [string ]any {
540+ "$textArg" : "asd" ,
541+ "$intArg" : int64 (123 ),
542+ })))
543+ if err != nil {
544+ fmt .Printf ("query failed" )
545+ }
546+
547+ var result struct {
548+ TextField string
549+ IntField int64
550+ }
551+ err = res .ScanStruct (& result )
552+ if err != nil {
553+ fmt .Printf ("scan failed" )
554+ }
555+ }
0 commit comments