news 2026/4/18 8:03:33

duckdb数据库CROSS JOIN LATERAL 中使用 EXISTS子查询的一个bug

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
duckdb数据库CROSS JOIN LATERAL 中使用 EXISTS子查询的一个bug

以下代码片段改编自能够在PostgreSQL中正常执行的SQL。只把pi部分的/改写成了//。

WITHRECURSIVE d(d)ASMATERIALIZED(SELECTdfromgenerate_series(1,9)t(d)),pi(pos,r,c,bx)ASMATERIALIZED(SELECTpos,((pos-1)// 9) + 1 AS r,((pos-1)%9)+1ASc,((pos-1)// 9) // 3 * 3 + ((pos - 1) % 9) // 3 + 1 AS bxFROMgenerate_series(1,81)ASt(pos)),cp(id,pz,bs)AS(SELECTid,puzzle,regexp_split_to_array(regexp_replace(regexp_replace(puzzle,'[\r\n\s]','','g'),'\?','0','g'),'')::integer[]ASbsFROM(SELECT3ASid,E'800000000003600000070090200050007000000045700000100030001000068008500010090000400'ASpuzzle)sudoku9_9),s1(id,flag,bs,bse,i)ASMATERIALIZED(SELECTid,'0',bs,ARRAY[]::integer[][],0ASiFROMcpUNIONALLSELECTs1.id,n.flag,n.bs,n.bse,s1.i+1ASiFROMs1 s1CROSSJOINLATERAL(witheb(pos,r,c,bx,v)AS(SELECTpi.pos,pi.r,pi.c,pi.bx,1FROMpi),cd(pos,r,c,bx,d)AS(SELECTe.pos,e.r,e.c,e.bx,d.dFROMeb eCROSSJOINdWHEREe.v=0ANDNOTEXISTS(SELECT1FROMeb e2WHEREe2.r=e.rANDe2.v=d.d)ANDNOTEXISTS(SELECT1FROMeb e2WHEREe2.c=e.cANDe2.v=d.d)ANDNOTEXISTS(SELECT1FROMeb e2WHEREe2.bx=e.bxANDe2.v=d.d))/* , cd(pos, r, c, bx, d) AS ( SELECT e.pos, e.r, e.c, e.bx, d.d FROM eb e CROSS JOIN d LEFT JOIN eb e2 ON e2.r = e.r AND e2.v = d.d LEFT JOIN eb e3 ON e3.c = e.c AND e3.v = d.d LEFT JOIN eb e4 ON e4.bx = e.bx AND e4.v = d.d WHERE e.v = 0 AND e2.r IS NULL AND e3.r IS NULL AND e4.r IS NULL )*/SELECT'1'flag,bs,s1.bsefromeblimit1)nwheres1.i<3)select*froms1;

执行报错

Invalid Error: vector::_M_range_check: __n (which is 2) >= this->size() (which is 2)

即使只有一个NOT EXISTS 语句,也会报同样错误。
将cd子查询改成注释块中的写法则能执行成功。
如果cd和eb不在JOIN LATERAL中,而是单独的CTE子查询,也不报错。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:57:52

Windows系统完美使用苹果苹方字体:完整免费解决方案

Windows系统完美使用苹果苹方字体&#xff1a;完整免费解决方案 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 还在为Windows电脑无法显示苹果字体的优雅…

作者头像 李华
网站建设 2026/4/7 15:58:22

腾讯混元HY-MT1.5-1.8B:藏维蒙等民族语言翻译教程

腾讯混元HY-MT1.5-1.8B&#xff1a;藏维蒙等民族语言翻译教程 1. 引言&#xff1a;轻量级多语翻译模型的突破 随着全球化与本地化需求的不断增长&#xff0c;高质量、低延迟的神经机器翻译&#xff08;NMT&#xff09;已成为跨语言交流的核心基础设施。尤其在少数民族语言支持…

作者头像 李华
网站建设 2026/4/18 1:59:58

OpenCode社区生态:5万星项目的成功秘诀

OpenCode社区生态&#xff1a;5万星项目的成功秘诀 1. 引言 在AI编程助手快速发展的背景下&#xff0c;开发者对工具的灵活性、隐私保护和可扩展性提出了更高要求。OpenCode正是在这一趋势中脱颖而出的开源项目。作为一个2024年发布的AI编程框架&#xff0c;OpenCode以“终端…

作者头像 李华
网站建设 2026/4/17 23:57:35

AutoGen Studio避坑指南:vLLM部署Qwen3-4B常见问题解决

AutoGen Studio避坑指南&#xff1a;vLLM部署Qwen3-4B常见问题解决 1. 引言 1.1 业务场景描述 随着多智能体系统&#xff08;Multi-Agent System&#xff09;在复杂任务自动化中的广泛应用&#xff0c;AutoGen Studio作为微软推出的低代码AI智能体开发平台&#xff0c;正成为…

作者头像 李华
网站建设 2026/4/18 2:08:01

IndexTTS-2-LLM应用教程:公共场所语音播报系统

IndexTTS-2-LLM应用教程&#xff1a;公共场所语音播报系统 1. 章节概述 随着智能语音技术的快速发展&#xff0c;高质量、低延迟的文本转语音&#xff08;Text-to-Speech, TTS&#xff09;系统在公共服务、交通调度、医疗导引等场景中展现出巨大潜力。传统的TTS方案往往依赖GPU…

作者头像 李华
网站建设 2026/4/18 2:04:35

电子课本下载神器:3分钟搞定所有教材的终极指南

电子课本下载神器&#xff1a;3分钟搞定所有教材的终极指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 老铁们&#xff0c;还在为找电子课本发愁吗&#xff1…

作者头像 李华