Skip to content

Commit f2dba9e

Browse files
committed
fix(transactions): add commit to the wrapper for better performance
1 parent fe20a21 commit f2dba9e

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

pkg/builder/InbRdv.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,12 @@ func BuildInbRdvSatDeleteQuery(tableName string) (string, error) {
5353
if tableName == "" {
5454
return "", fmt.Errorf("the tablename cannot be blank")
5555
}
56-
script += fmt.Sprintf("UPDATE rdv.%s_sat ", tableName)
56+
script += fmt.Sprintf("UPDATE rdv.%s_sat s ", tableName)
5757
script += "SET delete_dts = NOW() "
58-
script += fmt.Sprintf("FROM rdv.%s_sat AS s ", tableName)
59-
script += fmt.Sprintf("LEFT JOIN rdv.%s_sat_cur AS sc on s.frh = sc.frh ", tableName)
60-
script += "WHERE sc.frh IS NULL AND s.delete_dts IS NULL;"
58+
script += fmt.Sprintf("WHERE s.delete_dts IS NULL AND NOT EXISTS (SELECT 1 FROM rdv.%s_sat_cur sc WHERE sc.frh = s.frh);", tableName)
59+
// script += fmt.Sprintf("FROM rdv.%s_sat AS s ", tableName)
60+
// script += fmt.Sprintf("LEFT JOIN rdv.%s_sat_cur AS sc on s.frh = sc.frh ", tableName)
61+
// script += "WHERE sc.frh IS NULL AND s.delete_dts IS NULL;"
6162
// script += fmt.Sprintf("WHERE frh NOT IN (SELECT frh FROM rdv.%s_sat_cur) ", tableName)
6263
// script += "AND delete_dts IS NULL;"
6364

pkg/builder/InbRdv_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func TestBuildInbRdvSatDeleteQuery(t *testing.T) {
6868
// t.Fatalf("BuildInbRdvSatDeleteQuery incorrect: %v", query)
6969
// }
7070

71-
if query != "UPDATE rdv.TestTable_sat SET delete_dts = NOW() FROM rdv.TestTable_sat AS s LEFT JOIN rdv.TestTable_sat_cur AS sc on s.frh = sc.frh WHERE sc.frh IS NULL AND s.delete_dts IS NULL;" {
71+
if query != "UPDATE rdv.TestTable_sat s SET delete_dts = NOW() WHERE s.delete_dts IS NULL AND NOT EXISTS (SELECT 1 FROM rdv.TestTable_sat_cur sc WHERE sc.frh = s.frh);" {
7272
t.Fatalf("BuildInbRdvSatDeleteQuery incorrect: %v", query)
7373
}
7474
}

pkg/pipeline/inbrdv/RdvPipelineBuilder_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ func TestRdvPipeline_buildSatMarkDelete(t *testing.T) {
140140
wantErr bool
141141
}{
142142
{name: "SatCurDeleteTest1", fields: fields{nil, ""}, want: nil, wantErr: true},
143-
{name: "SatCurDeleteTest2", fields: fields{nil, "testTableDelete"}, want: processors.NewSQLExecutor(nil, "UPDATE rdv.testTableDelete_sat SET delete_dts = NOW() FROM rdv.testTableDelete_sat AS s LEFT JOIN rdv.testTableDelete_sat_cur AS sc on s.frh = sc.frh WHERE sc.frh IS NULL AND s.delete_dts IS NULL;"), wantErr: false},
143+
{name: "SatCurDeleteTest2", fields: fields{nil, "testTableDelete"}, want: processors.NewSQLExecutor(nil, "UPDATE rdv.testTableDelete_sat s SET delete_dts = NOW() WHERE s.delete_dts IS NULL AND NOT EXISTS (SELECT 1 FROM rdv.testTableDelete_sat_cur sc WHERE sc.frh = s.frh);"), wantErr: false},
144144
}
145145
for _, tt := range tests {
146146
t.Run(tt.name, func(t *testing.T) {

0 commit comments

Comments
 (0)