Skip to content

Commit 6cc583a

Browse files
committed
fix regexp
1 parent f5d0620 commit 6cc583a

File tree

3 files changed

+41
-4
lines changed

3 files changed

+41
-4
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package cmd
2+
3+
import (
4+
"strconv"
5+
"testing"
6+
7+
"github.com/stretchr/testify/require"
8+
)
9+
10+
func TestFixSchemaName(t *testing.T) {
11+
table := []struct {
12+
from string
13+
result string
14+
}{
15+
{
16+
from: `DELETE
17+
FROM "eda_dds_partner"."a__item__item_name__h2" t
18+
USING "for_delete_extend" AS base
19+
WHERE`,
20+
result: `DELETE
21+
FROM eda_dds_partner___a__item__item_name__h2 t
22+
USING "for_delete_extend" AS base
23+
WHERE`,
24+
},
25+
}
26+
27+
for i, test := range table {
28+
t.Run(strconv.Itoa(i), func(t *testing.T) {
29+
res := fixSchemaNames(test.from)
30+
require.Equal(t, test.result, res)
31+
})
32+
}
33+
}

tools/greenplum-to-pg-tests/cmd/extraxtSessions.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func init() {
5353

5454
extractSessionsCmd.PersistentFlags().BoolVar(&extractSessionsConfig.includeFailed, "include-failed", false, "Extract sessions with failed transactions")
5555
extractSessionsCmd.PersistentFlags().StringVar(&extractSessionsConfig.ydbConnectionString, "ydb-connection", "grpc://localhost:2136/local", "Connection string to ydb server for check queries")
56-
extractSessionsCmd.PersistentFlags().IntVar(&extractSessionsConfig.limitRequests, "requests-limit", 100, "Limit number of parse requests, 0 mean unlimited")
56+
extractSessionsCmd.PersistentFlags().IntVar(&extractSessionsConfig.limitRequests, "requests-limit", 1000, "Limit number of parse requests, 0 mean unlimited")
5757
extractSessionsCmd.PersistentFlags().StringVar(&extractSessionsConfig.rulesFile, "rules-file", "issues.yaml", "Rules for detect issue. Set empty for skip read rules.")
5858
extractSessionsCmd.PersistentFlags().StringVar(&extractSessionsConfig.writeRulesWithStat, "write-updated-rules", "", "Write rules with updated stats, may be same or other file as for rules-file")
5959
extractSessionsCmd.PersistentFlags().BoolVar(&extractSessionsConfig.sortRulesByCount, "sort-updates-rules-by-count", true, "")
@@ -238,7 +238,8 @@ func checkQueries(rules Rules, stats *QueryStats, pgSchema *internal.PgSchema, d
238238
for _, pgQuery := range transaction.Queries {
239239
queryIndex++
240240
if queryIndex%extractSessionsConfig.printProgressEveryQueries == 0 {
241-
log.Printf("Checking query %8d/%v", queryIndex, totalQueries)
241+
percent := float64(queryIndex) / float64(totalQueries) * 100
242+
log.Printf("Checking query %8d/%v (%v)", queryIndex, totalQueries, percent)
242243
}
243244
//if checked[pgQuery.Text] {
244245
// continue
@@ -332,7 +333,7 @@ type ReplacePair struct {
332333
To string
333334
}
334335

335-
var schemaTableRegexp = regexp.MustCompile(`(?i)(CREATE TABLE|FROM|INSERT INTO|JOIN|UPDATE)\s+"?([^\s.]+)"?\."?([^\s.]+)"?`)
336+
var schemaTableRegexp = regexp.MustCompile(`(?i)(CREATE TABLE|FROM|INSERT INTO|JOIN|UPDATE)\s+"?([^\s."]+)"?\."?([^\s."]+)"?`)
336337

337338
func fixSchemaNames(queryText string) string {
338339
queryText = schemaTableRegexp.ReplaceAllString(queryText, "${1} ${2}___${3}")

tools/greenplum-to-pg-tests/go.mod

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,29 @@ go 1.22.3
44

55
require (
66
github.com/spf13/cobra v1.8.1
7+
github.com/stretchr/testify v1.8.3
78
github.com/ydb-platform/ydb-go-genproto v0.0.0-20240528144234-5d5a685e41f7
89
github.com/ydb-platform/ydb-go-sdk-auth-environ v0.4.2
910
github.com/ydb-platform/ydb-go-sdk/v3 v3.74.5
1011
github.com/ydb-platform/ydb-go-yc v0.12.1
11-
golang.org/x/text v0.16.0
1212
gopkg.in/yaml.v3 v3.0.1
1313
)
1414

1515
require (
16+
github.com/davecgh/go-spew v1.1.1 // indirect
1617
github.com/golang-jwt/jwt/v4 v4.4.3 // indirect
1718
github.com/golang/protobuf v1.5.3 // indirect
1819
github.com/google/uuid v1.3.0 // indirect
1920
github.com/inconshreveable/mousetrap v1.1.0 // indirect
2021
github.com/jonboulle/clockwork v0.3.0 // indirect
22+
github.com/pmezard/go-difflib v1.0.0 // indirect
2123
github.com/spf13/pflag v1.0.5 // indirect
2224
github.com/yandex-cloud/go-genproto v0.0.0-20211115083454-9ca41db5ed9e // indirect
2325
github.com/ydb-platform/ydb-go-yc-metadata v0.6.1 // indirect
2426
golang.org/x/net v0.23.0 // indirect
2527
golang.org/x/sync v0.7.0 // indirect
2628
golang.org/x/sys v0.18.0 // indirect
29+
golang.org/x/text v0.16.0 // indirect
2730
google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 // indirect
2831
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect
2932
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect

0 commit comments

Comments
 (0)