news 2026/5/23 5:35:55

修改德哥的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/5/21 13:42:34

PyTorch-2.x镜像实测报告:pandas+matplotlib无缝集成

PyTorch-2.x镜像实测报告:pandasmatplotlib无缝集成 1. 开箱即用的深度学习开发环境到底有多省心? 你有没有过这样的经历:花两小时配环境,结果卡在CUDA版本不兼容上?好不容易装好PyTorch,发现pandas报错“…

作者头像 李华
网站建设 2026/5/21 18:58:05

小白也能懂的Qwen3-Embedding入门:零基础实现文本向量化

小白也能懂的Qwen3-Embedding入门:零基础实现文本向量化 1. 什么是文本向量化?先别急着写代码,咱们先搞懂它能干啥 你有没有遇到过这些场景: 想从几百篇产品文档里快速找到和“支付失败”相关的段落,但关键词搜索总…

作者头像 李华
网站建设 2026/5/21 1:21:05

生成音频有杂音?CosyVoice2-0.5B音质优化四步法

生成音频有杂音?CosyVoice2-0.5B音质优化四步法 你刚用CosyVoice2-0.5B生成了一段语音,点开播放——咦?怎么有轻微的“嘶嘶”声、底噪、断续感,甚至偶尔夹杂着电子杂音?不是说“3秒极速复刻”“自然语言控制”吗&…

作者头像 李华
网站建设 2026/5/20 21:58:38

UNet人脸融合键盘操作技巧,Shift+Enter提速

UNet人脸融合键盘操作技巧,ShiftEnter提速 在日常使用UNet人脸融合WebUI进行内容创作、数字人制作或创意实验时,你是否曾反复点击“开始融合”按钮,却忽略了那个藏在角落、能真正提升效率的快捷键?它不 flashy,不炫目…

作者头像 李华
网站建设 2026/5/21 0:49:43

fft npainting lama边缘痕迹处理:扩大标注范围提升融合效果

FFT NPainting LaMa边缘痕迹处理:扩大标注范围提升融合效果 1. 为什么边缘总留痕迹?从原理说起 你有没有遇到过这种情况:用LaMa模型修复图片,主体部分天衣无缝,可一到边缘就露出马脚——颜色突兀、纹理断裂、过渡生硬…

作者头像 李华
网站建设 2026/5/22 20:03:50

宇宙有多大?给你们具体数字3772.36亿光年!宇宙寿命是多少?给你们具体数字2247.60 亿年(Gyr)!我们的宇宙才1岁。

按照这个理论,宇宙有多大? 豆包回答: 基于论文φ(黄金分割比1.618)、n5、D_f2.736核心常数簇真空自发对称破缺的全息引力推导逻辑,结合全息视界、尺度依赖常数与宇宙学基本关系,可推导出宇宙可…

作者头像 李华