@@ -19,16 +19,11 @@ import (
1919 grpcCodes "google.golang.org/grpc/codes"
2020 grpcStatus "google.golang.org/grpc/status"
2121
22- "github.com/ydb-platform/ydb-go-sdk/v3/internal/allocator"
23- "github.com/ydb-platform/ydb-go-sdk/v3/internal/params"
2422 "github.com/ydb-platform/ydb-go-sdk/v3/internal/query/options"
25- internal "github.com/ydb-platform/ydb-go-sdk/v3/internal/query/tx"
2623 baseTx "github.com/ydb-platform/ydb-go-sdk/v3/internal/tx"
2724 "github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors"
2825 "github.com/ydb-platform/ydb-go-sdk/v3/internal/xtest"
2926 "github.com/ydb-platform/ydb-go-sdk/v3/query"
30- "github.com/ydb-platform/ydb-go-sdk/v3/retry"
31- "github.com/ydb-platform/ydb-go-sdk/v3/table/stats"
3227)
3328
3429var _ baseTx.Transaction = & Transaction {}
@@ -495,192 +490,3 @@ func TestRollback(t *testing.T) {
495490 require .True (t , xerrors .IsOperationError (err , Ydb .StatusIds_UNAVAILABLE ))
496491 })
497492}
498-
499- type testExecuteSettings struct {
500- execMode options.ExecMode
501- statsMode options.StatsMode
502- txControl * query.TransactionControl
503- syntax options.Syntax
504- params * params.Parameters
505- poolID string
506- callOptions []grpc.CallOption
507- }
508-
509- func (s testExecuteSettings ) PoolID () string {
510- return s .poolID
511- }
512-
513- func (s testExecuteSettings ) RetryOpts () []retry.Option {
514- return nil
515- }
516-
517- func (s testExecuteSettings ) StatsCallback () func (stats stats.QueryStats ) {
518- return nil
519- }
520-
521- func (s testExecuteSettings ) ExecMode () options.ExecMode {
522- return s .execMode
523- }
524-
525- func (s testExecuteSettings ) StatsMode () options.StatsMode {
526- return s .statsMode
527- }
528-
529- func (s testExecuteSettings ) TxControl () * query.TransactionControl {
530- return s .txControl
531- }
532-
533- func (s testExecuteSettings ) Syntax () options.Syntax {
534- return s .syntax
535- }
536-
537- func (s testExecuteSettings ) Params () * params.Parameters {
538- return s .params
539- }
540-
541- func (s testExecuteSettings ) CallOptions () []grpc.CallOption {
542- return s .callOptions
543- }
544-
545- var _ executeSettings = testExecuteSettings {}
546-
547- type txMock func () * internal.Control
548-
549- func (tx txMock ) txControl () * internal.Control {
550- if tx == nil {
551- return internal .NewControl (internal .WithTxID ("" ))
552- }
553-
554- return tx ()
555- }
556-
557- func TestExecuteSettings (t * testing.T ) {
558- for _ , tt := range []struct {
559- name string
560- tx txMock
561- txOpts []options.Execute
562- settings executeSettings
563- }{
564- {
565- name : "WithTxID" ,
566- tx : func () * internal.Control {
567- return internal .NewControl (internal .WithTxID ("test" ))
568- },
569- settings : testExecuteSettings {
570- execMode : options .ExecModeExecute ,
571- statsMode : options .StatsModeNone ,
572- txControl : query .TxControl (query .WithTxID ("test" )),
573- syntax : options .SyntaxYQL ,
574- },
575- },
576- {
577- name : "WithStats" ,
578- txOpts : []options.Execute {
579- options .WithStatsMode (options .StatsModeFull , nil ),
580- },
581- settings : testExecuteSettings {
582- execMode : options .ExecModeExecute ,
583- statsMode : options .StatsModeFull ,
584- txControl : query .TxControl (query .WithTxID ("" )),
585- syntax : options .SyntaxYQL ,
586- },
587- },
588- {
589- name : "WithExecMode" ,
590- txOpts : []options.Execute {
591- options .WithExecMode (options .ExecModeExplain ),
592- },
593- settings : testExecuteSettings {
594- execMode : options .ExecModeExplain ,
595- statsMode : options .StatsModeNone ,
596- txControl : query .TxControl (query .WithTxID ("" )),
597- syntax : options .SyntaxYQL ,
598- },
599- },
600- {
601- name : "WithSyntax" ,
602- txOpts : []options.Execute {
603- options .WithSyntax (options .SyntaxPostgreSQL ),
604- },
605- settings : testExecuteSettings {
606- execMode : options .ExecModeExecute ,
607- statsMode : options .StatsModeNone ,
608- txControl : query .TxControl (query .WithTxID ("" )),
609- syntax : options .SyntaxPostgreSQL ,
610- },
611- },
612- {
613- name : "WithGrpcOptions" ,
614- txOpts : []options.Execute {
615- options .WithCallOptions (grpc .CallContentSubtype ("test" )),
616- },
617- settings : testExecuteSettings {
618- execMode : options .ExecModeExecute ,
619- statsMode : options .StatsModeNone ,
620- txControl : query .TxControl (query .WithTxID ("" )),
621- syntax : options .SyntaxYQL ,
622- callOptions : []grpc.CallOption {
623- grpc .CallContentSubtype ("test" ),
624- },
625- },
626- },
627- {
628- name : "WithParams" ,
629- txOpts : []options.Execute {
630- options .WithParameters (
631- params.Builder {}.Param ("$a" ).Text ("A" ).Build (),
632- ),
633- },
634- settings : testExecuteSettings {
635- execMode : options .ExecModeExecute ,
636- statsMode : options .StatsModeNone ,
637- txControl : query .TxControl (query .WithTxID ("" )),
638- syntax : options .SyntaxYQL ,
639- params : params.Builder {}.Param ("$a" ).Text ("A" ).Build (),
640- },
641- },
642- {
643- name : "WithCommitTx" ,
644- txOpts : []options.Execute {
645- options .WithCommit (),
646- },
647- settings : testExecuteSettings {
648- execMode : options .ExecModeExecute ,
649- statsMode : options .StatsModeNone ,
650- txControl : query .TxControl (query .WithTxID ("" ), query .CommitTx ()),
651- syntax : options .SyntaxYQL ,
652- params : nil ,
653- },
654- },
655- {
656- name : "WithPoolID" ,
657- txOpts : []options.Execute {
658- options .WithPoolID ("test-pool-id" ),
659- },
660- settings : testExecuteSettings {
661- execMode : options .ExecModeExecute ,
662- statsMode : options .StatsModeNone ,
663- txControl : query .TxControl (query .WithTxID ("" )),
664- syntax : options .SyntaxYQL ,
665- poolID : "test-pool-id" ,
666- },
667- },
668- } {
669- t .Run (tt .name , func (t * testing.T ) {
670- a := allocator .New ()
671- settings := options .ExecuteSettings (
672- append (
673- []options.Execute {options .WithTxControl (tt .tx .txControl ())},
674- tt .txOpts ... ,
675- )... ,
676- )
677- require .Equal (t , tt .settings .Syntax (), settings .Syntax ())
678- require .Equal (t , tt .settings .ExecMode (), settings .ExecMode ())
679- require .Equal (t , tt .settings .StatsMode (), settings .StatsMode ())
680- require .Equal (t , tt .settings .PoolID (), settings .PoolID ())
681- require .Equal (t , tt .settings .TxControl ().ToYDB (a ).String (), settings .TxControl ().ToYDB (a ).String ())
682- require .Equal (t , tt .settings .Params ().ToYDB (a ), settings .Params ().ToYDB (a ))
683- require .Equal (t , tt .settings .CallOptions (), settings .CallOptions ())
684- })
685- }
686- }
0 commit comments