parse
EXPERIMENTAL CHANGEFEED FOR TABLE foo
----
EXPERIMENTAL CHANGEFEED FOR TABLE foo
EXPERIMENTAL CHANGEFEED FOR TABLE (foo) -- fully parenthesized
EXPERIMENTAL CHANGEFEED FOR TABLE foo -- literals removed
EXPERIMENTAL CHANGEFEED FOR TABLE _ -- identifiers removed

parse
EXPERIMENTAL CHANGEFEED FOR TABLE foo FAMILY bar
----
EXPERIMENTAL CHANGEFEED FOR TABLE foo FAMILY bar
EXPERIMENTAL CHANGEFEED FOR TABLE (foo) FAMILY bar -- fully parenthesized
EXPERIMENTAL CHANGEFEED FOR TABLE foo FAMILY bar -- literals removed
EXPERIMENTAL CHANGEFEED FOR TABLE _ FAMILY _ -- identifiers removed

parse
EXPLAIN CREATE CHANGEFEED FOR TABLE foo INTO 'sink'
----
EXPLAIN CREATE CHANGEFEED FOR TABLE foo INTO '*****' -- normalized!
EXPLAIN CREATE CHANGEFEED FOR TABLE (foo) INTO ('*****') -- fully parenthesized
EXPLAIN CREATE CHANGEFEED FOR TABLE foo INTO '_' -- literals removed
EXPLAIN CREATE CHANGEFEED FOR TABLE _ INTO '*****' -- identifiers removed
EXPLAIN CREATE CHANGEFEED FOR TABLE foo INTO 'sink' -- passwords exposed

parse
CREATE CHANGEFEED FOR foo INTO 'sink'
----
CREATE CHANGEFEED FOR TABLE foo INTO '*****' -- normalized!
CREATE CHANGEFEED FOR TABLE (foo) INTO ('*****') -- fully parenthesized
CREATE CHANGEFEED FOR TABLE foo INTO '_' -- literals removed
CREATE CHANGEFEED FOR TABLE _ INTO '*****' -- identifiers removed
CREATE CHANGEFEED FOR TABLE foo INTO 'sink' -- passwords exposed

parse
CREATE CHANGEFEED FOR TABLE foo INTO sink
----
CREATE CHANGEFEED FOR TABLE foo INTO '*****' -- normalized!
CREATE CHANGEFEED FOR TABLE (foo) INTO ('*****') -- fully parenthesized
CREATE CHANGEFEED FOR TABLE foo INTO '_' -- literals removed
CREATE CHANGEFEED FOR TABLE _ INTO '*****' -- identifiers removed
CREATE CHANGEFEED FOR TABLE foo INTO 'sink' -- passwords exposed

parse
CREATE CHANGEFEED FOR TABLE foo, db.bar, foo FAMILY bar, schema.db.foo INTO 'sink'
----
CREATE CHANGEFEED FOR TABLE foo, TABLE db.bar, TABLE foo FAMILY bar, TABLE schema.db.foo INTO '*****' -- normalized!
CREATE CHANGEFEED FOR TABLE (foo), TABLE (db.bar), TABLE (foo) FAMILY bar, TABLE (schema.db.foo) INTO ('*****') -- fully parenthesized
CREATE CHANGEFEED FOR TABLE foo, TABLE db.bar, TABLE foo FAMILY bar, TABLE schema.db.foo INTO '_' -- literals removed
CREATE CHANGEFEED FOR TABLE _, TABLE _._, TABLE _ FAMILY _, TABLE _._._ INTO '*****' -- identifiers removed
CREATE CHANGEFEED FOR TABLE foo, TABLE db.bar, TABLE foo FAMILY bar, TABLE schema.db.foo INTO 'sink' -- passwords exposed

parse
CREATE CHANGEFEED FOR TABLE foo INTO 'sink'
----
CREATE CHANGEFEED FOR TABLE foo INTO '*****' -- normalized!
CREATE CHANGEFEED FOR TABLE (foo) INTO ('*****') -- fully parenthesized
CREATE CHANGEFEED FOR TABLE foo INTO '_' -- literals removed
CREATE CHANGEFEED FOR TABLE _ INTO '*****' -- identifiers removed
CREATE CHANGEFEED FOR TABLE foo INTO 'sink' -- passwords exposed

## TODO(dan): Implement:
## CREATE CHANGEFEED FOR TABLE foo VALUES FROM (1) TO (2) INTO 'sink'
## CREATE CHANGEFEED FOR TABLE foo PARTITION bar, baz INTO 'sink'
## CREATE CHANGEFEED FOR DATABASE foo INTO 'sink'

