duckdb

DarkAthena3 天前
数据库·sql·duckdb
【DuckDB】活用marco以兼容GaussDB的SQL执行【DuckDB】活用marco以兼容GaussDB的SQL执行前文有提到,有些复杂的分析型SQL在DuckDB上执行会比GaussDB上快,但实际应用场景中,GaussDB有些函数在DuckDB上并不支持,因此有时候会需要修改GaussDB的SQL,但如果一个某些函数用得非常多,入参还不一样,无法简单替换,那么修改原SQL就会具有一些工作量。 所以就会想到,我能不能在不修改DuckDB源码的情况下,给DuckDB添加这些函数支持呢? 答案是的确可以,DuckDB虽然不具备创建复杂的PLSQL函数的能力,但
l1t5 天前
数据库·sql·算法·duckdb·advent of code
使用DuckDB SQL求解Advent of Code 2024第9题 磁盘碎片整理原题地址 https://adventofcode.com/2024/day/9再次按下按钮后,你们来到了某个友好端足类动物熟悉的走廊里!好在你们每个人都莫名其妙地拥有了一艘个人迷你潜水艇。历史学家们喷着水流去寻找首领,主要是通过直接撞向墙壁的方式。
l1t10 天前
数据库·sql·算法·duckdb
利用DuckDB列表一句SQL输出乘法口诀表先热身,用生成式列表输出几行不同长度的序列,从默认的标题列可知,生成式列表后台实际调用了list_apply函数。
l1t10 天前
开发语言·数据库·python·sql·duckdb
调用python函数的不同方法效率对比测试方法1:用注册DuckDB自定义函数的方法, 我用的是1.3.2版的DuckDB, 在create_function时总是报错,
l1t16 天前
数据库·sql·clickhouse·duckdb
改写ITPUB newkid的求解数独DuckDB SQL为Clickhouse格式主要包括 1.将CTE表d改写成非递归形式,其实d单独执行是可以的,不知何故,一个SQL中有两个递归时,非要说它不是递归的 2.将整除符号//改为Floor(除法),//在Clickhouse中表示注释 3.改写左移位运算符<<为bitShiftLeft,并强制转换参数为Int128和Int。 4.有的子查询表没有别名,用set joined_subquery_requires_alias = 0;避免报错,加上别名更保险 5.按位与&符号改为bitAnd函数
l1t17 天前
数据库·人工智能·sql·oracle·duckdb
把ITPUB newkid先生编写的Oracle语法数独求解SQL改写成DuckDB原答案是用绑定变量的,为了改写成表的列,增加了ANY_VALUE函数。然后为了存下整个表格81格点的位置,用了hugeint。
l1t18 天前
开发语言·数据库·sql·duckdb
利用短整数类型和部分字符串优化DuckDB利用数组求解数独SQL与利用定长字符串版本相比,利用整数数组的速度略慢,这是因为数组是复杂数据结构,有开销,这个开销抵消了字符串转整数的开销。 因此,它还有几处细节可以优化。 1.存储二进制位状态的rows, cols, boxes数组都保存了大整数,而在每个递归步骤都要保存当前的状态,多用了几倍的空间,考虑每个二进制不超过512,可以用转成smallintl类型来优化。 实测计算只有17个已知数的最小数独,定长字符串版本用时3.048秒,大整数数组用时4.686 秒,短整数数组用时3.212秒。 2.每步用instr从字符串
l1t20 天前
开发语言·数据库·sql·sqlite·duckdb
利用DeepSeek优化SQLite求解数独SQL用于DuckDBSQLite文档中提供了一个求解数独SQL,我把它用于一个高难度的数独题: '.....1..7....6..2.8..9..3...954....3..3...4..4......8......7..6.1..2....5..3..9..', 结果用时10秒,同样的语句,只把除法符号/替换成整除符号//,在DuckDB中运行反而更慢,要13秒,单线程和多线程的结果都是差不多时间。
l1t21 天前
单元测试·sqlite·duckdb
编译SQLite 3.51源码并体验新功能11月4日,SQLite 3.51发布了,第一时间下载体验,Linux上预编译的只有AMD64版本,而且依赖高版本C动态库,不方便使用,所以按编译说明,手工编译。
l1t22 天前
数据库·lua·c·duckdb·deepseek
利用DeepSeek采用hugeint转字符串函数完善luadbi-duckdb的decimal处理用如下函数替换原有同名函数,弥补了原函数不能处理非常大的HUGEINT值的缺陷。让DeepSeek利用已有hugeint转换的字符串,结合scale插入小数点,避免除法运算。
l1t23 天前
开发语言·单元测试·lua·c·csv·duckdb
luadbi和luasql两种lua duckdb驱动的性能对比利用自定义函数输出各种类型数据的luadbi驱动ducktpch.lua利用duckdb C API函数duckdb_value_varchar输出各种类型数据的字符串的luasql驱动ducktpch2.lua
l1t24 天前
c语言·数据库·单元测试·lua·duckdb
利用DeepSeek辅助修改luadbi-duckdb读取DuckDB decimal数据类型DuckDB的decimal数据类型在duckdb.h的定义如下,但实际上value的类型是变化的,通常的方法无法正确读取,参考https://github.com/duckdb/duckdb/issues/10986 回帖的方法
l1t1 个月前
c语言·数据库·单元测试·lua·duckdb
对luasql-duckdb PR的测试luasql官方还没有duckdb驱动,有人提了一个PR,DuckDB,但还没被合并,它是基于libduckdb 1.1.1版本的。
l1t1 个月前
c语言·数据库·人工智能·junit·lua·duckdb·deepseek
利用DeepSeek辅助改写luadbi-duckdb支持日期和时间戳数据类型1.克隆github上的luadbi存储库2.编译打包luadbi-duckdb rock包不成功,说缺少luadbi scm依赖,再编译打包luadbi-scm rock包并安装
l1t1 个月前
数据库·junit·lua·duckdb
用Lua访问DuckDB数据库首先从源代码安装Lua然后从源代码安装包管理工具luarocks安装luasocket包如果失败,可以先下载包,再找到文件名,再安装文件,如下所示
l1t1 个月前
数据库·sql·lua·duckdb·rusty_sheet
Duckdb rusty_sheet插件使用心得1.将rusty_sheet插件用于其他版本 rusty_sheet新版插件只能用于DuckDB 1.4.1版,如果需要用于其他版本,需要对插件中的版本号字符串替换。可以用这个python脚本替换1.4.1版本中的字符串。 步骤如下 (1)在duckdb 1.4.1版中查到插件安装位置 用select install_path from duckdb_extensions() where install_path like ‘%rusty_sheet%’;查询位置 (2)退出duckdb ,复制到别处 c
DarkAthena1 个月前
数据库·gaussdb·duckdb
【GaussDB】在duckdb中查询GaussDB的数据网上好像搜不到openGauss/GaussDB和duckdb配合使用的例子,我就自己来测了下。本文使用的数据库版本
l1t1 个月前
数据库·sql·算法·集合·duckdb
利用DuckDB SQL求解集合数学题已知集合I={1,2,3,4,5,6},A={(s,t)|s ∈I,t∈I},若B包含于A,且对任意的(a,b)∈B,(x,y)∈B,均有(a-x)(b-y)<=0,则集合B中元素个数的最大值是几?
l1t1 个月前
数据库·网络协议·http·xlsx·1024程序员节·duckdb
在DuckDB中使用http(s)代理httpfs插件支持代理,文档 https://duckdb.org/docs/stable/core_extensions/httpfs/https 介绍了两种方法
l1t1 个月前
数据库·rust·插件·xlsx·duckdb
测试DuckDB电子表格读取插件rusty_sheet 0.2版又在超第一时间拿到了张泽鹏先生的rusty_sheet插件0.2版,迫不及待装上测试,却发现DuckDB对插件版本卡得很严,1.4.0都用不了1.4.1版的插件。这难不倒我,一边下载新版本DuckDB,一边让deepseek编了个python程序,把插件中间的1.4.1都替换成了1.4.0,就可以在1.4.0中用了。 代码如下: