# name: test/issues/general/test_2554.test_slow # description: Issue 2554: a recursive CTE SQL works in Sqlite reports a within error in duckdb # group: [general] statement ok PRAGMA enable_verification query I WITH RECURSIVE input(sud) AS ( VALUES('53..7....6..195....98....6.8...6...34..8.3..17...2...6.6....28....419..5....8..79') ), digits(z, lp) AS ( VALUES('1', 1) UNION ALL SELECT CAST(lp+1 AS TEXT), lp+1 FROM digits WHERE lp<9 ), x(s, ind) AS ( SELECT sud, instr(sud, '.') FROM input UNION ALL SELECT substr(s, 1, ind::int-1) || z || substr(s, ind::int+1), instr( substr(s, 1, ind::int-1) || z || substr(s, ind::int+1), '.' ) FROM x, digits AS z WHERE ind::int>0 AND NOT EXISTS ( SELECT 1 FROM digits AS lp WHERE z.z = substr(s, ((ind::int-1)//9)*9 + lp, 1) OR z.z = substr(s, ((ind::int-1)%9) + (lp-1)*9 + 1, 1) OR z.z = substr(s, (((ind::int-1)//3) % 3) * 3 + ((ind::int-1)//27) * 27 + lp + ((lp-1) // 3) * 6, 1) ) ) SELECT s FROM x WHERE ind::int=0; ---- 534678912672195348198342567859761423426853791713924856961537284287419635345286179