linux mysql udf打包_Linux下MySQL 5.1编写UDF 并运行(Install)获取当前时间的毫秒数...

Mysql 无法获取当前时间的毫秒数自行定制UDF,以提供current_ms方法1. 编写 C 文件#ifdef STANDARD#include lt;stdio.hgt;#inc

Mysql 无法获取当前时间的毫秒数

自行定制UDF,以提供current_ms方法

1. 编写 C 文件

#ifdef STANDARD

#include

#include

#ifdef __WIN__

typedef unsigned __int64 ulonglong;

typedef unsigned __int64 longlong;

#else

typedef unsigned long long ulonglong;

typedef long long longlong;

#endif /*__WIN__*/

#else

#include

#include

#endif

#include

#include

#include

#include

#ifdef HAVE_DLOPEN

/* These must be right or mysqld will not find the symbol! */

extern "C" {

my_bool current_ms_init(UDF_INIT *initid, UDF_ARGS *args, char *message);

void current_ms_deinit(UDF_INIT *initid);

longlong current_ms(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);

}

my_bool current_ms_init(UDF_INIT *initid, UDF_ARGS *args, char *message) {

return 0;

}

void current_ms_deinit(UDF_INIT *initid) {

}

longlong current_ms(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) {

struct timeval tv;

gettimeofday(&tv, NULL);

longlong value = tv.tv_sec*1000 + (tv.tv_usec/1000);

return value;

}

#endif /* HAVE_DLOPEN */

2. 编写 Makefile 文件

#其中 mysql 的安装位置要根据您的机器自行修改 (可用 mysql_config --cfalgs    mysql_config --libs 来获取)

MYSQLCFLAGS = -I/opt/soft/mysql/include/mysql -DUNIV_LINUX -DUNIV_LINUX

MYSQLLIBS = -rdynamic -L/opt/soft/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm

libcurrent_ms.so : libcurrent_ms.o

ld -shared -o libcurrent_ms.so libcurrent_ms.o -fPIC

libcurrent_ms.o : libcurrent_ms.cc

gcc -Wall $(MYSQLCFLAGS) $(MYSQLLIBS) -c libcurrent_ms.cc -o libcurrent_ms.o -fPIC

clean:

rm libcurrent_ms.o libcurrent_ms.so

install:

cp libcurrent_ms.so /opt/soft/mysql/lib/mysql/plugin/

3. make clean

4. make

5. make install

6. 登录mysql

7. 创建UDF

create function current_ms returns integer soname 'libcurrent_ms.so';

8. 使用 current_ms 方法

select current_ms();

9. 销毁UDF

drop function current_ms;

logo.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Daily Scrum 2012/11/08

TeamSH-IT 今天经完成了之前在数据定义存在一些问题。sui老师经过小组之间的交流,完成了对数据定义的最终版。周末将进行初步的整合和测试。 详细的完成情况: 组员今天任务明天任务Hu Renjun 任务213 整合各个模块功能 完成完整的数据流过程 任务213 …

部分不能激活Win 7 的问题分析和解决方案

前言 总所周知,目前Win7的激活程序多如牛毛,但总有些朋友的机器就是激活不了,以至于要刷BIOS等高危操作。 本文通过对Win7激活程序的原理分析,介绍一种能够解决大部分OEM版系统激活Win7的方法,希望能够帮助需要的朋友…

MFC字体

GDI字体分3类:点阵字体(raster font)、笔画字体(stroke font)和Truetype字体。 默认点阵字体有7种: System (用于SYSTEM_FONT) 无衬线 西方 有衬线 gb2312…

decimal double java_Java BigDecimal和double BigDecimal类

BigDecimal类对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作。BigDecimal类的常用方法如表11-15所示。表11-15 BigDecimal类的常…

分享45套2011年和2012年的高质量免费网站模板

日期:2012-11-11 来源:GBin1.com 前端时间我们分享了12套超酷的后台管理员界面网站模板,相信看过的朋友肯定已收入囊中了,今天呢,我们继续推荐45套高质量的免费网站模版,相信如果需要自己搭建网站的朋友肯…

水晶报表中对某一栏位值进行处理_【节能学院】能耗管理系统在某超市嘉兴店二期工程的设计与应用...

摘要:随着社会生活水平的提高,经济的繁荣发展,人们对能源的需求逐渐增长,由此带来的能源危机日益严重。学校建筑如何实时的了解、分析和控制学校的能源消耗已成为需要解决的迫在眉睫的难题。传统的能源消耗智能以月/季度/年为周期…

python数据分析天气预报论文_用python+sklearn(机器学习)实现天气预报数据 模型和使用...

项目地址系列教程0.前言在上一篇教程里我们已经获取了所需要的全部数据,包括训练数据集和测试数据集,使用ProcessData()调用,所以接下来写模型的建立和预测1.建立模型没段代码在文章后面都会整合成一段,分段展示只是便于阅读a.准备…

