You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> dolt sql -q "
with t as (
select
case
when p1.pred = p2.actual then 1
else 0
end as correct,
p1.actual
from predictions as of 'd1rl89u7q511n3tp5q6o5etomvg1mrli' p1
join predictions as of 'd1rl89u7q511n3tp5q6o5etomvg1mrli' p2
on p1.row_id = p2.row_id
)
select
sum(correct)/count(*),
count(*) as row_number
from t;
+-----------------------+------------+
| sum(correct)/count(*) | row_number |
+-----------------------+------------+
| 0.1022 | 10000 |
+-----------------------+------------+
Procedure failure:
> dolt sql -q "
CREATE PROCEDURE computeSummary(c VARCHAR(200))
BEGIN
with t as (
select
case
when p1.pred = p2.actual then 1
else 0
end as correct,
p1.actual
from predictions as of 'd1rl89u7q511n3tp5q6o5etomvg1mrli' p1
join predictions as of 'd1rl89u7q511n3tp5q6o5etomvg1mrli' p2
on p1.row_id = p2.row_id
)
select
sum(correct)/count(*),
count(*) as row_number
from t;
END;"
table not found: t
Main error:
table not found: t
Analyzer not resolving CTE table before procedure validation?
The text was updated successfully, but these errors were encountered:
zachmu
transferred this issue from dolthub/go-mysql-server
Oct 6, 2022
$ dolt sql -q "
CREATE PROCEDURE computeSummary(c VARCHAR(200))
BEGIN
with t as (
select
case
when p1.pred = p2.actual then 1
else 0
end as correct,
p1.actual
from predictions as of 'd1rl89u7q511n3tp5q6o5etomvg1mrli' p1
join predictions as of 'd1rl89u7q511n3tp5q6o5etomvg1mrli' p2
on p1.row_id = p2.row_id
)
select
sum(correct)/count(*),
count(*) as row_number
from t;
END;"
Error parsing SQL
syntax error at position 388 near 'row_number'
CREATE PROCEDURE computeSummary(c VARCHAR(200))
BEGIN
with t as (
select
case
when p1.pred = p2.actual then 1
else 0
end as correct,
p1.actual
from predictions as of 'd1rl89u7q511n3tp5q6o5etomvg1mrli' p1
join predictions as of 'd1rl89u7q511n3tp5q6o5etomvg1mrli' p2
on p1.row_id = p2.row_id
)
select
sum(correct)/count(*),
count(*) as row_number
from t
^
syntax error at position 388 near 'row_number'
$
timsehn
changed the title
CTE w/ stored procedures
Analyzer bug when using CTEs in stored procedures
Dec 1, 2022
The syntax error is caused by recent changes dealing with reserved keywords. This new behavior is expected since row_number is a reserved keyword. Wrapping the row_number in backquotes gets us back the original error.
Version:
Working query:
Procedure failure:
Main error:
Analyzer not resolving CTE table before procedure validation?
The text was updated successfully, but these errors were encountered: