news 2026/4/3 6:21:21

修改德哥的PostgreSQL求解数独SQL在cedardb上运行

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
修改德哥的PostgreSQL求解数独SQL在cedardb上运行

cedardb与PostgreSQL语法兼容,但是直接运行结果是NULL,求解失败。将中间子查询的结果打印出来看出了原因。
同样的输入数据,输出的位掩码不同,比如初始化列和宫编码,数组中的元素值相同,顺序不同。

cedardb 输出

id board cols boxes 1 000000010400000000020000000000050407008000300001090000300400200050100000000806000 {12,64,32,18,1,14,137,272,129} {20,1,2,10,0,129,169,272,76}

PostgreSQL输出

1 | 000000010400000000020000000000050407008000300001090000300400200050100000000806000 | {12,18,129,137,272,32,14,1,64} | {10,0,1,129,272,76,20,169,2}

将相应的聚合函数array_agg(m)改为明确的排序array_agg(m ORDER BY c), 在cedardb 输出了与PostgreSQL相同的结果。

id board cols boxes 1 000000010400000000020000000000050407008000300001090000300400200050100000000806000 {12,18,129,137,272,32,14,1,64} {10,0,1,129,272,76,20,169,2}

再运行完整SQL,cedardb 求解出了示例数据的结果,时间约是PostgreSQL的十分之一。
PostgreSQL输出

id | puzzle | result ----+-----------+----------- 3 | 8????????+| 812753649+ | ??36?????+| 943682175+ | ?7??9?2??+| 675491283+ | ?5???7???+| 154237896+ | ????457??+| 369845721+ | ???1???3?+| 287169534+ | ??1????68+| 521974368+ | ??85???1?+| 438526917+ | ?9????4?? | 796318452 (1 row) Time: 1211.606 ms (00:01.212)

cedardb 输出

id puzzle result 3 8???????? ??36????? ?7??9?2?? ?5???7??? ????457?? ???1???3? ??1????68 ??85???1? ?9????4?? 812753649 943682175 675491283 154237896 369845721 287169534 521974368 438526917 796318452 2026-01-24 05:37:18.850220019 UTC INFO: [s] execution: (0.116115 min, 0.116115 max, 0.116115 median, 0.0% relMAD, 0.116115 avg, 0.000000 sdev, 4 scale, nan IPC, nan CPUs, nan GHz) compilation: (0.006032 min, 0.006032 max, 0.006032 median, 0.0% relMAD, 0.006032 avg, 0.000000 sdev)

但是如果是多个行,cedardb就报错了,看来是在生成执行计划阶段报错,原因还需要进一步研究。

2026-01-24 11:54:10.854135438 UTC FATAL: Assertion `(x != y) && (lca(x, y) == x)` failed. /cedardb/plan/algebra/operators/Operator.cpp:280: static cedar::algebra::Operator* cedar::algebra::Operator::LinkCutNode::findContainingChild(cedar::algebra::Operator*, cedar::algebra::Operator*) CedarDB v2026-01-22 current-amd64 cedardb 0x31aff8b
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 18:02:47

Paraformer-large支持视频文件吗?mp4转音频自动提取教程

Paraformer-large支持视频文件吗?mp4转音频自动提取教程 1. 先说结论:Paraformer-large本身不直接处理视频,但搭配简单预处理就能完美支持MP4 很多人第一次看到Paraformer-large语音识别镜像时,会下意识点开一个MP4文件准备上传…

作者头像 李华
网站建设 2026/4/2 22:28:30

语音克隆踩坑记:这些细节CosyVoice2-0.5B用户要注意

语音克隆踩坑记:这些细节CosyVoice2-0.5B用户要注意 你是不是也这样——刚兴冲冲部署好CosyVoice2-0.5B,上传一段3秒录音,输入“今天天气真不错”,点击生成,结果听出来的不是“四川话”,而是像被掐住脖子的…

作者头像 李华
网站建设 2026/3/16 17:04:40

MIPS/RISC-V ALU设计中的标志位生成机制图解说明

以下是对您提供的博文《MIPS/RISC-V ALU设计中的标志位生成机制图解说明》的 深度润色与专业重构版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹 :语言自然、有“人味”,像一位深耕处理器微架构多年的工程师在技术博客中娓娓道来; ✅ 摒弃模板化结构 :删…

作者头像 李华
网站建设 2026/3/25 8:41:37

【Django毕设全套源码+文档】基于python的协同过滤商品推荐系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/3/29 12:47:49

工业触摸屏:电阻式触摸屏控制器维修、测试、更换指南

工业触摸屏:电阻式触摸屏控制器维修、测试、更换指南 工业电阻式触摸屏控制器(常见品牌如Elo AccuTouch、AMT PenMount、Microchip AR系列)在工厂HMI、医疗设备、POS机等场景广泛应用,尤其5线式耐用性强。维修需专业工具和经验&a…

作者头像 李华
网站建设 2026/3/24 14:24:31

麦橘超然一键部署脚本推荐:自动化环境安装实操手册

麦橘超然一键部署脚本推荐:自动化环境安装实操手册 1. 什么是麦橘超然?—— Flux离线图像生成控制台的实用价值 你是不是也遇到过这样的问题:想在自己的显卡上跑一跑最新的Flux.1模型,却发现动辄24GB显存起步,手头那…

作者头像 李华