自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 资源 (14)
  • 收藏
  • 关注

原创 DeepSeek辅助编写的将DuckDB查询结果写多种格式文件的通用类

本文介绍了一个通用数据导出框架的开发过程,用于将DuckDB数据库查询结果导出为多种格式(XLS/DOCX等)。作者基于CSV导出实现进行了抽象,设计了可扩展的模板架构,通过添加特定格式的处理代码即可支持新格式。在实现DOCX导出功能时,遇到两个关键问题:(1) duckx库只能修改现有文件而不能创建新文件;(2) C++移动语义导致的文件路径失效问题。经过调试后成功实现功能,并总结了重要经验:使用CSV进行概念验证的重要性,以及正确处理C++移动语义的注意事项。最终方案允许通过文件后缀自动选择相应的导出工

2025-06-11 13:57:20 296

原创 DeepSeek辅助实现的DuckDB copy to自定义函数

摘要: 开发DuckDB自定义导出函数mycsv时,发现需注意两个关键点:1) InitializeGlobal仅处理表头,数据写入需通过InitializeLocal实现;2) 数据读取必须从DataChunk参数而非LocalFunctionData获取,否则字段值会为空。本程序通过插入myduck前缀区分系统CSV文件。

2025-06-09 22:05:47 300

原创 让DeepSeek参照libxls的xls2csv例子实现的DuckDB read_xls表函数

本文实现了DuckDB读取传统xls格式文件的表函数read_xls。通过整合libxls库的xls解析功能和DuckDB的增强CSV读取能力,该函数支持指定sheet编号或名称读取Excel文件。实现要点:1) 使用iconv进行字符编码转换;2) 通过xlsWorkSheet结构解析表格数据;3) 提供sheet参数选择功能;4) 自动推断列名和数据类型。测试表明该实现能正确处理中文字符。代码结构清晰,包含绑定、初始化和数据处理三个核心模块,为DuckDB扩展了传统Excel文件读取能力。

2025-06-08 13:50:35 353

原创 改写一行提速group by cube查询五倍

多组数据库测试表明,直接使用GROUP BY CUBE语句的效率往往低于等价改写方法。通过创建1亿行测试表,对比四种实现方式发现:直接使用GROUP BY CUBE耗时8秒;拆分为UNION ALL语句耗时3秒;先GROUP BY全部列再UNION ALL耗时1.3秒;而优化后的方法——先GROUP BY全部列再使用CUBE,仅需1.5秒且保留分组标识,实现了5倍性能提升。该方法在GlareDB中也获得验证,具有普适性。对于ROLLUP操作,由于组合较少,优化效果相对不明显。

2025-06-08 08:02:30 313

原创 一个DeepSeek辅助编写的将group by cube查询语句转为等价CTE的程序

该程序实现了将SQL中的GROUP BY CUBE查询转换为等价的UNION ALL多组CTE查询。主要功能包括:预处理输入SQL、提取CUBE列清单、生成所有可能的组合(2^n-1种)、处理列别名解析,最终将原始查询重写为包含多个CTE查询的UNION ALL语句。程序采用正则表达式匹配GROUP BY CUBE模式,并支持复杂的列表达式解析,确保了查询转换的准确性和完整性。

2025-06-08 07:58:37 101

原创 三种读写传统xls格式文件开源库libxls、xlslib、BasicExcel的比较

本文介绍三种读写传统xls格式文件开源库libxls、xlslib、BasicExcel的安装、使用方法,并比较其功能与性能,提供了测试源代码和编译命令行

2025-06-06 19:36:28 1551

原创 在aarch64平台编译写入传统xls格式文件开源库xlslib的步骤

摘要:在aarch64平台编译旧版xlslib库时遇到系统类型识别问题,通过替换新的config.guess和config.sub文件解决configure错误。虽然make时出现链接错误,但成功生成所需的libxls.so动态库文件。测试程序testCPP能正常运行并生成xls文件,将该so库用于新编写的C++14程序也成功完成xls文件输出。值得注意的是,该库虽用g++5.4编译,但与g++14编译的程序兼容。

2025-06-06 10:57:37 222

