greenplumn compat_informix-rfmtdate 源码
greenplumn compat_informix-rfmtdate 代码
文件路径:/src/interfaces/ecpg/test/expected/compat_informix-rfmtdate.c
/* Processed by ecpg (regression mode) */
/* These include files are added by the preprocessor */
#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>
/* Needed for informix compatibility */
#include <ecpg_informix.h>
/* End of automatic include section */
#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
#line 1 "rfmtdate.pgc"
#include <stdio.h>
#include <stdlib.h>
#include <pgtypes_error.h>
#include <sqltypes.h>
/*
* This file tests various forms of date-input/output by means of
* rfmtdate / rdefmtdate / rstrdate
*/
static void
check_return(int ret);
static void
date_test_strdate(const char *input)
{
static int i;
date d;
int r, q;
char dbuf[11];
r = rstrdate(input, &d);
printf("r: %d ", r);
if (r == 0)
{
q = rdatestr(d, dbuf);
printf("q: %d ", q);
if (q == 0)
{
printf("date %d: %s\n", i++, dbuf);
}
else
printf("\n");
}
else
check_return(r);
}
static void
date_test_defmt(const char *fmt, const char *input)
{
static int i;
char dbuf[11];
date d;
int q, r;
r = rdefmtdate(&d, fmt, input);
printf("r: %d ", r);
if (r == 0)
{
q = rdatestr(d, dbuf);
printf("q: %d ", q);
if (q == 0)
{
printf("date %d: %s\n", i++, dbuf);
}
else
printf("\n");
}
else
check_return(r);
}
static void
date_test_fmt(date d, const char *fmt)
{
static int i;
char buf[200];
int r;
r = rfmtdate(d, fmt, buf);
printf("r: %d ", r);
if (r != 0)
check_return(r);
else
printf("date: %d: %s\n", i++, buf);
}
int
main(void)
{
short mdy[3] = { 11, 23, 1959 };
char dbuf[11];
date d;
int r;
ECPGdebug(1, stderr);
r = rmdyjul(mdy, &d);
printf("create: r: %d\n", r);
if (r == 0)
{
rdatestr(d, dbuf);
printf("date: %s\n", dbuf);
}
/* input mask is mmddyyyy */
date_test_strdate("12031994");
date_test_strdate("9.6.1994");
date_test_fmt(d, "mmddyy");
date_test_fmt(d, "ddmmyy");
date_test_fmt(d, "yymmdd");
date_test_fmt(d, "yy/mm/dd");
date_test_fmt(d, "yy mm dd");
date_test_fmt(d, "yy.mm.dd");
date_test_fmt(d, ".mm.yyyy.dd.");
date_test_fmt(d, "mmm. dd, yyyy");
date_test_fmt(d, "mmm dd yyyy");
date_test_fmt(d, "yyyy dd mm");
date_test_fmt(d, "ddd, mmm. dd, yyyy");
date_test_fmt(d, "(ddd) mmm. dd, yyyy");
date_test_defmt("ddmmyy", "21-2-54");
date_test_defmt("ddmmyy", "2-12-54");
date_test_defmt("ddmmyy", "20111954");
date_test_defmt("ddmmyy", "130464");
date_test_defmt("mmm.dd.yyyy", "MAR-12-1967");
date_test_defmt("yy/mm/dd", "1954, February 3rd");
date_test_defmt("mmm.dd.yyyy", "041269");
date_test_defmt("yy/mm/dd", "In the year 2525, in the month of July, mankind will be alive on the 28th day");
date_test_defmt("dd-mm-yy", "I said on the 28th of July in the year 2525");
date_test_defmt("mmm.dd.yyyy", "9/14/58");
date_test_defmt("yy/mm/dd", "47/03/29");
date_test_defmt("mmm.dd.yyyy", "oct 28 1975");
date_test_defmt("mmddyy", "Nov 14th, 1985");
/* ok: still contains dd mm yy */
date_test_defmt("bladdfoommbaryybong", "20/11/1954");
/* 1994 is not a leap year, it accepts the date as 01-03-1994 */
date_test_defmt("ddmmyy", "29-02-1994");
/* ECPG_INFORMIX_ENOTDMY, need "dd", "mm" and "yy" */
date_test_defmt("dmy", "20/11/1954");
/* ECPG_INFORMIX_ENOSHORTDATE */
date_test_defmt("ddmmyy", "21254");
date_test_defmt("ddmmyy", " 21254 ");
/* ECPG_INFORMIX_BAD_DAY */
date_test_defmt("ddmmyy", "320494");
/* ECPG_INFORMIX_BAD_MONTH */
date_test_defmt("mm-yyyy-dd", "13-1993-21");
/* ECPG_INFORMIX_BAD_YEAR */
/* ??? */
return 0;
}
static void
check_return(int ret)
{
switch(ret)
{
case ECPG_INFORMIX_ENOTDMY:
printf("(ECPG_INFORMIX_ENOTDMY)");
break;
case ECPG_INFORMIX_ENOSHORTDATE:
printf("(ECPG_INFORMIX_ENOSHORTDATE)");
break;
case ECPG_INFORMIX_BAD_DAY:
printf("(ECPG_INFORMIX_BAD_DAY)");
break;
case ECPG_INFORMIX_BAD_MONTH:
printf("(ECPG_INFORMIX_BAD_MONTH)");
break;
default:
printf("(unknown ret: %d)", ret);
break;
}
printf("\n");
}
相关信息
相关文章
greenplumn compat_informix-charfuncs 源码
greenplumn compat_informix-dec_test 源码
greenplumn compat_informix-describe 源码
greenplumn compat_informix-rfmtlong 源码
greenplumn compat_informix-rnull 源码
greenplumn compat_informix-sqlda 源码
greenplumn compat_informix-test_informix 源码
greenplumn compat_informix-test_informix2 源码
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
7、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