偶然在网上看到的题目,jQuery功底如何一测便知晓!!!!!!

笔者最终实现的效果如下:    参考答案下载地址 通过手写html代码实现如图效果:以下题目全部使用jQuery来做 当点击“加载数据”按钮时根据提供的数据通过jQuery动态创建表格数据填充该表格。数据见data.txt文件。效果如图: 当点击“设置样…

ps作业素材和成品_没有用过PS的画框工具,你还敢说你是设计大佬?

大家好,过完春节大伙们都踏上了离乡的征程,再多不舍,看看自己的钱包,还是要出发!2019年已经悄然过去一个半月,你的学习计划开始了嘛?来吧继续学习PS-cc2019,今天继续给大家带来CC2019 ps 的基础…

第二次阅读作业

No Silver Bullet - Essence and Accidents of Software Engineering: 银弹能杀死狼人。如果我没记错的话,在漫画中柯南对黑暗组织而言就是一颗银弹。生活中是不是真的有银弹我还是不太确定。假如有,银弹就是 一点弱点也没有么?如…

Linux 每日一练习!!反单引号·(键盘上数字1左边)··

2019独角兽企业重金招聘Python工程师标准>>> ls -al locate ls # 说明locate ls执行出来的路径将会作为ls -al的参数 说明:在一串指令中,在之内的指令将会被先执行,而且执行出来的结果将作为外部的输入信息 转载于:https://my.osc…

docker-compose观察实时日志_大数据项目实战之在线教育(03实时需求) - 十一vs十一...

第1章Spark Streaming概念 Spark Streaming 是核心Spark API的扩展,可实现实时数据的可扩展,高吞吐量,容错处理。数据可以从许多来源(如Kafka,Flume,Kinesis,或TCP套接字)中获取,并可以使用高级函数进行处理,处理完后的…

Java动态加载类在功能模块开发中的作用

Java中我们一般会使用new关键字实例化对象然后调用该对象所属类提供的方法来实现相应的功能,比如我们现在有个主类叫Web类这个类中能实现各种方法,比如用户注册、发送邮件等功能,代码如下: 1 /*2 * web功能实现类3 */4 public c…

创业者们的19个Surprises

郑昀玩聚SR 20091115 『毫无疑问,短跑运动员在起跑时速度最快,而后就变慢下来, 获胜者是变慢得最少的那个人。大多数创业公司也是如此。』 ——Paul Graham January 2007 上面这句笺言的作者Paul Graham最近问了Y Combinator旗下创业项目的创…

自学电脑编程_程序人生:盲人程序员蔡勇斌——用耳朵打开盲人的程序世界 - 沐歌爱编程...

有句话说:没有你想不到,只有你做不到。今天想为大家介绍一位程序员界中的励志人物,他就是蔡勇斌。蔡勇斌幼年失明,靠着顽强的毅力和不服输的精神自学编程,成为了一名全栈工程师。他是阿里“多隆奖”首位盲人获得者&…

SQLite轻量级数据库,操作数据常用语句

2019独角兽企业重金招聘Python工程师标准>>> -----创建表---- ----------表格头英文换中文显示select name as 名字,age 年龄,class from student -----if not exists判断表存在否--字符串用char也行--- --如果用自增长,只能用包装类型integer,不能用int…

cuda编程_CUDA编程入门(四)并行归约算法

这一篇我们一起学习一下如何使用CUDA实现并行归约算法。首先我们要知道什么是并行归约。并行归约(Reduction)是一种很基础的并行算法,简单来说,我们有N个输入数据,使用一个符合结合律的二元操作符作用其上,…

csgo怎么控制电脑玩家_电脑怎么远程控制他人电脑,教您给电脑设置远程控制的方法...

有些时电脑出现了一些我们解决不了的问题时,这时我们一定第一时间想到就是让电脑高手帮忙看一下问题;但要对方在异地该办呢,那就通过电脑远程来解决了;那么问题又来了,电脑怎么远程控制他人电脑呢?小编下面…

div悬浮在固定位置_悬浮式超声波致动器概要及研究动向

作者:东京工业大学 中村 健太郎1. 序言以往的超声波马达是通过摩擦力驱动,固定片压电振子与转子接触,通过振动摩擦转子从而获得旋转力和推动力。虽然具有高转矩、高控制性等特点,从原理上讲其速度无法超过振子振动速度。压电振子的…

基于Java的设计开题报告_基于Java的电子邮件的收发系统的设计与实现开题报告...

基于Java的电子邮件的收发系统的设计与实现开题报告 (8页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.90 积分开题报告 基于 Java 的电子邮件的收发系统的设计与实现 一、选题的背景、意义 1、 电…