原创 在aarch64平台编译依赖pqxx库和iconv库的c++程序的办法

本文介绍了一个从下载软件包中提取lib和include目录用于c++程序编译的方法,适用于在线安装和和从源代码编译失败的情况

2025-06-04 12:28:38 337

原创 使用DeepSeek编写DuckDB支持中文字符集编码的read_csv表函数

本文介绍了一个解决DuckDB不支持指定CSV文件字符集问题的方案。通过实现read_csv_e表函数,支持读取GBK、GB2312、GB18030和BIG5编码的CSV文件,并将其转换为UTF-8存储。该方案使用iconv库进行字符编码转换,包含文件读取、编码转换和数据绑定等功能,避免了用户使用命令行工具预处理文件的不便。源码提供了完整的C++实现,包括头文件和源文件,展示了如何通过DuckDB的TableFunction接口扩展功能。

2025-06-02 11:57:01 321

原创 Debian上安装PostgreSQL的故障和排除

摘要:用户在使用apt install postgresql安装PostgreSQL 15时遇到404错误,尝试--fix-missing仍无效。自行下载相近版本安装包(15.13)后,又出现依赖版本不匹配(libpq5需要15.13而系统为15.12)。解决依赖后启动服务时发现缺少配置文件,手动创建postgresql.conf和pg_hba.conf文件(配置本地连接为trust模式)后成功启动。通过psql和DuckDB测试连接正常。问题根源可能是未执行apt-get update更新软件源信息。

2025-06-01 19:01:52 449

原创 利用DeepSeek编写能在DuckDB中读PostgreSQL表的表函数

本文介绍了如何利用DeepSeek编写DuckDB表函数read_pg(),实现从PostgreSQL中读取数据。该表函数接受PostgreSQL连接字符串和表名作为参数,通过pqxx库查询表结构并映射数据类型,最终在DuckDB中返回对应表的数据。文章重点解决了函数重复调用的问题,并分享了表函数注册的技巧。通过这个表函数,用户可以在单个SQL查询中关联PostgreSQL的多个表。

2025-06-01 18:56:32 483

原创 DeepSeek修改4行在duckdb自定义客户端中显示格式化表格结果

摘要: 本文纠正了先前关于DuckDB动态库缺乏格式化输出的错误观点,详细介绍了通过query_result.hpp中的ToBox函数实现表格化输出的方法。内容包括:1) 必要头文件引入;2) 查询执行代码改造步骤;3) BoxRendererConfig配置选项说明;4) 完整集成示例。文章同时指出:当前版本(≥0.6.0)的边框配置参数已变更,且实际输出包含数据类型行,通过字符串处理可调整格式。另提及脚本读取换行符问题的解决方案。最终输出效果接近DuckDB CLI的表格样式(示例展示)。

2025-05-31 07:19:00 326

原创 deepseek辅助编写的支持gmp高精度运算duckdb客户端

文章摘要:为解决DuckDB Decimal类型精度不足问题,通过自定义标量函数(UDF)和聚合函数(UDAF)调用GMP库实现高精度运算。开发过程中遇到函数实现、字符串转换等挑战,借助DeepSeek生成代码并解决编译错误。最终整合了支持加减乘除、开方等运算的交互式SQL工具,包含计时、脚本执行等功能。项目展示了AI对特定数据库系统的深入理解及DuckDB强大的扩展能力,但插件签名机制仍需进一步研究。相关代码已开源。

2025-05-28 21:17:09 713

原创 《Expert PL SQL Practices》阅读体会-2

1 软件工程第4章说到,Java社区有单元测试,而PL/SQL开发人员还不一定采用,有几种工具都支持,比如utplsql,quest,sql developer在大规模应用程序的开发中,按软件工程方式开发是必须的2 提高性能几种方法第6章 批量处理第3章 并行

2011-12-30 16:23:31 4896

原创 《Expert PL SQL Practices》阅读体会-1

第一章虽然是讲PL/SQL的书,但是首先分析哪些情况不适合用PL/SQL,并建议首选用SQL连接代替嵌套循环。还可以用关联数组实现查表。在使用PL/SQL的过程中,要注意:1 少用dual(序列、日期都可以直接在PL/SQL用,DML returning可以返回刚用过的值)2 少用函数3 少用远程数据库链接4 少提交5 少触发器6 少解析(少在循环中用动态SQL)

