Skip to content

Commit a7527a2

Browse files
authored
Merge pull request #1166 from ydb-platform/default-tx-control
* Changed default transaction control to `NoTx` for execute query through query service client
2 parents 491367d + 9254b79 commit a7527a2

File tree

4 files changed

+24
-86
lines changed

4 files changed

+24
-86
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
* Changed default transaction control to `NoTx` for execute query through query service client
2+
13
## v3.61.1
24
* Renamed `db.Coordination().CreateSession()` to `db.Coordination().Session()` for compatibility with protos
35

internal/query/execute_query_test.go

Lines changed: 20 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/ydb-platform/ydb-go-sdk/v3/internal/query/options"
2020
"github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors"
2121
"github.com/ydb-platform/ydb-go-sdk/v3/internal/xtest"
22+
"github.com/ydb-platform/ydb-go-sdk/v3/query"
2223
)
2324

2425
func TestExecute(t *testing.T) {
@@ -768,6 +769,24 @@ func TestExecuteQueryRequest(t *testing.T) {
768769
request: &Ydb_Query.ExecuteQueryRequest{
769770
SessionId: "WithoutOptions",
770771
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_EXECUTE,
772+
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
773+
QueryContent: &Ydb_Query.QueryContent{
774+
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
775+
Text: "WithoutOptions",
776+
},
777+
},
778+
StatsMode: Ydb_Query.StatsMode_STATS_MODE_NONE,
779+
ConcurrentResultSets: false,
780+
},
781+
},
782+
{
783+
name: "WithTxControl",
784+
opts: []options.ExecuteOption{
785+
options.WithTxControl(query.SerializableReadWriteTxControl(query.CommitTx())),
786+
},
787+
request: &Ydb_Query.ExecuteQueryRequest{
788+
SessionId: "WithTxControl",
789+
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_EXECUTE,
771790
TxControl: &Ydb_Query.TransactionControl{
772791
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
773792
BeginTx: &Ydb_Query.TransactionSettings{
@@ -781,7 +800,7 @@ func TestExecuteQueryRequest(t *testing.T) {
781800
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
782801
QueryContent: &Ydb_Query.QueryContent{
783802
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
784-
Text: "WithoutOptions",
803+
Text: "WithTxControl",
785804
},
786805
},
787806
StatsMode: Ydb_Query.StatsMode_STATS_MODE_NONE,
@@ -802,16 +821,6 @@ func TestExecuteQueryRequest(t *testing.T) {
802821
request: &Ydb_Query.ExecuteQueryRequest{
803822
SessionId: "WithParams",
804823
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_EXECUTE,
805-
TxControl: &Ydb_Query.TransactionControl{
806-
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
807-
BeginTx: &Ydb_Query.TransactionSettings{
808-
TxMode: &Ydb_Query.TransactionSettings_SerializableReadWrite{
809-
SerializableReadWrite: &Ydb_Query.SerializableModeSettings{},
810-
},
811-
},
812-
},
813-
CommitTx: true,
814-
},
815824
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
816825
QueryContent: &Ydb_Query.QueryContent{
817826
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
@@ -868,16 +877,6 @@ func TestExecuteQueryRequest(t *testing.T) {
868877
request: &Ydb_Query.ExecuteQueryRequest{
869878
SessionId: "WithExplain",
870879
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_EXPLAIN,
871-
TxControl: &Ydb_Query.TransactionControl{
872-
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
873-
BeginTx: &Ydb_Query.TransactionSettings{
874-
TxMode: &Ydb_Query.TransactionSettings_SerializableReadWrite{
875-
SerializableReadWrite: &Ydb_Query.SerializableModeSettings{},
876-
},
877-
},
878-
},
879-
CommitTx: true,
880-
},
881880
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
882881
QueryContent: &Ydb_Query.QueryContent{
883882
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
@@ -896,16 +895,6 @@ func TestExecuteQueryRequest(t *testing.T) {
896895
request: &Ydb_Query.ExecuteQueryRequest{
897896
SessionId: "WithValidate",
898897
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_VALIDATE,
899-
TxControl: &Ydb_Query.TransactionControl{
900-
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
901-
BeginTx: &Ydb_Query.TransactionSettings{
902-
TxMode: &Ydb_Query.TransactionSettings_SerializableReadWrite{
903-
SerializableReadWrite: &Ydb_Query.SerializableModeSettings{},
904-
},
905-
},
906-
},
907-
CommitTx: true,
908-
},
909898
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
910899
QueryContent: &Ydb_Query.QueryContent{
911900
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
@@ -924,16 +913,6 @@ func TestExecuteQueryRequest(t *testing.T) {
924913
request: &Ydb_Query.ExecuteQueryRequest{
925914
SessionId: "WithValidate",
926915
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_PARSE,
927-
TxControl: &Ydb_Query.TransactionControl{
928-
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
929-
BeginTx: &Ydb_Query.TransactionSettings{
930-
TxMode: &Ydb_Query.TransactionSettings_SerializableReadWrite{
931-
SerializableReadWrite: &Ydb_Query.SerializableModeSettings{},
932-
},
933-
},
934-
},
935-
CommitTx: true,
936-
},
937916
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
938917
QueryContent: &Ydb_Query.QueryContent{
939918
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
@@ -952,16 +931,6 @@ func TestExecuteQueryRequest(t *testing.T) {
952931
request: &Ydb_Query.ExecuteQueryRequest{
953932
SessionId: "WithStatsFull",
954933
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_EXECUTE,
955-
TxControl: &Ydb_Query.TransactionControl{
956-
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
957-
BeginTx: &Ydb_Query.TransactionSettings{
958-
TxMode: &Ydb_Query.TransactionSettings_SerializableReadWrite{
959-
SerializableReadWrite: &Ydb_Query.SerializableModeSettings{},
960-
},
961-
},
962-
},
963-
CommitTx: true,
964-
},
965934
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
966935
QueryContent: &Ydb_Query.QueryContent{
967936
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
@@ -980,16 +949,6 @@ func TestExecuteQueryRequest(t *testing.T) {
980949
request: &Ydb_Query.ExecuteQueryRequest{
981950
SessionId: "WithStatsBasic",
982951
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_EXECUTE,
983-
TxControl: &Ydb_Query.TransactionControl{
984-
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
985-
BeginTx: &Ydb_Query.TransactionSettings{
986-
TxMode: &Ydb_Query.TransactionSettings_SerializableReadWrite{
987-
SerializableReadWrite: &Ydb_Query.SerializableModeSettings{},
988-
},
989-
},
990-
},
991-
CommitTx: true,
992-
},
993952
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
994953
QueryContent: &Ydb_Query.QueryContent{
995954
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
@@ -1008,16 +967,6 @@ func TestExecuteQueryRequest(t *testing.T) {
1008967
request: &Ydb_Query.ExecuteQueryRequest{
1009968
SessionId: "WithStatsProfile",
1010969
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_EXECUTE,
1011-
TxControl: &Ydb_Query.TransactionControl{
1012-
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
1013-
BeginTx: &Ydb_Query.TransactionSettings{
1014-
TxMode: &Ydb_Query.TransactionSettings_SerializableReadWrite{
1015-
SerializableReadWrite: &Ydb_Query.SerializableModeSettings{},
1016-
},
1017-
},
1018-
},
1019-
CommitTx: true,
1020-
},
1021970
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
1022971
QueryContent: &Ydb_Query.QueryContent{
1023972
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,
@@ -1038,16 +987,6 @@ func TestExecuteQueryRequest(t *testing.T) {
1038987
request: &Ydb_Query.ExecuteQueryRequest{
1039988
SessionId: "WithGrpcCallOptions",
1040989
ExecMode: Ydb_Query.ExecMode_EXEC_MODE_EXECUTE,
1041-
TxControl: &Ydb_Query.TransactionControl{
1042-
TxSelector: &Ydb_Query.TransactionControl_BeginTx{
1043-
BeginTx: &Ydb_Query.TransactionSettings{
1044-
TxMode: &Ydb_Query.TransactionSettings_SerializableReadWrite{
1045-
SerializableReadWrite: &Ydb_Query.SerializableModeSettings{},
1046-
},
1047-
},
1048-
},
1049-
CommitTx: true,
1050-
},
1051990
Query: &Ydb_Query.ExecuteQueryRequest_QueryContent{
1052991
QueryContent: &Ydb_Query.QueryContent{
1053992
Syntax: Ydb_Query.Syntax_SYNTAX_YQL_V1,

internal/query/tx/control.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,7 @@ func NoTx() *Control {
125125

126126
// DefaultTxControl returns default transaction control with serializable read-write isolation mode and auto-commit
127127
func DefaultTxControl() *Control {
128-
return NewControl(
129-
BeginTx(WithSerializableReadWrite()),
130-
CommitTx(),
131-
)
128+
return NoTx()
132129
}
133130

134131
// SerializableReadWriteTxControl returns transaction control with serializable read-write isolation mode

query/session.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type (
2323
// Execute executes query.
2424
//
2525
// Execute used by default:
26-
// - DefaultTxControl
26+
// - DefaultTxControl (NoTx)
2727
// - flag WithKeepInCache(true) if params is not empty.
2828
Execute(ctx context.Context, query string, opts ...options.ExecuteOption) (tx Transaction, r Result, err error)
2929

0 commit comments

Comments
 (0)