parse
CREATE CHANGEFEED FOR TABLE foo INTO 'sink' WITH bar = 'baz'
----
CREATE CHANGEFEED FOR TABLE foo INTO '*****' WITH OPTIONS (bar = 'baz') -- normalized!
CREATE CHANGEFEED FOR TABLE (foo) INTO ('*****') WITH OPTIONS (bar = ('baz')) -- fully parenthesized
CREATE CHANGEFEED FOR TABLE foo INTO '_' WITH OPTIONS (bar = '_') -- literals removed
CREATE CHANGEFEED FOR TABLE _ INTO '*****' WITH OPTIONS (_ = 'baz') -- identifiers removed
CREATE CHANGEFEED FOR TABLE foo INTO 'sink' WITH OPTIONS (bar = 'baz') -- passwords exposed

parse
CREATE CHANGEFEED AS SELECT * FROM foo
----
CREATE CHANGEFEED AS SELECT * FROM foo
CREATE CHANGEFEED AS SELECT (*) FROM foo -- fully parenthesized
CREATE CHANGEFEED AS SELECT * FROM foo -- literals removed
CREATE CHANGEFEED AS SELECT * FROM _ -- identifiers removed

parse
CREATE CHANGEFEED AS SELECT * FROM foo AS bar
----
CREATE CHANGEFEED AS SELECT * FROM foo AS bar
CREATE CHANGEFEED AS SELECT (*) FROM foo AS bar -- fully parenthesized
CREATE CHANGEFEED AS SELECT * FROM foo AS bar -- literals removed
CREATE CHANGEFEED AS SELECT * FROM _ AS _ -- identifiers removed

parse
CREATE CHANGEFEED AS SELECT a, b, c FROM foo
----
CREATE CHANGEFEED AS SELECT a, b, c FROM foo
CREATE CHANGEFEED AS SELECT (a), (b), (c) FROM foo -- fully parenthesized
CREATE CHANGEFEED AS SELECT a, b, c FROM foo -- literals removed
CREATE CHANGEFEED AS SELECT _, _, _ FROM _ -- identifiers removed

parse
CREATE CHANGEFEED AS SELECT * FROM foo WHERE a  > b
----
CREATE CHANGEFEED AS SELECT * FROM foo WHERE a > b -- normalized!
CREATE CHANGEFEED AS SELECT (*) FROM foo WHERE ((a) > (b)) -- fully parenthesized
CREATE CHANGEFEED AS SELECT * FROM foo WHERE a > b -- literals removed
CREATE CHANGEFEED AS SELECT * FROM _ WHERE _ > _ -- identifiers removed

parse
CREATE CHANGEFEED WITH opt='val' AS SELECT * FROM foo WHERE a  > b
----
CREATE CHANGEFEED WITH OPTIONS (opt = 'val') AS SELECT * FROM foo WHERE a > b -- normalized!
CREATE CHANGEFEED WITH OPTIONS (opt = ('val')) AS SELECT (*) FROM foo WHERE ((a) > (b)) -- fully parenthesized
CREATE CHANGEFEED WITH OPTIONS (opt = '_') AS SELECT * FROM foo WHERE a > b -- literals removed
CREATE CHANGEFEED WITH OPTIONS (_ = 'val') AS SELECT * FROM _ WHERE _ > _ -- identifiers removed

parse
CREATE CHANGEFEED INTO 'null://' WITH opt='val' AS SELECT * FROM foo WHERE a  > b
----
CREATE CHANGEFEED INTO 'null://' WITH OPTIONS (opt = 'val') AS SELECT * FROM foo WHERE a > b -- normalized!
CREATE CHANGEFEED INTO ('null://') WITH OPTIONS (opt = ('val')) AS SELECT (*) FROM foo WHERE ((a) > (b)) -- fully parenthesized
CREATE CHANGEFEED INTO '_' WITH OPTIONS (opt = '_') AS SELECT * FROM foo WHERE a > b -- literals removed
CREATE CHANGEFEED INTO 'null://' WITH OPTIONS (_ = 'val') AS SELECT * FROM _ WHERE _ > _ -- identifiers removed

parse
CREATE CHANGEFEED WITH OPTIONS ( BUCKET_COUNT = PLACEHOLDER ) AS SELECT * , * FROM FAMILY AS DECIMAL
----
CREATE CHANGEFEED WITH OPTIONS (bucket_count = 'placeholder') AS SELECT *, * FROM "family" AS "decimal" -- normalized!
CREATE CHANGEFEED WITH OPTIONS (bucket_count = ('placeholder')) AS SELECT (*), (*) FROM "family" AS "decimal" -- fully parenthesized
CREATE CHANGEFEED WITH OPTIONS (bucket_count = '_') AS SELECT *, * FROM "family" AS "decimal" -- literals removed
CREATE CHANGEFEED WITH OPTIONS (_ = 'placeholder') AS SELECT *, * FROM _ AS _ -- identifiers removed