2011-12-21 21:01:28 5709

原创 一本书的产生--剑破冰山:Oracle开发艺术项目提纲(草稿)

从项目的视角看一本书的产生过程

2010-11-18 16:08:00 7486

原创 我参与编写的书《剑破冰山-oracle开发艺术》印出来了

剑破冰山 oracle开发艺术 数据库

2010-11-16 20:03:00 6399

原创 Oracle 11.2命令行手工最简创建数据库的过程

Oracle 11.2命令行手工最简创建数据库的过程命令行手工最简创建数据库的过程环境:RHEL 5.4 x86 , oracle 11.21.设定环境变量在/home/oracle编辑# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then        . ~/.bashrcfi# User specif

2009-09-13 21:16:00 5492

原创 在HP-UX 11.11用swinstall安装gcc 4.2.3

1.下载软件包(我从http://hpux.connect.org.uk/下载,更新版本的可以在http://hpacxx.external.hp.com/gcc/下载)gcc-4.2.3-hppa-11.11.depot.gzgettext-0.17-hppa-11.11.depot.gzlibgcc-4.2.3-hppa-11.11.depot.gz (gcc-4.2.3的页面

2009-05-23 15:10:00 14351

原创 利用Oracle内置分析函数进行高效统计汇总

利用Oracle内置分析函数进行高效统计汇总分析函数是Oracle从8.1.6开始引入的一个新的概念,为我们分析数据提供了一种简单高效的处理方式。在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的SQL语句就可以实现了,而且在执行效率方面也有相当大的提高。下面我将针对分析函数做一些具体的说明。分析函数的一般格式是函数名(参数列表)

2008-12-22 08:56:00 12342

原创 SQL对取值范围进行分组汇总的几种办法

 SQL对取值范围进行分组汇总的几种办法在统计工作中,我们经常遇到对一个数量的取值范围进行分组汇总的情况,比如假定id取值为1~20000,按照组距5000进行分组,我们要分别求出5000以下包括5000,5000以上10000以下包括10000,10000以上15000以下包括15000,15000以上20000以下包括20000。的计数,可以用内置取整函数ceil和除法运算得到。selec

2008-09-05 09:17:00 21167

原创 一种SQL计算行间四则运算的办法

一种SQL计算行间四则运算的办法数据库的SQL语言只能计算行间的和,为了进行加减乘除四则运算,我们必须找到把其他运算转化为加法的办法。减法转化为加法的办法比较简单,只要先取要减的数的相反数,然后相加就可以了。乘法转化为加法我们要利用数学知识,假定a的常用对数是m,10的m次幂就等于a,用公式表示为:10^(lg(a))=a。两个数ab的积的常用对数等于ab各自常用对数的和,用公式表示为:l

2008-09-05 09:15:00 16695 1

原创 利用Oracle 10g的 MODEL SQL进行行间计算(2)

 规则也可以是多个维度不同取值,本例假定不同年份之间比较,比如要求2008年的10=2007年的30+31SELECT year,code,    p_id, v1FROM t603_2WHERE code IN (600001,600002)   MODEL RETURN UPDATED ROWS     PARTITION BY (code)      DIMENSIO

2008-08-25 13:30:00 5141

原创 利用Oracle 10g的 MODEL SQL进行行间计算

利用Oracle 10g的 MODEL SQL进行行间计算以产品产量表为例,一个工厂(用code表示)生产多种产品(用p_id表示),每种产品具有生产量(v1)和销售量(v2)产品代码具有审核关系,比如10=30+31,其中10代表大类,30和31代表10大类下的小类。SQL> create table t603 (code varchar(10),p_id var

2008-08-22 15:07:00 4781

转载 HTML语言如何一次实现表格整列的对齐方式

HTML元素 - colGroup定义说明表格中一列或一组列的缺省属性。Specifies property defaults for a column or group of columns in a table.注释嵌套的 COL 属性将覆盖 COLGROUP 属性。使用 SPAN 属性可以指定 COLGROUP 定义的表格列数。该属性的缺省值为 1。COL 元素可以出现在 C

2008-08-21 15:22:00 12267

原创 我近4年的计算机学习经历

我近4年的计算机学习经历上次说到单位刚好有一个大的项目,这个大项目使我第一次进入了软件项目管理的领域,项目团队由3家公司的技术人员组成,另外聘用了一名第三方项目经理负责管理。3家公司的人被打散分到各个小组,有负责架构设计的,有负责前端界面的,有负责后台服务器的,还有文档和测试人员,其中不乏名校毕业的研究生。我们用户方则找了本部门系统的业务和技术专家。按说,这么“豪华”的阵容编写一个专用

2008-07-11 20:49:00 5685 1

原创 统计数据处理用数据库表的设计比较

统计数据处理用数据库的设计思考统计数据处理过程大致分为:数据录入、数据审核和修改、数据汇总三个主要步骤或阶段,一般还包括数据的导入和导出。我们在设计用于统计数据处理的数据库时需要考虑各个阶段的用户需求特点,并进行相应的设计。数据录入阶段:这一阶段的特点是大量数据的录入,每次插入的数据量不一定很大,但有大量的提交。数据审核和修改:这一阶段的特点是批量数据的处理,产生审核错误清单,

2008-06-20 16:22:00 8892

原创 n^2+(n+1)^2 为完全平方数问题的解法与实现

  n^2+(n+1)^2 为完全平方数问题的解法与实现数学证明3         4         5 20         21         29 119         120         169 696         697         985 4059         4060         5741 23660         23661         33

2008-05-06 11:03:00 6476

原创 一个采用了MFC文档序列化的C++文件管理类

/*-----------------------------------------* Copyright (c) 2002,计算中心* All rights reserved.* * 文件名称:Formulas.h* 文件标识:见配置管理计划书* 摘    要:公式集合类和公式类的声明* * 当前版本:0.11* 作    者:* 完成日期:2002年6月29日** 取代版本:0.1 * 原作

2008-02-15 11:12:00 6771

转载 如何实现Windows 2003远程桌面Web 连接

如何实现Windows 2003远程桌面    

2008-02-14 10:57:00 14898

原创 用jython 访问Oracle数据库

     准备工作下载http://jaist.dl.sourceforge.net/sourceforge/zxjdbc/zxJDBC-2.1.tar.gzhttp://jaist.dl.sourceforge.net/sourceforge/jython/jython_installer-2.2.1.jar根据自己的jdk版本下载对应的ojdbc版本http://download.oracle

2007-11-16 14:35:00 6713

原创 用jython 访问mysql数据库

用jython 访问mysql数据库 准备工作下载http://jaist.dl.sourceforge.net/sourceforge/zxjdbc/zxJDBC-2.1.tar.gzhttp://jaist.dl.sourceforge.net/sourceforge/jython/jython_installer-2.2.1.jarhttp://mmmysql.sourceforge.net

2007-11-13 11:15:00 6869

原创 在HP-UX下编译使用7-zip

从p7zip.sf.net下载源代码包p7zip_4.51_src_all.tar.bz2用7-zip的Windows版本解压缩为 p7zip_4.51_src_all.tar将p7zip_4.51_src_all.tar文件ftp到HP-UX的/home/user1cd /home/user1mkdir 7zcd 7ztar xf ~/p7zip_4.51_src_all

2007-08-27 19:30:00 7125 1

转载 忘了Linux 的根口令,现在怎么登录?

你可以使用单用户 Linux 模式来登录,然后创建一个新的根口令。 要进入单用户模式,重新引导计算机。如果你使用的是默认的引导装载程序 GRUB,你可以执行下列步骤来进入单用户模式:  在引导装载程序菜单上,键入 [e] 来进入编辑模式。 你会面对一个引导项目列表。查找其中类似以下输出的那一行:

2007-07-12 11:22:00 2354

转载 24点C++源代码

#include    #include    #include     using  namespace  std;   const  double  PRECISION  =  1E-6;  const  int  COUNT_OF_NUMBER    =  4;  const  int  NUMBER_TO_BE_CAL  =  24;   double  number[COUNT_OF_N

2006-12-10 08:10:00 4556 1

转载 一切从游戏开始-完整的一个python to hack 实例

 Hello ,引自:ChinesePython Wiki   中蟒大杂院   http://www.chinesepython.org/cgi_bin/moingb.cgi/_d2_bb_c7_d0_b4_d3_d3_ce_cf_b7_bf_aa_ca_bc------------------------------------------------------------------

2006-12-10 08:03:00 11262 2

原创 用Python实现去掉文章中特定的段落

有一份试题,每个问题以QUESTION NO开始,然后是该题的答案,以Answer:开始。为了摘出一份只包含问题,不包含答案的试题,尝试用ultraedit的正则表达式替换,但不支持跨行替换。于是写了下面的Python程序。from sys import*fp=open(argv[1],r)fo=open(argv[2],w)a=fp.readline()sym=0while a!=:

2006-09-14 12:19:00 5177 1

原创 Python语言的数学函数

 5.7 math -- Mathematical functions This module is always available. It provides access to the mathematical functions defined by the C standard. These functions cannot be used with complex num

2006-07-30 08:01:00 11369

原创 IBM DB2 9北京时间9月28日下午正式发布

新的 DB2® 9.1,它提供了与先前版本非常不同的体系结构.自从出现以来,DB2 Universal Database™ for Linux®、UNIX® 和 Windows® 第一次提供了新的查询语言、新的存储技术、新的索引技术以及支持 XML 数据及其固有层次结构的其他特性.但是,所有的 DB2 传统数据库管理特性仍然存在,包括对 SQL 和表结构的支持.新的 XML 技术,使 DB2 成为

2006-07-30 01:01:00 2303

原创 Oracle利用传输表空间方法导出导入数据的步骤

2个数据库(ltdb和epras),从ltdb导出tsts表空间(用户ts,包含2个数据文件)到epras执行步骤1.ltdb导出可传输表空间(以sysdba执行导出)到dmp文件2.将ltdb的tsts表空间改为只读3.用操作系统命令复制数据文件和dmp文件到另一个位置给另一个数据库epras使用。如果在一台服务器上,dmp文件可以不必复制,复制完成后,将ltdb的tsts表空间改为可读写4

2006-07-12 16:43:00 3126

国际大学生程序设计竞赛例题解

国际大学生程序设计竞赛的例题解 郭嵩山等著

2009-10-21

实战Linux ORACLE 10g RAC

实战Linux ORACLE 10g RAC<br/>多机集群访问一个数据库

2007-04-21

从Windows转向Linux基础教程

本教程适用于:首次接触Linux的朋友,通过本教程的学习让你基本对Linux有个大概的了解及安装Linux的方法,Linux最基础的一些知识。<br/><br/>

2007-04-21

Microsoft Visual C++ Toolkit 2003 精简版

Microsoft Visual C++ Toolkit 2003提供了比VC++6对C++标准更好的支持,这是官方1.01版.用winrar解压

2009-10-21

《动手学深度学习》(Dive into Deep Learning)中文版

《动手学深度学习》 https://zh.d2l.ai/ 面向中文读者的能运行、可讨论的深度学习教科书

2019-05-22

ACM 2007 题目

ACM 2007 题目 国际大学生编程比赛

2009-10-21

ACM 2008 题目

ACM 国际大学生编程大赛2008 题目

2009-10-21

ACM 2006 题目

ACM 2006 题目 题目国际大学生编程比赛

2009-10-21

数据库系统实现第一版 完整英文版part1

数据库系统实现第一版 完整英文版part1,自行合并,包括有人遗失的第二章和索引

2010-07-19

ACM 2005 题目

ACM 2005 题目 国际大学生编程比赛

2009-10-21

Oracle 10gR2 DBA1 Student Guide vol 2 ver 3.1

Oracle 10g 官方培训教材 第二册

2009-12-02

Oracle 10gR2 DBA1 Student Guide vol 1 ver 3.1

Oracle 10g 官方培训教材 第一册

2009-12-02

数据库系统实现第一版 完整英文版part3

数据库系统实现第一版 完整英文版part3

2010-07-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除