本文整理汇总了C++中cstring_to_text函数的典型用法代码示例。如果您正苦于以下问题:C++ cstring_to_text函数的具体用法?C++ cstring_to_text怎么用?C++ cstring_to_text使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cstring_to_text函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: RestorePlanDXL
Datum
RestorePlanDXL(PG_FUNCTION_ARGS)
{
char *szXmlString = text_to_cstring(PG_GETARG_TEXT_P(0));
int iProcessed = executeXMLPlan(szXmlString);
StringInfoData str;
initStringInfo(&str);
appendStringInfo(&str, "processed %d rows", iProcessed);
text *ptResult = cstring_to_text(str.data);
PG_RETURN_TEXT_P(ptResult);
}
开发者ID:d,项目名称:gpdb,代码行数:15,代码来源:orca_debug.cpp
示例2: DumpQuery
Datum
DumpQuery(PG_FUNCTION_ARGS)
{
char *szSqlText = text_to_cstring(PG_GETARG_TEXT_P(0));
Query *pquery = parseSQL(szSqlText);
elog(NOTICE, "(DumpQuery - Original) \n %s", pretty_format_node_dump(const_cast<char*>(gpdb::SzNodeToString(pquery))));
Query *pqueryNormalized = preprocess_query_optimizer(pquery, NULL);
elog(NOTICE, "(DumpQuery - Normalized) \n %s", pretty_format_node_dump(const_cast<char*>(gpdb::SzNodeToString(pqueryNormalized))));
text *ptResult = cstring_to_text("Query dumped");
PG_RETURN_TEXT_P(ptResult);
}
开发者ID:d,项目名称:gpdb,代码行数:15,代码来源:orca_debug.cpp
示例3: orafce_to_char_numeric
Datum
orafce_to_char_numeric(PG_FUNCTION_ARGS)
{
Numeric arg0 = PG_GETARG_NUMERIC(0);
StringInfo buf = makeStringInfo();
struct lconv *lconv = PGLC_localeconv();
char *p;
appendStringInfoString(buf, DatumGetCString(DirectFunctionCall1(numeric_out, NumericGetDatum(arg0))));
for (p = buf->data; *p; p++)
if (*p == '.')
*p = lconv->decimal_point[0];
PG_RETURN_TEXT_P(cstring_to_text(buf->data));
}
开发者ID:50wu,项目名称:gpdb,代码行数:16,代码来源:convert.c
示例4: timeofday
/*
* timeofday -
* returns the current time as a text. similar to timenow() but returns
* seconds with more precision (up to microsecs). (I need this to compare
* the Wisconsin benchmark with Illustra whose TimeNow() shows current
* time with precision up to microsecs.) - ay 3/95
*/
Datum
timeofday(PG_FUNCTION_ARGS)
{
struct timeval tp;
char templ[128];
char buf[128];
pg_time_t tt;
gettimeofday(&tp, NULL);
tt = (pg_time_t) tp.tv_sec;
pg_strftime(templ, sizeof(templ), "%a %b %d %H:%M:%S.%%06d %Y %Z",
pg_localtime(&tt, session_timezone));
snprintf(buf, sizeof(buf), templ, tp.tv_usec);
PG_RETURN_TEXT_P(cstring_to_text(buf));
}
开发者ID:GisKook,项目名称:Gis,代码行数:23,代码来源:nabstime.c
示例5: random_string
/*
* dbms_random.string(opt IN CHAR, len IN NUMBER) RETURN VARCHAR2;
*
* Create Random Strings
* opt seed values:
* 'a','A' alpha characters only (mixed case)
* 'l','L' lower case alpha characters only
* 'p','P' any printable characters
* 'u','U' upper case alpha characters only
* 'x','X' any alpha-numeric characters (upper)
*/
static text *
random_string(const char *charset, int chrset_size, int len)
{
StringInfo str;
int i;
str = makeStringInfo();
for (i = 0; i < len; i++)
{
int pos = (double) rand() / ((double) RAND_MAX + 1) * chrset_size;
appendStringInfoChar(str, charset[pos]);
}
return cstring_to_text(str->data);
}
开发者ID:50wu,项目名称:gpdb,代码行数:27,代码来源:random.c
示例6: pcpoint_as_text
Datum pcpoint_as_text(PG_FUNCTION_ARGS)
{
SERIALIZED_POINT *serpt = PG_GETARG_SERPOINT_P(0);
text *txt;
char *str;
PCSCHEMA *schema = pc_schema_from_pcid(serpt->pcid, fcinfo);
PCPOINT *pt = pc_point_deserialize(serpt, schema);
if ( ! pt )
PG_RETURN_NULL();
str = pc_point_to_string(pt);
pc_point_free(pt);
txt = cstring_to_text(str);
pfree(str);
PG_RETURN_TEXT_P(txt);
}
开发者ID:achidlow,项目名称:pointcloud,代码行数:16,代码来源:pc_inout.c
示例7: orafce_to_char_timestamp
Datum
orafce_to_char_timestamp(PG_FUNCTION_ARGS)
{
Timestamp date_txt = PG_GETARG_TIMESTAMP(0);
text *result = NULL;
if(nls_date_format && strlen(nls_date_format))
{
/* it will return the DATE in nls_date_format*/
result = DatumGetTextP(DirectFunctionCall2(timestamp_to_char,
CStringGetDatum(date_txt),
CStringGetDatum(cstring_to_text(nls_date_format))));
}
PG_RETURN_TEXT_P(result);
}
开发者ID:FilipinOTech,项目名称:orafce,代码行数:16,代码来源:convert.c
示例8: convert_charset
/*
* returns src in case of no conversion or error
*/
static text *
convert_charset(text *src, int cset_from, int cset_to)
{
int src_len = VARSIZE(src) - VARHDRSZ;
unsigned char *dst;
unsigned char *csrc = (unsigned char *) VARDATA(src);
text *res;
dst = pg_do_encoding_conversion(csrc, src_len, cset_from, cset_to);
if (dst == csrc)
return src;
res = cstring_to_text((char *) dst);
pfree(dst);
return res;
}
开发者ID:adunstan,项目名称:pg-cvs-mirror,代码行数:19,代码来源:pgp-pgsql.c
示例9: pcpatch_as_text
Datum pcpatch_as_text(PG_FUNCTION_ARGS)
{
SERIALIZED_PATCH *serpatch = PG_GETARG_SERPATCH_P(0);
text *txt;
char *str;
PCSCHEMA *schema = pc_schema_from_pcid(serpatch->pcid, fcinfo);
PCPATCH *patch = pc_patch_deserialize(serpatch, schema);
if ( ! patch )
PG_RETURN_NULL();
str = pc_patch_to_string(patch);
pc_patch_free(patch);
txt = cstring_to_text(str);
pfree(str);
PG_RETURN_TEXT_P(txt);
}
开发者ID:achidlow,项目名称:pointcloud,代码行数:16,代码来源:pc_inout.c
示例10: orafce_to_char_float8
Datum
orafce_to_char_float8(PG_FUNCTION_ARGS)
{
float8 arg0 = PG_GETARG_FLOAT8(0);
StringInfo buf = makeStringInfo();
struct lconv *lconv = PGLC_localeconv();
char *p;
appendStringInfo(buf, "%f", arg0);
for (p = buf->data; *p; p++)
if (*p == '.')
*p = lconv->decimal_point[0];
PG_RETURN_TEXT_P(cstring_to_text(buf->data));
}
开发者ID:50wu,项目名称:gpdb,代码行数:16,代码来源:convert.c
示例11: jsonb_typeof
/*
* SQL function jsonb_typeof(jsonb) -> text
*
* This function is here because the analog json function is in json.c, since
* it uses the json parser internals not exposed elsewhere.
*/
Datum
jsonb_typeof(PG_FUNCTION_ARGS)
{
Jsonb *in = PG_GETARG_JSONB(0);
JsonbIterator *it;
JsonbValue v;
char *result;
if (JB_ROOT_IS_OBJECT(in))
result = "object";
else if (JB_ROOT_IS_ARRAY(in) && !JB_ROOT_IS_SCALAR(in))
result = "array";
else
{
Assert(JB_ROOT_IS_SCALAR(in));
it = JsonbIteratorInit(VARDATA_ANY(in));
/*
* A root scalar is stored as an array of one element, so we get the
* array and then its first (and only) member.
*/
(void) JsonbIteratorNext(&it, &v, true);
Assert(v.type == jbvArray);
(void) JsonbIteratorNext(&it, &v, true);
switch (v.type)
{
case jbvNull:
result = "null";
break;
case jbvString:
result = "string";
break;
case jbvNumeric:
result = "number";
break;
case jbvBool:
result = "boolean";
break;
default:
elog(ERROR, "unknown jsonb scalar type");
}
}
PG_RETURN_TEXT_P(cstring_to_text(result));
}
开发者ID:MiniHero,项目名称:postgres,代码行数:52,代码来源:jsonb.c
示例12: DumpQueryDXL
Datum
DumpQueryDXL(PG_FUNCTION_ARGS)
{
char *szSqlText = text_to_cstring(PG_GETARG_TEXT_P(0));
Query *pquery = parseSQL(szSqlText);
Assert(pquery);
char *szXmlString = COptTasks::SzDXL(pquery);
if (NULL == szXmlString)
{
elog(ERROR, "Error translating query to DXL");
}
PG_RETURN_TEXT_P(cstring_to_text(szXmlString));
}
开发者ID:d,项目名称:gpdb,代码行数:17,代码来源:orca_debug.cpp
示例13: pg_start_backup
/*
* pg_start_backup: set up for taking an on-line backup dump
*
* Essentially what this does is to create a backup label file in $PGDATA,
* where it will be archived as part of the backup dump. The label file
* contains the user-supplied label string (typically this would be used
* to tell where the backup dump will be stored) and the starting time and
* starting WAL location for the dump.
*/
Datum
pg_start_backup(PG_FUNCTION_ARGS)
{
text *backupid = PG_GETARG_TEXT_P(0);
bool fast = PG_GETARG_BOOL(1);
char *backupidstr;
XLogRecPtr startpoint;
char startxlogstr[MAXFNAMELEN];
backupidstr = text_to_cstring(backupid);
startpoint = do_pg_start_backup(backupidstr, fast, NULL);
snprintf(startxlogstr, sizeof(startxlogstr), "%X/%X",
startpoint.xlogid, startpoint.xrecoff);
PG_RETURN_TEXT_P(cstring_to_text(startxlogstr));
}
开发者ID:pguyot,项目名称:postgres,代码行数:26,代码来源:xlogfuncs.c
示例14: X509_NAME_to_text
/*
* Equivalent of X509_NAME_oneline that respects encoding
*
* This function converts X509_NAME structure to the text variable
* converting all textual data into current database encoding.
*
* Parameter: X509_NAME *name X509_NAME structure to be converted
*
* Returns: text datum which contains string representation of
* X509_NAME
*/
datum_t
X509_NAME_to_text(X509_NAME *name)
{
BIO *membuf = BIO_new(BIO_s_mem());
int i,
nid,
count = X509_NAME_entry_count(name);
X509_NAME_ENTRY *e;
ASN1_STRING *v;
const char *field_name;
size_t size;
char nullterm;
char *sp;
char *dp;
text *result;
(void) BIO_set_close(membuf, BIO_CLOSE);
for (i = 0; i < count; i++)
{
e = X509_NAME_get_entry(name, i);
nid = OBJ_obj2nid(X509_NAME_ENTRY_get_object(e));
v = X509_NAME_ENTRY_get_data(e);
field_name = OBJ_nid2sn(nid);
if (!field_name)
field_name = OBJ_nid2ln(nid);
BIO_printf(membuf, "/%s=", field_name);
ASN1_STRING_print_ex(membuf, v,
((ASN1_STRFLGS_RFC2253 & ~ASN1_STRFLGS_ESC_MSB)
| ASN1_STRFLGS_UTF8_CONVERT));
}
/* ensure null termination of the BIO's content */
nullterm = '\0';
BIO_write(membuf, &nullterm, 1);
size = BIO_get_mem_data(membuf, &sp);
dp = (char *) pg_do_encoding_conversion((unsigned char *) sp,
size - 1,
PG_UTF8,
get_db_encoding());
result = cstring_to_text(dp);
if (dp != sp)
pfree(dp);
BIO_free(membuf);
RET_TEXT_P(result);
}
开发者ID:colinet,项目名称:sqlix,代码行数:57,代码来源:sslinfo.c
示例15: json_agg_finalfn
/*
* json_agg final function
*/
Datum
json_agg_finalfn(PG_FUNCTION_ARGS)
{
StringInfo state;
/* cannot be called directly because of internal-type argument */
Assert(AggCheckCallContext(fcinfo, NULL));
state = PG_ARGISNULL(0) ? NULL : (StringInfo) PG_GETARG_POINTER(0);
if (state == NULL)
PG_RETURN_NULL();
appendStringInfoChar(state, ']');
PG_RETURN_TEXT_P(cstring_to_text(state->data));
}
开发者ID:sqlparser,项目名称:postgres,代码行数:20,代码来源:json.c
示例16: plvchr_char_name
Datum
plvchr_char_name(PG_FUNCTION_ARGS)
{
text *str = PG_GETARG_TEXT_PP(0);
text *result;
unsigned char c;
NON_EMPTY_CHECK(str);
c = (unsigned char)*(VARDATA_ANY(str));
if (c >= lengthof(char_names))
result = ora_substr_text(str, 1, 1);
else
result = cstring_to_text(char_names[c]);
PG_RETURN_TEXT_P(result);
}
开发者ID:protodef,项目名称:orafce,代码行数:17,代码来源:plvstr.c
示例17: s3test
Datum
s3test(PG_FUNCTION_ARGS)
{
CURL *curl;
StringInfoData buf;
int sc;
char *url;
char tmp[1024];
struct curl_slist *slist;
char *datestring;
char *signature;
char *bucket = "umitanuki-dbtest";
char *file = "1.txt";
char *host = "s3-ap-northeast-1.amazonaws.com";
char *accesskey = "";
char *secretkey = "";
url = text_to_cstring(PG_GETARG_TEXT_P(0));
url = palloc0(1024);
snprintf(url, 1024, "http://%s/%s/%s", host, bucket, file);
datestring = httpdate(NULL);
signature = s3_signature("GET", datestring, bucket, file, secretkey);
slist = NULL;
snprintf(tmp, sizeof(tmp), "Date: %s", datestring);
slist = curl_slist_append(slist, tmp);
snprintf(tmp, sizeof(tmp), "Authorization: AWS %s:%s", accesskey, signature);
slist = curl_slist_append(slist, tmp);
initStringInfo(&buf);
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist);
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data_to_buf);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buf);
sc = curl_easy_perform(curl);
curl_easy_cleanup(curl);
PG_RETURN_TEXT_P(cstring_to_text(buf.data));
}
开发者ID:disqus,项目名称:s3_fdw,代码行数:45,代码来源:s3_fdw.c
示例18: RestoreQuery
Datum
RestoreQuery(PG_FUNCTION_ARGS)
{
bytea *pbyteaData = PG_GETARG_BYTEA_P(0);
char *pcSerializedData = VARDATA(pbyteaData);
int iProcessed = extractFrozenQueryPlanAndExecute(pcSerializedData);
elog(NOTICE, "(RestorePlan) PROCESSED %d", iProcessed);
StringInfoData str;
initStringInfo(&str);
appendStringInfo(&str, "Query processed %d rows", iProcessed);
text *ptResult = cstring_to_text(str.data);
PG_RETURN_TEXT_P(ptResult);
}
开发者ID:d,项目名称:gpdb,代码行数:18,代码来源:orca_debug.cpp
示例19: pg_xlogfile_name
/*
* Compute an xlog file name given a WAL location,
* such as is returned by pg_stop_backup() or pg_xlog_switch().
*/
Datum
pg_xlogfile_name(PG_FUNCTION_ARGS)
{
XLogSegNo xlogsegno;
XLogRecPtr locationpoint = PG_GETARG_LSN(0);
char xlogfilename[MAXFNAMELEN];
if (RecoveryInProgress())
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("recovery is in progress"),
errhint("pg_xlogfile_name() cannot be executed during recovery.")));
XLByteToPrevSeg(locationpoint, xlogsegno);
XLogFileName(xlogfilename, ThisTimeLineID, xlogsegno);
PG_RETURN_TEXT_P(cstring_to_text(xlogfilename));
}
开发者ID:Gordiychuk,项目名称:postgres,代码行数:22,代码来源:xlogfuncs.c
示例20: pg_sasl_prepare
Datum
pg_sasl_prepare(PG_FUNCTION_ARGS)
{
char *password = text_to_cstring(PG_GETARG_TEXT_PP(0));
char *prep_password = NULL;
if (GetDatabaseEncoding() != PG_UTF8)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("Database encoding is not UTF-8")));
if (pg_saslprep(password, &prep_password) != SASLPREP_SUCCESS)
ereport(ERROR,
(errcode(ERRCODE_INTERNAL_ERROR),
errmsg("Error while processing SASLprep")));
PG_RETURN_TEXT_P(cstring_to_text(prep_password));
}
开发者ID:fabriziomello,项目名称:pg_plugins,代码行数:18,代码来源:pg_sasl_prepare.c
注:本文中的cstring_to_text函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论