Fix strings for SHOW MEASUREMENTS
parent
fc628fdb42
commit
c7782878aa
|
@ -1958,6 +1958,15 @@ func (s *ShowMeasurementsStatement) String() string {
|
|||
var buf bytes.Buffer
|
||||
_, _ = buf.WriteString("SHOW MEASUREMENTS")
|
||||
|
||||
if s.Source != nil {
|
||||
_, _ = buf.WriteString(" WITH MEASUREMENT ")
|
||||
if m, ok := s.Source.(*Measurement); ok && m.Regex != nil {
|
||||
_, _ = buf.WriteString("=~ ")
|
||||
} else {
|
||||
_, _ = buf.WriteString("= ")
|
||||
}
|
||||
_, _ = buf.WriteString(s.Source.String())
|
||||
}
|
||||
if s.Condition != nil {
|
||||
_, _ = buf.WriteString(" WHERE ")
|
||||
_, _ = buf.WriteString(s.Condition.String())
|
||||
|
|
|
@ -633,6 +633,12 @@ func TestParseString(t *testing.T) {
|
|||
{
|
||||
stmt: `CREATE SUBSCRIPTION "ugly \"subscription\" name" ON "\"my\" db"."\"my\" rp" DESTINATIONS ALL 'my host', 'my other host'`,
|
||||
},
|
||||
{
|
||||
stmt: `SHOW MEASUREMENTS WITH MEASUREMENT =~ /foo/`,
|
||||
},
|
||||
{
|
||||
stmt: `SHOW MEASUREMENTS WITH MEASUREMENT = "and/or"`,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
|
@ -642,10 +648,14 @@ func TestParseString(t *testing.T) {
|
|||
t.Fatalf("invalid statement: %q: %s", tt.stmt, err)
|
||||
}
|
||||
|
||||
_, err = influxql.NewParser(strings.NewReader(stmt.String())).ParseStatement()
|
||||
stmtCopy, err := influxql.NewParser(strings.NewReader(stmt.String())).ParseStatement()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to parse string: %v\norig: %v\ngot: %v", err, tt.stmt, stmt.String())
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(stmt, stmtCopy) {
|
||||
t.Fatalf("statement changed after stringifying and re-parsing:\noriginal : %v\nre-parsed: %v\n", tt.stmt, stmtCopy.String())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue