From: | Quan Zongliang <zongliang(dot)quan(at)postgresdata(dot)com> |
---|---|
To: | "pgsql-zh-general(at)postgresql(dot)org" <pgsql-zh-general(at)postgresql(dot)org> |
Subject: | 随机字符串函数的C语言实现 |
Date: | 2017-09-05 08:28:18 |
Message-ID: | e4b2ab08-6847-e431-9ccb-d42ac805a3d7@postgresdata.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-zh-general |
各位下午好
邮件列表沉寂太久,激活一下大家的情绪。
分享一个C语言实现的随机字符串函数:
PG_FUNCTION_INFO_V1(random_string);
Datum
random_string(PG_FUNCTION_ARGS)
{
int32 length = PG_GETARG_INT32(0);
int32 i;
const char chars[] =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
char *result;
if (length < 0)
PG_RETURN_NULL();
if (length == 0)
PG_RETURN_TEXT_P(cstring_to_text(""));
result = palloc(length + 1);
if (result == NULL)
ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY),
errmsg("out of memory")));
for (i=0; i<length; i++)
{
result[i] = chars[random()%(sizeof(chars)-1)];
}
result[i] = '\0';
PG_RETURN_TEXT_P(cstring_to_text(result));
}
原文见:
https://my.oschina.net/quanzl/blog/1529438
欢迎关注我司公众号:postgresdata-news
--
权宗亮
神州飞象(北京)数据科技有限公司
我们的力量源自最先进的开源数据库PostgreSQL
zongliang(dot)quan(at)postgresdata(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Jaimin Pan | 2017-09-05 09:01:54 | Re: [pgsql-zh-general] 随机字符串函数的C语言实现 |
Previous Message | tao tony | 2017-05-09 01:37:12 | slow query on multiple table join |