亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? timestamp.h

?? PostgreSQL7.4.6 for Linux
?? H
字號:
/*------------------------------------------------------------------------- * * timestamp.h *	  Definitions for the SQL92 "timestamp" and "interval" types. * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $Id: timestamp.h,v 1.31 2003/08/04 02:40:15 momjian Exp $ * *------------------------------------------------------------------------- */#ifndef TIMESTAMP_H#define TIMESTAMP_H#include <time.h>#include <math.h>#include <limits.h>#include <float.h>#include "fmgr.h"#ifdef HAVE_INT64_TIMESTAMP#include "utils/int8.h"#endif/* * Timestamp represents absolute time. * Interval represents delta time. Keep track of months (and years) *	separately since the elapsed time spanned is unknown until instantiated *	relative to an absolute time. * * Note that Postgres uses "time interval" to mean a bounded interval, * consisting of a beginning and ending time, not a time span - thomas 97/03/20 */#ifdef HAVE_INT64_TIMESTAMPtypedef int64 Timestamp;typedef int64 TimestampTz;#elsetypedef double Timestamp;typedef double TimestampTz;#endiftypedef struct{#ifdef HAVE_INT64_TIMESTAMP	int64		time;			/* all time units other than months and								 * years */#else	double		time;			/* all time units other than months and								 * years */#endif	int32		month;			/* months and years, after time for								 * alignment */} Interval;#define MAX_TIMESTAMP_PRECISION 6#define MAX_INTERVAL_PRECISION 6/* * Macros for fmgr-callable functions. * * For Timestamp, we make use of the same support routines as for int64 * or float8.  Therefore Timestamp is pass-by-reference if and only if * int64 or float8 is! */#ifdef HAVE_INT64_TIMESTAMP#define DatumGetTimestamp(X)  ((Timestamp) DatumGetInt64(X))#define DatumGetTimestampTz(X)	((TimestampTz) DatumGetInt64(X))#define DatumGetIntervalP(X)  ((Interval *) DatumGetPointer(X))#define TimestampGetDatum(X) Int64GetDatum(X)#define TimestampTzGetDatum(X) Int64GetDatum(X)#define IntervalPGetDatum(X) PointerGetDatum(X)#define PG_GETARG_TIMESTAMP(n) PG_GETARG_INT64(n)#define PG_GETARG_TIMESTAMPTZ(n) PG_GETARG_INT64(n)#define PG_GETARG_INTERVAL_P(n) DatumGetIntervalP(PG_GETARG_DATUM(n))#define PG_RETURN_TIMESTAMP(x) PG_RETURN_INT64(x)#define PG_RETURN_TIMESTAMPTZ(x) PG_RETURN_INT64(x)#define PG_RETURN_INTERVAL_P(x) return IntervalPGetDatum(x)#define DT_NOBEGIN		(-INT64CONST(0x7fffffffffffffff) - 1)#define DT_NOEND		(INT64CONST(0x7fffffffffffffff))#else#define DatumGetTimestamp(X)  ((Timestamp) DatumGetFloat8(X))#define DatumGetTimestampTz(X)	((TimestampTz) DatumGetFloat8(X))#define DatumGetIntervalP(X)  ((Interval *) DatumGetPointer(X))#define TimestampGetDatum(X) Float8GetDatum(X)#define TimestampTzGetDatum(X) Float8GetDatum(X)#define IntervalPGetDatum(X) PointerGetDatum(X)#define PG_GETARG_TIMESTAMP(n) DatumGetTimestamp(PG_GETARG_DATUM(n))#define PG_GETARG_TIMESTAMPTZ(n) DatumGetTimestampTz(PG_GETARG_DATUM(n))#define PG_GETARG_INTERVAL_P(n) DatumGetIntervalP(PG_GETARG_DATUM(n))#define PG_RETURN_TIMESTAMP(x) return TimestampGetDatum(x)#define PG_RETURN_TIMESTAMPTZ(x) return TimestampTzGetDatum(x)#define PG_RETURN_INTERVAL_P(x) return IntervalPGetDatum(x)#ifdef HUGE_VAL#define DT_NOBEGIN		(-HUGE_VAL)#define DT_NOEND		(HUGE_VAL)#else#define DT_NOBEGIN		(-DBL_MAX)#define DT_NOEND		(DBL_MAX)#endif#endif   /* HAVE_INT64_TIMESTAMP */#define TIMESTAMP_NOBEGIN(j)	do {j = DT_NOBEGIN;} while (0)#define TIMESTAMP_IS_NOBEGIN(j) ((j) == DT_NOBEGIN)#define TIMESTAMP_NOEND(j)		do {j = DT_NOEND;} while (0)#define TIMESTAMP_IS_NOEND(j)	((j) == DT_NOEND)#define TIMESTAMP_NOT_FINITE(j) (TIMESTAMP_IS_NOBEGIN(j) || TIMESTAMP_IS_NOEND(j))#ifdef HAVE_INT64_TIMESTAMPtypedef int32 fsec_t;#elsetypedef double fsec_t;#define TIME_PREC_INV 1000000.0#define JROUND(j) (rint(((double) (j))*TIME_PREC_INV)/TIME_PREC_INV)#endif#define TIMESTAMP_MASK(b) (1 << (b))#define INTERVAL_MASK(b) (1 << (b))/* Macros to handle packing and unpacking the typmod field for intervals */#define INTERVAL_FULL_RANGE (0x7FFF)#define INTERVAL_RANGE_MASK (0x7FFF)#define INTERVAL_FULL_PRECISION (0xFFFF)#define INTERVAL_PRECISION_MASK (0xFFFF)#define INTERVAL_TYPMOD(p,r) ((((r) & INTERVAL_RANGE_MASK) << 16) | ((p) & INTERVAL_PRECISION_MASK))#define INTERVAL_PRECISION(t) ((t) & INTERVAL_PRECISION_MASK)#define INTERVAL_RANGE(t) (((t) >> 16) & INTERVAL_RANGE_MASK)/* * timestamp.c prototypes */extern Datum timestamp_in(PG_FUNCTION_ARGS);extern Datum timestamp_out(PG_FUNCTION_ARGS);extern Datum timestamp_recv(PG_FUNCTION_ARGS);extern Datum timestamp_send(PG_FUNCTION_ARGS);extern Datum timestamp_scale(PG_FUNCTION_ARGS);extern Datum timestamp_eq(PG_FUNCTION_ARGS);extern Datum timestamp_ne(PG_FUNCTION_ARGS);extern Datum timestamp_lt(PG_FUNCTION_ARGS);extern Datum timestamp_le(PG_FUNCTION_ARGS);extern Datum timestamp_ge(PG_FUNCTION_ARGS);extern Datum timestamp_gt(PG_FUNCTION_ARGS);extern Datum timestamp_finite(PG_FUNCTION_ARGS);extern Datum timestamp_cmp(PG_FUNCTION_ARGS);extern Datum timestamp_smaller(PG_FUNCTION_ARGS);extern Datum timestamp_larger(PG_FUNCTION_ARGS);extern Datum interval_in(PG_FUNCTION_ARGS);extern Datum interval_out(PG_FUNCTION_ARGS);extern Datum interval_recv(PG_FUNCTION_ARGS);extern Datum interval_send(PG_FUNCTION_ARGS);extern Datum interval_scale(PG_FUNCTION_ARGS);extern Datum interval_eq(PG_FUNCTION_ARGS);extern Datum interval_ne(PG_FUNCTION_ARGS);extern Datum interval_lt(PG_FUNCTION_ARGS);extern Datum interval_le(PG_FUNCTION_ARGS);extern Datum interval_ge(PG_FUNCTION_ARGS);extern Datum interval_gt(PG_FUNCTION_ARGS);extern Datum interval_finite(PG_FUNCTION_ARGS);extern Datum interval_cmp(PG_FUNCTION_ARGS);extern Datum interval_hash(PG_FUNCTION_ARGS);extern Datum interval_smaller(PG_FUNCTION_ARGS);extern Datum interval_larger(PG_FUNCTION_ARGS);extern Datum timestamp_text(PG_FUNCTION_ARGS);extern Datum text_timestamp(PG_FUNCTION_ARGS);extern Datum interval_text(PG_FUNCTION_ARGS);extern Datum text_interval(PG_FUNCTION_ARGS);extern Datum timestamp_trunc(PG_FUNCTION_ARGS);extern Datum interval_trunc(PG_FUNCTION_ARGS);extern Datum timestamp_part(PG_FUNCTION_ARGS);extern Datum interval_part(PG_FUNCTION_ARGS);extern Datum timestamp_zone(PG_FUNCTION_ARGS);extern Datum timestamp_izone(PG_FUNCTION_ARGS);extern Datum timestamp_timestamptz(PG_FUNCTION_ARGS);extern Datum timestamptz_in(PG_FUNCTION_ARGS);extern Datum timestamptz_out(PG_FUNCTION_ARGS);extern Datum timestamptz_recv(PG_FUNCTION_ARGS);extern Datum timestamptz_send(PG_FUNCTION_ARGS);extern Datum timestamptz_scale(PG_FUNCTION_ARGS);extern Datum timestamptz_timestamp(PG_FUNCTION_ARGS);extern Datum timestamptz_zone(PG_FUNCTION_ARGS);extern Datum timestamptz_izone(PG_FUNCTION_ARGS);extern Datum timestamptz_timestamptz(PG_FUNCTION_ARGS);extern Datum interval_um(PG_FUNCTION_ARGS);extern Datum interval_pl(PG_FUNCTION_ARGS);extern Datum interval_mi(PG_FUNCTION_ARGS);extern Datum interval_mul(PG_FUNCTION_ARGS);extern Datum mul_d_interval(PG_FUNCTION_ARGS);extern Datum interval_div(PG_FUNCTION_ARGS);extern Datum interval_accum(PG_FUNCTION_ARGS);extern Datum interval_avg(PG_FUNCTION_ARGS);extern Datum timestamp_mi(PG_FUNCTION_ARGS);extern Datum timestamp_pl_span(PG_FUNCTION_ARGS);extern Datum timestamp_mi_span(PG_FUNCTION_ARGS);extern Datum timestamp_age(PG_FUNCTION_ARGS);extern Datum overlaps_timestamp(PG_FUNCTION_ARGS);extern Datum timestamptz_text(PG_FUNCTION_ARGS);extern Datum text_timestamptz(PG_FUNCTION_ARGS);extern Datum timestamptz_pl_span(PG_FUNCTION_ARGS);extern Datum timestamptz_mi_span(PG_FUNCTION_ARGS);extern Datum timestamptz_age(PG_FUNCTION_ARGS);extern Datum timestamptz_trunc(PG_FUNCTION_ARGS);extern Datum timestamptz_part(PG_FUNCTION_ARGS);extern Datum now(PG_FUNCTION_ARGS);/* Internal routines (not fmgr-callable) */extern int	tm2timestamp(struct tm * tm, fsec_t fsec, int *tzp, Timestamp *dt);extern int timestamp2tm(Timestamp dt, int *tzp, struct tm * tm,			 fsec_t *fsec, char **tzn);extern void dt2time(Timestamp dt, int *hour, int *min, int *sec, fsec_t *fsec);extern int	interval2tm(Interval span, struct tm * tm, fsec_t *fsec);extern int	tm2interval(struct tm * tm, fsec_t fsec, Interval *span);extern Timestamp SetEpochTimestamp(void);extern void GetEpochTime(struct tm * tm);extern void isoweek2date(int woy, int *year, int *mon, int *mday);extern int	date2isoweek(int year, int mon, int mday);#endif   /* TIMESTAMP_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合色综合久久| 亚洲激情图片小说视频| 在线观看免费成人| 白白色亚洲国产精品| 国产成人av电影免费在线观看| 日本欧美肥老太交大片| 香蕉成人啪国产精品视频综合网| 一区二区三区在线观看欧美| 亚洲精品国产一区二区三区四区在线 | 成人午夜av电影| 高清国产一区二区| 成人午夜看片网址| 色综合久久中文综合久久97| 日本道色综合久久| 欧美色综合久久| 欧美日韩成人在线| 日韩一区二区在线观看| 日韩一级免费观看| 日本一区二区三区四区在线视频| 欧美国产精品专区| 最新国产成人在线观看| 亚洲一区二区五区| 日本成人在线电影网| 九色综合国产一区二区三区| 丁香婷婷综合五月| 在线精品国精品国产尤物884a| 欧美理论片在线| 精品久久久久99| 国产精品久久久久影院亚瑟| 一区二区欧美在线观看| 日本网站在线观看一区二区三区 | 日本一区免费视频| 亚洲色图欧美偷拍| 看电影不卡的网站| 在线这里只有精品| 精品福利一区二区三区| 亚洲人成小说网站色在线| 日韩黄色免费网站| 大陆成人av片| 7777精品伊人久久久大香线蕉 | 一个色在线综合| 青青草原综合久久大伊人精品优势| 国产在线不卡一区| 欧美日韩国产美| 中文乱码免费一区二区| 天天av天天翘天天综合网| 国产高清不卡二三区| 欧美午夜理伦三级在线观看| 久久你懂得1024| 青青草91视频| 色哟哟一区二区| 国产清纯白嫩初高生在线观看91 | 在线欧美小视频| 久久综合久久综合久久| 亚洲福中文字幕伊人影院| 国产成人免费在线观看不卡| 制服丝袜av成人在线看| 亚洲欧洲美洲综合色网| 久久成人久久鬼色| 欧美日韩国产小视频在线观看| 中文字幕va一区二区三区| 另类小说色综合网站| 欧美人牲a欧美精品| 一区二区在线看| 成人激情动漫在线观看| 久久精品视频在线看| 日韩高清一区二区| 欧美精品久久99久久在免费线| 亚洲男女一区二区三区| 粉嫩av一区二区三区粉嫩 | 成人av动漫网站| 日本一区二区三区dvd视频在线 | 国产不卡一区视频| 久久久久久久久伊人| 国产一区二区三区观看| 欧美大白屁股肥臀xxxxxx| 天天综合色天天| 欧美日韩不卡视频| 亚洲国产成人高清精品| 欧美色倩网站大全免费| 亚洲宅男天堂在线观看无病毒| 91蝌蚪porny| 亚洲欧美日韩一区二区三区在线观看 | 91麻豆精品国产91久久久久久| 一区二区三区在线观看国产| 在线一区二区视频| 天天综合天天做天天综合| 欧美老肥妇做.爰bbww视频| 性欧美大战久久久久久久久| 91麻豆精品国产91久久久久久 | 视频在线在亚洲| 91精品国产手机| 久久99精品国产.久久久久久 | 亚洲h动漫在线| 欧美日韩免费观看一区三区| 日韩电影一二三区| 精品国产乱码久久久久久1区2区 | 日韩视频一区二区在线观看| 久久精品国产秦先生| 久久九九全国免费| 一本大道综合伊人精品热热 | 欧美一级淫片007| 国产在线不卡一卡二卡三卡四卡| 国产视频一区二区在线| 色综合久久久久| 天堂精品中文字幕在线| 久久网站最新地址| 99在线精品视频| 日日夜夜精品视频天天综合网| 亚洲精品一线二线三线| 色偷偷88欧美精品久久久| 日韩精品三区四区| 中文天堂在线一区| 欧美一区二区三区在线电影| 国内成人免费视频| 亚洲国产精品久久久久婷婷884 | 国产激情偷乱视频一区二区三区 | 日韩欧美中文字幕公布| 风流少妇一区二区| 午夜久久久影院| 国产精品激情偷乱一区二区∴| 欧洲日韩一区二区三区| 国产激情一区二区三区四区| 亚洲一区免费在线观看| 国产日产欧美一区| 欧美一区二区私人影院日本| av在线不卡免费看| 久久不见久久见中文字幕免费| 国产精品高潮久久久久无| 日韩一区二区免费电影| av午夜一区麻豆| 精油按摩中文字幕久久| 石原莉奈在线亚洲二区| 亚洲日本va在线观看| 国产欧美日韩亚州综合 | 国产一区二区0| 日韩不卡一二三区| 一区二区三区四区不卡视频 | 欧日韩精品视频| 国产.精品.日韩.另类.中文.在线.播放| 婷婷一区二区三区| 一区二区三区免费观看| 日韩理论片在线| 国产精品美女久久久久久久久久久| 日韩欧美黄色影院| 91精品国产日韩91久久久久久| 色狠狠桃花综合| 色综合亚洲欧洲| 99久久精品国产一区二区三区| 另类的小说在线视频另类成人小视频在线| 亚洲国产成人高清精品| 亚洲国产精品久久久久秋霞影院| 亚洲欧美自拍偷拍色图| 久久久久久久久伊人| 91麻豆精品国产91久久久使用方法| 欧美性生活久久| 欧美日韩国产a| 欧美日本免费一区二区三区| 在线观看免费成人| 6080国产精品一区二区| 欧美妇女性影城| 日韩欧美激情四射| 欧美成人精品1314www| 2020国产精品自拍| 亚洲国产精品av| 亚洲精品欧美综合四区| 亚洲一级片在线观看| 天天射综合影视| 激情欧美一区二区三区在线观看| 国产美女精品在线| 不卡的电影网站| 欧美日韩专区在线| 欧美一区二区三区的| 国产亚洲短视频| 综合色中文字幕| 天天做天天摸天天爽国产一区 | www.66久久| 在线免费观看不卡av| 在线播放视频一区| xnxx国产精品| 自拍偷拍亚洲激情| 看片的网站亚洲| 99这里只有久久精品视频| 欧美日韩中文字幕一区二区| 日韩精品一区二区三区老鸭窝| 欧美精品一区二区三区高清aⅴ | 中文字幕在线不卡| 性久久久久久久久久久久| 国产一区二区福利视频| 一本大道久久a久久综合| 欧美猛男超大videosgay| 久久久一区二区| 一区二区三区四区蜜桃| 精久久久久久久久久久| 91麻豆精品在线观看| 日韩精品一区二区在线| 亚洲欧美偷拍三级| 国内国产精品久久| 欧美精品久久天天躁| 国产精品久线观看视频|