Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…db#93627

93300: builtins: implement parse_ident function r=ZhouXing19 a=rafiss

fixes cockroachdb#93159

The implementation was adapted from the Postgres one.

Release note (sql change): Implemented the parse_ident builtin. The function splits a qualified identifier into an array of identifiers, removing any quoting of individual identifiers. By default, extra characters after the last identifier are considered an error; but if the second parameter is false, then such extra characters are ignored.

93607: TEAMS: rename sql-experience to sql-sessions r=rafiss a=rafiss

Epic: None
Release note: None

93616: bench: fix tenant benchmark r=yuzefovich,andreimatei a=renatolabs

Fixes argument passed to `crdb_internal.create_tenant` to remove underscore, which is rejected as an invalid name; and also use the `bench` database in `tenantDB`.

Relates to cockroachdb#93530.

Epic: none
Release note: None

93627: ci: fix error in nightly builder update check r=rickystewart a=healthy-pod

Release note: None
Epic: none

Co-authored-by: Rafi Shamim <rafi@cockroachlabs.com>
Co-authored-by: Renato Costa <renato@cockroachlabs.com>
Co-authored-by: healthy-pod <ahmad@cockroachlabs.com>
  • Loading branch information
4 people committed Dec 14, 2022
5 parents 54b950d + 5386a66 + 1a34b58 + d34ac1a + cf5c3d0 commit dbea195
Show file tree
Hide file tree
Showing 15 changed files with 475 additions and 47 deletions.
70 changes: 35 additions & 35 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -59,18 +59,18 @@
/pkg/sql/show_create*.go @cockroachdb/sql-syntax-prs
/pkg/sql/types/ @cockroachdb/sql-syntax-prs

/pkg/sql/crdb_internal.go @cockroachdb/sql-experience
/pkg/sql/pg_catalog.go @cockroachdb/sql-experience
/pkg/sql/pgwire/ @cockroachdb/sql-experience @cockroachdb/server-prs
/pkg/sql/pgwire/auth.go @cockroachdb/sql-experience @cockroachdb/server-prs @cockroachdb/prodsec
/pkg/sql/sem/builtins/ @cockroachdb/sql-experience
/pkg/sql/vtable/ @cockroachdb/sql-experience
/pkg/sql/importer/ @cockroachdb/sql-experience
/pkg/ccl/importerccl/ @cockroachdb/sql-experience
/pkg/sql/crdb_internal.go @cockroachdb/sql-sessions
/pkg/sql/pg_catalog.go @cockroachdb/sql-sessions
/pkg/sql/pgwire/ @cockroachdb/sql-sessions @cockroachdb/server-prs
/pkg/sql/pgwire/auth.go @cockroachdb/sql-sessions @cockroachdb/server-prs @cockroachdb/prodsec
/pkg/sql/sem/builtins/ @cockroachdb/sql-sessions
/pkg/sql/vtable/ @cockroachdb/sql-sessions
/pkg/sql/importer/ @cockroachdb/sql-sessions
/pkg/ccl/importerccl/ @cockroachdb/sql-sessions

/pkg/sql/sessiondata/ @cockroachdb/sql-experience
/pkg/sql/tests/rsg_test.go @cockroachdb/sql-experience
/pkg/sql/ttl @cockroachdb/sql-experience
/pkg/sql/sessiondata/ @cockroachdb/sql-sessions
/pkg/sql/tests/rsg_test.go @cockroachdb/sql-sessions
/pkg/sql/ttl @cockroachdb/sql-sessions

