Skip to content

Commit 8f252f3

Browse files
authored
cmd/sqlc: Remove --experimental flag (#2170)
For backwards compatability, the flag still exists but is a no-op. If we need feature flagging in the future, we'll develop a more robust system than what this flag provided.
1 parent 62a3e31 commit 8f252f3

File tree

2 files changed

+8
-18
lines changed

2 files changed

+8
-18
lines changed

internal/cmd/cmd.go

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"github.com/spf13/pflag"
1717
"gopkg.in/yaml.v3"
1818

19-
"github.com/kyleconroy/sqlc/internal/codegen/golang"
2019
"github.com/kyleconroy/sqlc/internal/config"
2120
"github.com/kyleconroy/sqlc/internal/debug"
2221
"github.com/kyleconroy/sqlc/internal/info"
@@ -31,7 +30,7 @@ func init() {
3130
func Do(args []string, stdin io.Reader, stdout io.Writer, stderr io.Writer) int {
3231
rootCmd := &cobra.Command{Use: "sqlc", SilenceUsage: true}
3332
rootCmd.PersistentFlags().StringP("file", "f", "", "specify an alternate config file (default: sqlc.yaml)")
34-
rootCmd.PersistentFlags().BoolP("experimental", "x", false, "enable experimental features (default: false)")
33+
rootCmd.PersistentFlags().BoolP("experimental", "x", false, "DEPRECATED: enable experimental features (default: false)")
3534

3635
rootCmd.AddCommand(checkCmd)
3736
rootCmd.AddCommand(diffCmd)
@@ -106,26 +105,17 @@ var initCmd = &cobra.Command{
106105
}
107106

108107
type Env struct {
109-
ExperimentalFeatures bool
110-
DryRun bool
108+
DryRun bool
111109
}
112110

113111
func ParseEnv(c *cobra.Command) Env {
114-
x := c.Flag("experimental")
115112
dr := c.Flag("dry-run")
116113
return Env{
117-
ExperimentalFeatures: x != nil && x.Changed,
118-
DryRun: dr != nil && dr.Changed,
114+
DryRun: dr != nil && dr.Changed,
119115
}
120116
}
121117

122118
func (e *Env) Validate(cfg *config.Config) error {
123-
for _, sql := range cfg.SQL {
124-
if sql.Gen.Go != nil && sql.Gen.Go.SQLPackage == golang.SQLPackagePGXV5 && !e.ExperimentalFeatures {
125-
return fmt.Errorf("'pgx/v5' golang sql package requires enabled '--experimental' flag")
126-
}
127-
}
128-
129119
return nil
130120
}
131121

internal/endtoend/endtoend_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func TestExamples(t *testing.T) {
3939
t.Parallel()
4040
path := filepath.Join(examples, tc)
4141
var stderr bytes.Buffer
42-
output, err := cmd.Generate(ctx, cmd.Env{ExperimentalFeatures: true}, path, "", &stderr)
42+
output, err := cmd.Generate(ctx, cmd.Env{}, path, "", &stderr)
4343
if err != nil {
4444
t.Fatalf("sqlc generate failed: %s", stderr.String())
4545
}
@@ -67,7 +67,7 @@ func BenchmarkExamples(b *testing.B) {
6767
path := filepath.Join(examples, tc)
6868
for i := 0; i < b.N; i++ {
6969
var stderr bytes.Buffer
70-
cmd.Generate(ctx, cmd.Env{ExperimentalFeatures: true}, path, "", &stderr)
70+
cmd.Generate(ctx, cmd.Env{}, path, "", &stderr)
7171
}
7272
})
7373
}
@@ -112,9 +112,9 @@ func TestReplay(t *testing.T) {
112112

113113
switch args.Command {
114114
case "diff":
115-
err = cmd.Diff(ctx, cmd.Env{ExperimentalFeatures: true}, path, "", &stderr)
115+
err = cmd.Diff(ctx, cmd.Env{}, path, "", &stderr)
116116
case "generate":
117-
output, err = cmd.Generate(ctx, cmd.Env{ExperimentalFeatures: true}, path, "", &stderr)
117+
output, err = cmd.Generate(ctx, cmd.Env{}, path, "", &stderr)
118118
if err == nil {
119119
cmpDirectory(t, path, output)
120120
}
@@ -254,7 +254,7 @@ func BenchmarkReplay(b *testing.B) {
254254
path, _ := filepath.Abs(tc)
255255
for i := 0; i < b.N; i++ {
256256
var stderr bytes.Buffer
257-
cmd.Generate(ctx, cmd.Env{ExperimentalFeatures: true}, path, "", &stderr)
257+
cmd.Generate(ctx, cmd.Env{}, path, "", &stderr)
258258
}
259259
})
260260
}

0 commit comments

Comments
 (0)