/pkg/ccl/schemachangerccl/ @cockroachdb/sql-schema
/pkg/sql/catalog/ @cockroachdb/sql-schema
Expand All @@ -97,17 +97,17 @@
/pkg/cli/userfile.go @cockroachdb/disaster-recovery
/pkg/cli/auth.go @cockroachdb/unowned @cockroachdb/prodsec @cockroachdb/cli-prs
/pkg/cli/cert*.go @cockroachdb/cli-prs @cockroachdb/prodsec
/pkg/cli/demo*.go @cockroachdb/sql-experience @cockroachdb/server-prs @cockroachdb/cli-prs
/pkg/cli/democluster @cockroachdb/sql-experience @cockroachdb/server-prs @cockroachdb/cli-prs
/pkg/cli/demo*.go @cockroachdb/sql-sessions @cockroachdb/server-prs @cockroachdb/cli-prs
/pkg/cli/democluster @cockroachdb/sql-sessions @cockroachdb/server-prs @cockroachdb/cli-prs
/pkg/cli/debug*.go @cockroachdb/kv-prs @cockroachdb/cli-prs
/pkg/cli/debug_job_trace*.go @cockroachdb/jobs-prs
/pkg/cli/doctor*.go @cockroachdb/sql-schema @cockroachdb/cli-prs
/pkg/cli/import_test.go @cockroachdb/sql-experience @cockroachdb/cli-prs
/pkg/cli/sql*.go @cockroachdb/sql-experience @cockroachdb/cli-prs
/pkg/cli/clisqlshell/ @cockroachdb/sql-experience @cockroachdb/cli-prs
/pkg/cli/clisqlclient/ @cockroachdb/sql-experience @cockroachdb/cli-prs
/pkg/cli/clisqlcfg/ @cockroachdb/sql-experience @cockroachdb/cli-prs
/pkg/cli/clisqlexec/ @cockroachdb/sql-experience @cockroachdb/cli-prs
/pkg/cli/import_test.go @cockroachdb/sql-sessions @cockroachdb/cli-prs
/pkg/cli/sql*.go @cockroachdb/sql-sessions @cockroachdb/cli-prs
/pkg/cli/clisqlshell/ @cockroachdb/sql-sessions @cockroachdb/cli-prs
/pkg/cli/clisqlclient/ @cockroachdb/sql-sessions @cockroachdb/cli-prs
/pkg/cli/clisqlcfg/ @cockroachdb/sql-sessions @cockroachdb/cli-prs
/pkg/cli/clisqlexec/ @cockroachdb/sql-sessions @cockroachdb/cli-prs
/pkg/cli/start*.go @cockroachdb/cli-prs @cockroachdb/server-prs
/pkg/cli/mt_proxy.go @cockroachdb/sqlproxy-prs @cockroachdb/server-prs
/pkg/cli/mt_start_sql.go @cockroachdb/sqlproxy-prs @cockroachdb/server-prs
Expand Down Expand Up @@ -139,7 +139,7 @@
/pkg/server/node_http*.go @cockroachdb/obs-inf-prs @cockroachdb/server-prs
/pkg/server/node_tenant*go @cockroachdb/obs-inf-prs @cockroachdb/multi-tenant @cockroachdb/server-prs
/pkg/server/node_tombstone*.go @cockroachdb/kv-prs @cockroachdb/server-prs
/pkg/server/pgurl/ @cockroachdb/sql-experience @cockroachdb/cli-prs
/pkg/server/pgurl/ @cockroachdb/sql-sessions @cockroachdb/cli-prs
/pkg/server/server_http*.go @cockroachdb/obs-inf-prs @cockroachdb/server-prs
/pkg/server/server_import_ts*.go @cockroachdb/obs-inf-prs @cockroachdb/kv-prs
/pkg/server/serverpb/ @cockroachdb/obs-inf-prs @cockroachdb/server-prs
Expand Down Expand Up @@ -193,7 +193,7 @@
/pkg/gen/*.bzl @cockroachdb/dev-inf-noreview
/pkg/gen/gen.bzl @cockroachdb/dev-inf

/pkg/acceptance/ @cockroachdb/sql-experience
/pkg/acceptance/ @cockroachdb/sql-sessions
/pkg/base/ @cockroachdb/unowned @cockroachdb/kv-prs @cockroachdb/server-prs
/pkg/bench/ @cockroachdb/sql-queries-noreview
/pkg/bench/rttanalysis @cockroachdb/sql-schema
Expand Down Expand Up @@ -224,30 +224,30 @@
/pkg/ccl/testccl/workload/schemachange/ @cockroachdb/sql-schema
/pkg/ccl/testutilsccl/ @cockroachdb/test-eng-noreview
/pkg/ccl/utilccl/ @cockroachdb/unowned @cockroachdb/server-prs
/pkg/ccl/workloadccl/ @cockroachdb/sql-experience-noreview @cockroachdb/test-eng
/pkg/ccl/benchccl/rttanalysisccl/ @cockroachdb/sql-experience
/pkg/ccl/workloadccl/ @cockroachdb/sql-sessions-noreview @cockroachdb/test-eng
/pkg/ccl/benchccl/rttanalysisccl/ @cockroachdb/sql-schema
/pkg/clusterversion/ @cockroachdb/kv-prs-noreview
/pkg/cmd/allocsim/ @cockroachdb/kv-prs
/pkg/cmd/bazci/ @cockroachdb/dev-inf
/pkg/cmd/cloudupload/ @cockroachdb/dev-inf
/pkg/cmd/cmdutil/ @cockroachdb/dev-inf
/pkg/cmd/cmp-protocol/ @cockroachdb/sql-experience
/pkg/cmd/cmp-sql/ @cockroachdb/sql-experience
/pkg/cmd/cmpconn/ @cockroachdb/sql-experience
/pkg/cmd/cmp-protocol/ @cockroachdb/sql-sessions
/pkg/cmd/cmp-sql/ @cockroachdb/sql-sessions
/pkg/cmd/cmpconn/ @cockroachdb/sql-sessions
/pkg/cmd/cockroach/ @cockroachdb/cli-prs
/pkg/cmd/cockroach-oss/ @cockroachdb/cli-prs
/pkg/cmd/cockroach-short/ @cockroachdb/cli-prs
/pkg/cmd/cockroach-sql/ @cockroachdb/sql-experience @cockroachdb/cli-prs
/pkg/cmd/cockroach-sql/ @cockroachdb/sql-sessions @cockroachdb/cli-prs
/pkg/cmd/compile-build/ @cockroachdb/dev-inf
/pkg/cmd/cr2pg/ @cockroachdb/sql-experience
/pkg/cmd/cr2pg/ @cockroachdb/sql-sessions
/pkg/cmd/dev/ @cockroachdb/dev-inf
/pkg/cmd/docgen/ @cockroachdb/docs
/pkg/cmd/docs-issue-generation/ @cockroachdb/dev-inf
/pkg/cmd/fuzz/ @cockroachdb/test-eng
/pkg/cmd/generate-binary/ @cockroachdb/sql-experience
/pkg/cmd/generate-binary/ @cockroachdb/sql-sessions
/pkg/cmd/generate-distdir/ @cockroachdb/dev-inf
/pkg/cmd/generate-logictest/ @cockroachdb/dev-inf
/pkg/cmd/generate-metadata-tables/ @cockroachdb/sql-experience
/pkg/cmd/generate-metadata-tables/ @cockroachdb/sql-sessions
/pkg/cmd/generate-spatial-ref-sys/ @cockroachdb/geospatial
/pkg/cmd/generate-bazel-extra/ @cockroachdb/dev-inf
/pkg/cmd/generate-staticcheck/ @cockroachdb/dev-inf
Expand Down Expand Up @@ -279,7 +279,7 @@
/pkg/cmd/roachtest/tests @cockroachdb/test-eng-noreview
/pkg/cmd/roachvet/ @cockroachdb/dev-inf
/pkg/cmd/skip-test/ @cockroachdb/test-eng
/pkg/cmd/skiperrs/ @cockroachdb/sql-experience
/pkg/cmd/skiperrs/ @cockroachdb/sql-sessions
/pkg/cmd/skipped-tests/ @cockroachdb/test-eng
/pkg/cmd/smith/ @cockroachdb/sql-queries
/pkg/cmd/smithcmp/ @cockroachdb/sql-queries
Expand All @@ -289,11 +289,11 @@
/pkg/cmd/uptodate/ @cockroachdb/dev-inf
/pkg/cmd/urlcheck/ @cockroachdb/docs
/pkg/cmd/whoownsit/ @cockroachdb/test-eng
/pkg/cmd/workload/ @cockroachdb/sql-experience-noreview @cockroachdb/test-eng
/pkg/cmd/workload/ @cockroachdb/sql-sessions-noreview @cockroachdb/test-eng
/pkg/cmd/wraprules/ @cockroachdb/obs-inf-prs-noreview
/pkg/cmd/zerosum/ @cockroachdb/kv-noreview
/pkg/col/ @cockroachdb/sql-queries
/pkg/compose/ @cockroachdb/sql-experience
/pkg/compose/ @cockroachdb/sql-sessions
/pkg/config/ @cockroachdb/kv-prs @cockroachdb/server-prs
/pkg/docs/ @cockroachdb/docs
/pkg/featureflag/ @cockroachdb/cli-prs-noreview
Expand Down Expand Up @@ -343,7 +343,7 @@
/pkg/rpc/auth.go @cockroachdb/unowned @cockroachdb/server-prs @cockroachdb/kv-prs @cockroachdb/prodsec
/pkg/scheduledjobs/ @cockroachdb/jobs-prs
/pkg/security/ @cockroachdb/unowned @cockroachdb/server-prs @cockroachdb/prodsec
/pkg/security/clientsecopts/ @cockroachdb/unowned @cockroachdb/server-prs @cockroachdb/sql-experience @cockroachdb/prodsec
/pkg/security/clientsecopts/ @cockroachdb/unowned @cockroachdb/server-prs @cockroachdb/sql-sessions @cockroachdb/prodsec
/pkg/settings/ @cockroachdb/unowned
/pkg/spanconfig/ @cockroachdb/kv-prs
/pkg/repstream/ @cockroachdb/disaster-recovery
Expand All @@ -362,7 +362,7 @@
/pkg/util/admission/ @cockroachdb/admission-control
/pkg/util/schedulerlatency/ @cockroachdb/admission-control
/pkg/util/tracing @cockroachdb/obs-inf-prs
/pkg/workload/ @cockroachdb/sql-experience-noreview @cockroachdb/test-eng
/pkg/workload/ @cockroachdb/sql-sessions-noreview @cockroachdb/test-eng
/pkg/obs/ @cockroachdb/obs-inf-prs
/pkg/obsservice/ @cockroachdb/obs-inf-prs

Expand Down
4 changes: 2 additions & 2 deletions TEAMS.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@

cockroachdb/docs:
triage_column_id: 3971225
cockroachdb/sql-experience:
cockroachdb/sql-sessions:
aliases:
cockroachdb/sql-syntax-prs: other
cockroachdb/sqlproxy-prs: other
cockroachdb/sql-api-prs: other
triage_column_id: 7259065
label: T-sql-experience
label: T-sql-sessions
cockroachdb/sql-schema:
triage_column_id: 8946818
cockroachdb/sql-queries:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ docker pull $BASE_IMAGE && docker pull $BAZEL_IMAGE
LATEST_BASE_IMAGE_CREATE_DT="$(docker inspect $BASE_IMAGE -f '{{.Created}}')"
LATEST_BAZEL_IMAGE_CREATE_DT="$(docker inspect $BAZEL_IMAGE -f '{{.Created}}')"

if [[ LATEST_BASE_IMAGE_CREATE_DT < LATEST_BAZEL_IMAGE_CREATE_DT ]]; then
if [[ $LATEST_BASE_IMAGE_CREATE_DT < $LATEST_BAZEL_IMAGE_CREATE_DT ]]; then
echo "Base image is up to date. No-op."
exit 0
fi
Expand Down
4 changes: 4 additions & 0 deletions docs/generated/sql/functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2781,6 +2781,10 @@ The output can be used to recreate a database.’</p>
</span></td><td>Immutable</td></tr>
<tr><td><a name="parse_date"></a><code>parse_date(val: <a href="string.html">string</a>) &rarr; <a href="date.html">date</a></code></td><td><span class="funcdesc"><p>Parses a date assuming it is in MDY format.</p>
</span></td><td>Immutable</td></tr>
<tr><td><a name="parse_ident"></a><code>parse_ident(qualified_identifier: <a href="string.html">string</a>) &rarr; <a href="string.html">string</a>[]</code></td><td><span class="funcdesc"><p>Splits qualified_identifier into an array of identifiers, removing any quoting of individual identifiers. Extra characters after the last identifier are considered an error</p>
</span></td><td>Immutable</td></tr>
<tr><td><a name="parse_ident"></a><code>parse_ident(qualified_identifier: <a href="string.html">string</a>, strict: <a href="bool.html">bool</a>) &rarr; <a href="string.html">string</a>[]</code></td><td><span class="funcdesc"><p>Splits <code>qualified_identifier</code> into an array of identifiers, removing any quoting of individual identifiers. If <code>strict</code> is false, then extra characters after the last identifier are ignored.</p>
</span></td><td>Immutable</td></tr>
<tr><td><a name="parse_interval"></a><code>parse_interval(string: <a href="string.html">string</a>, style: <a href="string.html">string</a>) &rarr; <a href="interval.html">interval</a></code></td><td><span class="funcdesc"><p>Convert a string to an interval using the given IntervalStyle.</p>
</span></td><td>Immutable</td></tr>
<tr><td><a name="parse_interval"></a><code>parse_interval(val: <a href="string.html">string</a>) &rarr; <a href="interval.html">interval</a></code></td><td><span class="funcdesc"><p>Convert a string to an interval assuming the Postgres IntervalStyle.</p>
Expand Down
8 changes: 4 additions & 4 deletions pkg/bench/foreachdb.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,18 @@ func benchmarkTenantCockroach(b *testing.B, f BenchmarkFn) {
ctx := context.Background()
s, db, _ := serverutils.StartServer(
b, base.TestServerArgs{
UseDatabase: "bench",
DisableDefaultTestTenant: true,
})
defer s.Stopper().Stop(ctx)

// Create our own test tenant with a known name.
_, err := db.Exec("SELECT crdb_internal.create_tenant(10, 'bench_tenant')")
tenantName := "benchtenant"
_, err := db.Exec("SELECT crdb_internal.create_tenant(10, $1)", tenantName)
require.NoError(b, err)

// Get a SQL connection to the test tenant.
sqlAddr := s.(*server.TestServer).TestingGetSQLAddrForTenant(ctx, "bench_tenant")
tenantDB := serverutils.OpenDBConn(b, sqlAddr, "defaultdb", false, s.Stopper())
sqlAddr := s.(*server.TestServer).TestingGetSQLAddrForTenant(ctx, tenantName)
tenantDB := serverutils.OpenDBConn(b, sqlAddr, "bench", false, s.Stopper())

// The benchmarks sometime hit the default span limit, so we increase it.
// NOTE(andrei): Benchmarks drop the tables they're creating, so I'm not sure
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/roachtest/registry/owners.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ type Owner string

// The allowable values of Owner.
const (
OwnerSQLExperience Owner = `sql-experience`
OwnerSQLExperience Owner = `sql-sessions`
OwnerDisasterRecovery Owner = `disaster-recovery`
OwnerCDC Owner = `cdc`
OwnerKV Owner = `kv`
Expand Down
22 changes: 22 additions & 0 deletions pkg/sql/logictest/testdata/logic_test/builtin_function
Original file line number Diff line number Diff line change
Expand Up @@ -3718,3 +3718,25 @@ query T
SELECT crdb_internal.anonymize_sql_constants(create_statement) from crdb_internal.create_statements where descriptor_name = 'foo'
----
CREATE TABLE public.foo (a INT8 NULL, rowid INT8 NOT NULL NOT VISIBLE DEFAULT unique_rowid(), CONSTRAINT foo_pkey PRIMARY KEY (rowid ASC))

# More tests are in parse_ident_builtin_test.go.
query T
SELECT parse_ident(str) FROM ( VALUES
('a.b.c'),
('"YesCaps".NoCaps'),
('"a""b".xyz'),
('"a\b".xyz')
) tbl(str)
----
{a,b,c}
{YesCaps,nocaps}
{"a\"b",xyz}
{"a\\b",xyz}

query T
SELECT parse_ident('ab.xyz()', false)
----
{ab,xyz}

query error string is not a valid identifier: \"ab.xyz\(\)\"
SELECT parse_ident('ab.xyz()', true)
4 changes: 2 additions & 2 deletions pkg/sql/parser/sql.y
Original file line number Diff line number Diff line change
Expand Up @@ -15122,7 +15122,7 @@ interval_value:
$$.val = &tree.CastExpr{
Expr: tree.NewStrVal($2),
Type: t,
// TODO(#sql-experience): This should be CastPrepend, but
// TODO(#sql-sessions): This should be CastPrepend, but
// that does not work with parenthesized expressions
// (using FmtAlwaysGroupExprs).
SyntaxMode: tree.CastShort,
Expand All @@ -15140,7 +15140,7 @@ interval_value:
Type: types.MakeInterval(
types.IntervalTypeMetadata{Precision: prec, PrecisionIsSet: true},
),
// TODO(#sql-experience): This should be CastPrepend, but
// TODO(#sql-sessions): This should be CastPrepend, but
// that does not work with parenthesized expressions
// (using FmtAlwaysGroupExprs).
SyntaxMode: tree.CastShort,
Expand Down
2 changes: 2 additions & 0 deletions pkg/sql/sem/builtins/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ go_library(
"math_builtins.go",
"notice.go",
"overlaps_builtins.go",
"parse_ident_builtin.go",
"pg_builtins.go",
"pgcrypto_builtins.go",
"replication_builtins.go",
Expand Down Expand Up @@ -152,6 +153,7 @@ go_test(
"helpers_test.go",
"main_test.go",
"math_builtins_test.go",
"parse_ident_builtin_test.go",
"show_create_all_tables_builtin_test.go",
"window_frame_builtins_test.go",
],
Expand Down
52 changes: 52 additions & 0 deletions pkg/sql/sem/builtins/builtins.go
Original file line number Diff line number Diff line change
Expand Up @@ -3170,6 +3170,58 @@ value if you rely on the HLC for accuracy.`,
},
),

"parse_ident": makeBuiltin(
defProps(),
tree.Overload{
Types: tree.ParamTypes{{Name: "qualified_identifier", Typ: types.String}},
ReturnType: tree.FixedReturnType(types.StringArray),
Fn: func(ctx context.Context, evalCtx *eval.Context, args tree.Datums) (tree.Datum, error) {
s := tree.MustBeDString(args[0])
idents, err := parseIdent(string(s), true /* strict */)
if err != nil {
return nil, pgerror.WithCandidateCode(err, pgcode.InvalidParameterValue)
}
arr := tree.NewDArray(types.String)
for _, ident := range idents {
if err := arr.Append(tree.NewDString(ident)); err != nil {
return nil, err
}
}
return arr, nil
},
Info: "Splits qualified_identifier into an array of identifiers, " +
"removing any quoting of individual identifiers. " +
"Extra characters after the last identifier are considered an error",
Volatility: volatility.Immutable,
},
tree.Overload{
Types: tree.ParamTypes{
{Name: "qualified_identifier", Typ: types.String},
{Name: "strict", Typ: types.Bool},
},
ReturnType: tree.FixedReturnType(types.StringArray),
Fn: func(ctx context.Context, evalCtx *eval.Context, args tree.Datums) (tree.Datum, error) {
s := tree.MustBeDString(args[0])
strict := tree.MustBeDBool(args[1])
idents, err := parseIdent(string(s), bool(strict))
if err != nil {
return nil, pgerror.WithCandidateCode(err, pgcode.InvalidParameterValue)
}
arr := tree.NewDArray(types.String)
for _, ident := range idents {
if err := arr.Append(tree.NewDString(ident)); err != nil {
return nil, err
}
}
return arr, nil
},
Info: "Splits `qualified_identifier` into an array of identifiers, " +
"removing any quoting of individual identifiers. " +
"If `strict` is false, then extra characters after the last identifier are ignored.",
Volatility: volatility.Immutable,
},
),

// parse_timestamp converts strings to timestamps. It is useful in expressions
// where casts (which are not immutable) cannot be used, like computed column
// expressions or partial index predicates. Only absolute timestamps that do
Expand Down
2 changes: 2 additions & 0 deletions pkg/sql/sem/builtins/fixed_oids.go
Original file line number Diff line number Diff line change
Expand Up @@ -1145,6 +1145,8 @@ var builtinOidsBySignature = map[string]oid.Oid{
`overlay(input: string, overlay_val: string, start_pos: int, end_pos: int) -> string`: 928,
`parse_date(val: string) -> date`: 1066,
`parse_date(string: string, datestyle: string) -> date`: 1067,
`parse_ident(qualified_identifier: string) -> string[]`: 2058,
`parse_ident(qualified_identifier: string, strict: bool) -> string[]`: 2059,
`parse_interval(val: string) -> interval`: 1070,
`parse_interval(string: string, style: string) -> interval`: 1071,
`parse_time(val: string) -> time`: 1068,
Expand Down
Loading

0 comments on commit dbea195

Please sign in to comment.