Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
c42581eb
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c42581eb
编写于
5月 16, 2003
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Allow interfaces to compile under MingGW/Win32 by adding _P to symbols
in ecpg.
上级
32be7207
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
111 addition
and
70 deletion
+111
-70
src/include/port.h
src/include/port.h
+2
-1
src/include/port/win32.h
src/include/port/win32.h
+1
-13
src/interfaces/ecpg/preproc/c_keywords.c
src/interfaces/ecpg/preproc/c_keywords.c
+2
-2
src/interfaces/ecpg/preproc/keywords.c
src/interfaces/ecpg/preproc/keywords.c
+9
-9
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/preproc/preproc.y
+44
-45
src/port/gettimeofday.c
src/port/gettimeofday.c
+53
-0
未找到文件。
src/include/port.h
浏览文件 @
c42581eb
...
...
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: port.h,v 1.
2 2003/05/16 01:57:51
momjian Exp $
* $Id: port.h,v 1.
3 2003/05/16 04:59:22
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -34,6 +34,7 @@ int pgunlink(const char *path);
#endif
extern
int
copydir
(
char
*
fromdir
,
char
*
todir
);
/* Last parameter not used */
extern
int
gettimeofday
(
struct
timeval
*
tp
,
struct
timezone
*
tzp
);
#else
...
...
src/include/port/win32.h
浏览文件 @
c42581eb
/* $Header: /cvsroot/pgsql/src/include/port/win32.h,v 1.1
0 2003/05/15 16:35:29
momjian Exp $ */
/* $Header: /cvsroot/pgsql/src/include/port/win32.h,v 1.1
1 2003/05/16 04:59:22
momjian Exp $ */
/* undefine and redefine after #include */
#undef mkdir
...
...
@@ -164,15 +164,3 @@ struct timezone
#define ECONNRESET WSAECONNRESET
#define EINPROGRESS WSAEINPROGRESS
/*
* Supplement to <math.h>.
*/
#define isnan _isnan
#define finite _finite
extern
double
rint
(
double
x
);
/*
* Supplement to <stdio.h>.
*/
#define snprintf _snprintf
#define vsnprintf _vsnprintf
src/interfaces/ecpg/preproc/c_keywords.c
浏览文件 @
c42581eb
...
...
@@ -25,11 +25,11 @@ static ScanKeyword ScanKeywords[] = {
{
"bool"
,
SQL_BOOL
},
{
"char"
,
CHAR_P
},
{
"const"
,
S_CONST
},
{
"double"
,
DOUBLE
},
{
"double"
,
DOUBLE
_P
},
{
"enum"
,
SQL_ENUM
},
{
"extern"
,
S_EXTERN
},
{
"float"
,
FLOAT_P
},
{
"int"
,
INT
},
{
"int"
,
INT
_P
},
{
"long"
,
SQL_LONG
},
{
"register"
,
S_REGISTER
},
{
"short"
,
SQL_SHORT
},
...
...
src/interfaces/ecpg/preproc/keywords.c
浏览文件 @
c42581eb
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.5
6 2003/02/14 13:17:13 meskes
Exp $
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.5
7 2003/05/16 04:59:22 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -29,7 +29,7 @@
static
ScanKeyword
ScanKeywords
[]
=
{
/* name, value */
{
"abort"
,
ABORT_P
},
{
"absolute"
,
ABSOLUTE
},
{
"absolute"
,
ABSOLUTE
_P
},
{
"access"
,
ACCESS
},
{
"action"
,
ACTION
},
{
"add"
,
ADD
},
...
...
@@ -54,7 +54,7 @@ static ScanKeyword ScanKeywords[] = {
{
"bigint"
,
BIGINT
},
{
"binary"
,
BINARY
},
{
"bit"
,
BIT
},
{
"boolean"
,
BOOLEAN
},
{
"boolean"
,
BOOLEAN
_P
},
{
"both"
,
BOTH
},
{
"by"
,
BY
},
{
"cache"
,
CACHE
},
...
...
@@ -96,7 +96,7 @@ static ScanKeyword ScanKeywords[] = {
{
"day"
,
DAY_P
},
{
"deallocate"
,
DEALLOCATE
},
{
"dec"
,
DEC
},
{
"decimal"
,
DECIMAL
},
{
"decimal"
,
DECIMAL
_P
},
{
"declare"
,
DECLARE
},
{
"default"
,
DEFAULT
},
{
"deferrable"
,
DEFERRABLE
},
...
...
@@ -109,7 +109,7 @@ static ScanKeyword ScanKeywords[] = {
{
"distinct"
,
DISTINCT
},
{
"do"
,
DO
},
{
"domain"
,
DOMAIN_P
},
{
"double"
,
DOUBLE
},
{
"double"
,
DOUBLE
_P
},
{
"drop"
,
DROP
},
{
"each"
,
EACH
},
{
"else"
,
ELSE
},
...
...
@@ -153,11 +153,11 @@ static ScanKeyword ScanKeywords[] = {
{
"initially"
,
INITIALLY
},
{
"inner"
,
INNER_P
},
{
"inout"
,
INOUT
},
{
"input"
,
INPUT
},
{
"input"
,
INPUT
_P
},
{
"insensitive"
,
INSENSITIVE
},
{
"insert"
,
INSERT
},
{
"instead"
,
INSTEAD
},
{
"int"
,
INT
},
{
"int"
,
INT
_P
},
{
"integer"
,
INTEGER
},
{
"intersect"
,
INTERSECT
},
{
"interval"
,
INTERVAL
},
...
...
@@ -237,7 +237,7 @@ static ScanKeyword ScanKeywords[] = {
{
"recheck"
,
RECHECK
},
{
"references"
,
REFERENCES
},
{
"reindex"
,
REINDEX
},
{
"relative"
,
RELATIVE
},
{
"relative"
,
RELATIVE
_P
},
{
"rename"
,
RENAME
},
{
"replace"
,
REPLACE
},
{
"reset"
,
RESET
},
...
...
@@ -273,7 +273,7 @@ static ScanKeyword ScanKeywords[] = {
{
"stdin"
,
STDIN
},
{
"stdout"
,
STDOUT
},
{
"storage"
,
STORAGE
},
{
"strict"
,
STRICT
},
{
"strict"
,
STRICT
_P
},
{
"substring"
,
SUBSTRING
},
{
"sysid"
,
SYSID
},
{
"table"
,
TABLE
},
...
...
src/interfaces/ecpg/preproc/preproc.y
浏览文件 @
c42581eb
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.21
7 2003/05/14 14:37:35 meskes
Exp $ */
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.21
8 2003/05/16 04:59:22 momjian
Exp $ */
/* Copyright comment */
%{
...
...
@@ -177,12 +177,12 @@ make_name(void)
%token TYPECAST
/* ordinary key words in alphabetical order */
%token <keyword> ABORT_P ABSOLUTE ACCESS ACTION ADD AFTER
%token <keyword> ABORT_P ABSOLUTE
_P
ACCESS ACTION ADD AFTER
AGGREGATE ALL ALTER ANALYSE ANALYZE AND ANY AS ASC
ASSERTION ASSIGNMENT AT AUTHORIZATION
BACKWARD BEFORE BEGIN_P BETWEEN BIGINT BINARY BIT
BOOLEAN BOTH BY
BOOLEAN
_P
BOTH BY
CACHE CALLED CASCADE CASE CAST CHAIN CHAR_P
CHARACTER CHARACTERISTICS CHECK CHECKPOINT CLASS CLOSE
...
...
@@ -191,9 +191,9 @@ make_name(void)
CREATE CREATEDB CREATEUSER CROSS CURRENT_DATE CURRENT_TIME
CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE
DATABASE DAY_P DEALLOCATE DEC DECIMAL DECLARE DEFAULT
DATABASE DAY_P DEALLOCATE DEC DECIMAL
_P
DECLARE DEFAULT
DEFERRABLE DEFERRED DEFINER DELETE_P DELIMITER DELIMITERS
DESC DISTINCT DO DOMAIN_P DOUBLE DROP
DESC DISTINCT DO DOMAIN_P DOUBLE
_P
DROP
EACH ELSE ENCODING ENCRYPTED END_P ESCAPE EXCEPT EXCLUSIVE
EXECUTE EXISTS EXPLAIN EXTERNAL EXTRACT
...
...
@@ -204,7 +204,7 @@ make_name(void)
HANDLER HAVING HOUR_P
ILIKE IMMEDIATE IMMUTABLE IMPLICIT_P IN_P INCREMENT INDEX INHERITS
INITIALLY INNER_P INOUT INPUT
INSENSITIVE INSERT INSTEAD INT
INITIALLY INNER_P INOUT INPUT
_P INSENSITIVE INSERT INSTEAD INT_P
INTEGER INTERSECT INTERVAL INTO INVOKER IS ISNULL ISOLATION
JOIN
...
...
@@ -226,12 +226,12 @@ make_name(void)
PARTIAL PASSWORD PATH_P PENDANT PLACING POSITION
PRECISION PRESERVE PREPARE PRIMARY PRIOR PRIVILEGES PROCEDURAL PROCEDURE
READ REAL RECHECK REFERENCES REINDEX RELATIVE RENAME REPLACE
READ REAL RECHECK REFERENCES REINDEX RELATIVE
_P
RENAME REPLACE
RESET RESTRICT RETURNS REVOKE RIGHT ROLLBACK ROW ROWS RULE
SCHEMA SCROLL SECOND_P SECURITY SELECT SEQUENCE SERIALIZABLE
SESSION SESSION_USER SET SETOF SHARE SHOW SIMILAR SIMPLE SMALLINT SOME
STABLE START STATEMENT STATISTICS STDIN STDOUT STORAGE STRICT
STABLE START STATEMENT STATISTICS STDIN STDOUT STORAGE STRICT
_P
SUBSTRING SYSID
TABLE TEMP TEMPLATE TEMPORARY THEN TIME TIMESTAMP TO TOAST
...
...
@@ -1688,8 +1688,8 @@ FetchStmt: FETCH direction fetch_how_many from_in name ecpg_into
direction: FORWARD { $$ = make_str("forward"); }
| BACKWARD { $$ = make_str("backward"); }
| RELATIVE { $$ = make_str("relative"); }
| ABSOLUTE
| RELATIVE
_P
{ $$ = make_str("relative"); }
| ABSOLUTE
_P
{
mmerror(PARSE_ERROR, ET_WARNING, "Currently unsupported FETCH/ABSOLUTE will be passed to backend, backend will use RELATIVE");
$$ = make_str("absolute");
...
...
@@ -1973,11 +1973,11 @@ createfunc_opt_item: AS func_as
{ $$ = make_str("stable"); }
| VOLATILE
{ $$ = make_str("volatile"); }
| CALLED ON NULL_P INPUT
| CALLED ON NULL_P INPUT
_P
{ $$ = make_str("called on null input"); }
| RETURNS NULL_P ON NULL_P INPUT
| RETURNS NULL_P ON NULL_P INPUT
_P
{ $$ = make_str("returns null on null input"); }
| STRICT
| STRICT
_P
{ $$ = make_str("strict"); }
| EXTERNAL SECURITY DEFINER
{ $$ = make_str("external security definer"); }
...
...
@@ -3010,7 +3010,7 @@ GenericType: type_name { $$ = $1; }
* Provide real DECIMAL() and NUMERIC() implementations now - Jan 1998-12-30
* - thomas 1997-09-18
*/
Numeric: INT
Numeric: INT
_P
{ $$ = make_str("int"); }
| INTEGER
{ $$ = make_str("integer"); }
...
...
@@ -3022,15 +3022,15 @@ Numeric: INT
{ $$ = make_str("real"); }
| FLOAT_P opt_float
{ $$ = cat2_str(make_str("float"), $2); }
| DOUBLE PRECISION
| DOUBLE
_P
PRECISION
{ $$ = make_str("double precision"); }
| DECIMAL opt_decimal
| DECIMAL
_P
opt_decimal
{ $$ = cat2_str(make_str("decimal"), $2); }
| DEC opt_decimal
{ $$ = cat2_str(make_str("dec"), $2); }
| NUMERIC opt_numeric
{ $$ = cat2_str(make_str("numeric"), $2); }
| BOOLEAN
| BOOLEAN
_P
{ $$ = make_str("boolean"); }
;
...
...
@@ -4607,11 +4607,11 @@ simple_type: unsigned_type { $$=$1; }
;
unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; }
| SQL_UNSIGNED SQL_SHORT INT { $$ = ECPGt_unsigned_short; }
| SQL_UNSIGNED SQL_SHORT INT
_P
{ $$ = ECPGt_unsigned_short; }
| SQL_UNSIGNED { $$ = ECPGt_unsigned_int; }
| SQL_UNSIGNED INT { $$ = ECPGt_unsigned_int; }
| SQL_UNSIGNED INT
_P
{ $$ = ECPGt_unsigned_int; }
| SQL_UNSIGNED SQL_LONG { $$ = ECPGt_unsigned_long; }
| SQL_UNSIGNED SQL_LONG INT { $$ = ECPGt_unsigned_long; }
| SQL_UNSIGNED SQL_LONG INT
_P
{ $$ = ECPGt_unsigned_long; }
| SQL_UNSIGNED SQL_LONG SQL_LONG
{
#ifdef HAVE_LONG_LONG_INT_64
...
...
@@ -4620,7 +4620,7 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; }
$$ = ECPGt_unsigned_long;
#endif
}
| SQL_UNSIGNED SQL_LONG SQL_LONG INT
| SQL_UNSIGNED SQL_LONG SQL_LONG INT
_P
{
#ifdef HAVE_LONG_LONG_INT_64
$$ = ECPGt_unsigned_long_long;
...
...
@@ -4632,10 +4632,10 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; }
;
signed_type: SQL_SHORT { $$ = ECPGt_short; }
| SQL_SHORT INT { $$ = ECPGt_short; }
| INT { $$ = ECPGt_int; }
| SQL_SHORT INT
_P
{ $$ = ECPGt_short; }
| INT
_P
{ $$ = ECPGt_int; }
| SQL_LONG { $$ = ECPGt_long; }
| SQL_LONG INT { $$ = ECPGt_long; }
| SQL_LONG INT
_P
{ $$ = ECPGt_long; }
| SQL_LONG SQL_LONG
{
#ifdef HAVE_LONG_LONG_INT_64
...
...
@@ -4644,7 +4644,7 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; }
$$ = ECPGt_long;
#endif
}
| SQL_LONG SQL_LONG INT
| SQL_LONG SQL_LONG INT
_P
{
#ifdef HAVE_LONG_LONG_INT_64
$$ = ECPGt_long_long;
...
...
@@ -5318,7 +5318,7 @@ function_name: ident { $$ = $1; }
ColLabel: ECPGColLabel { $$ = $1; }
| ECPGTypeName { $$ = $1; }
| CHAR_P { $$ = make_str("char"); }
| INT { $$ = make_str("int"); }
| INT
_P
{ $$ = make_str("int"); }
| UNION { $$ = make_str("union"); }
;
...
...
@@ -5347,7 +5347,7 @@ ECPGColLabel: ECPGColLabelCommon { $$ = $1; }
*/
unreserved_keyword:
ABORT_P { $$ = make_str("abort"); }
| ABSOLUTE
{ $$ = make_str("absolute"); }
| ABSOLUTE
_P
{ $$ = make_str("absolute"); }
| ACCESS { $$ = make_str("access"); }
| ACTION { $$ = make_str("action"); }
| ADD { $$ = make_str("add"); }
...
...
@@ -5388,7 +5388,7 @@ unreserved_keyword:
| DELIMITER { $$ = make_str("delimiter"); }
| DELIMITERS { $$ = make_str("delimiters"); }
| DOMAIN_P { $$ = make_str("domain"); }
| DOUBLE { $$ = make_str("double"); }
| DOUBLE
_P
{ $$ = make_str("double"); }
| DROP { $$ = make_str("drop"); }
| EACH { $$ = make_str("each"); }
| ENCODING { $$ = make_str("encoding"); }
...
...
@@ -5459,7 +5459,7 @@ unreserved_keyword:
| READ { $$ = make_str("read"); }
| RECHECK { $$ = make_str("recheck"); }
| REINDEX { $$ = make_str("reindex"); }
| RELATIVE
{ $$ = make_str("relative"); }
| RELATIVE
_P
{ $$ = make_str("relative"); }
| RENAME { $$ = make_str("rename"); }
| REPLACE { $$ = make_str("replace"); }
| RESET { $$ = make_str("reset"); }
...
...
@@ -5536,12 +5536,12 @@ col_name_keyword:
| COALESCE { $$ = make_str("coalesce"); }
| CONVERT { $$ = make_str("convert"); }
| DEC { $$ = make_str("dec"); }
| DECIMAL { $$ = make_str("decimal"); }
| DECIMAL
_P
{ $$ = make_str("decimal"); }
| EXISTS { $$ = make_str("exists"); }
| EXTRACT { $$ = make_str("extract"); }
| FLOAT_P { $$ = make_str("float"); }
/* INT must be excluded from ECPGColLabel because of conflict
| INT { $$ = make_str("int"); }
| INT
_P
{ $$ = make_str("int"); }
*/
| INTEGER { $$ = make_str("integer"); }
| INTERVAL { $$ = make_str("interval"); }
...
...
@@ -5787,14 +5787,13 @@ c_anything: IDENT { $$ = $1; }
| S_TYPEDEF { $$ = make_str("typedef"); }
| SQL_BOOL { $$ = make_str("bool"); }
| SQL_ENUM { $$ = make_str("enum"); }
| INT { $$ = make_str("int"); }
| INT
_P
{ $$ = make_str("int"); }
| SQL_LONG { $$ = make_str("long"); }
| SQL_SHORT { $$ = make_str("short"); }
| SQL_SIGNED { $$ = make_str("signed"); }
| SQL_STRUCT { $$ = make_str("struct"); }
| SQL_UNSIGNED { $$ = make_str("unsigned"); }
| CHAR_P { $$ = make_str("char"); }
| DOUBLE { $$ = make_str("double"); }
| FLOAT_P { $$ = make_str("float"); }
| UNION { $$ = make_str("union"); }
| VARCHAR { $$ = make_str("varchar"); }
...
...
src/port/gettimeofday.c
0 → 100644
浏览文件 @
c42581eb
/*
* $Header: /cvsroot/pgsql/src/port/gettimeofday.c,v 1.1 2003/05/16 04:59:24 momjian Exp $
*
* Copyright (c) 2003 SRA, Inc.
* Copyright (c) 2003 SKC, Inc.
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose, without fee, and without a
* written agreement is hereby granted, provided that the above
* copyright notice and this paragraph and the following two
* paragraphs appear in all copies.
*
* IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT,
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
* LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
* DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS
* IS" BASIS, AND THE AUTHOR HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE,
* SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*/
#include "postgres.h"
#include "sys/time.h"
/* FILETIME of Jan 1 1970 00:00:00. */
static
const
unsigned
__int64
epoch
=
116444736000000000L
;
/*
* timezone information is stored outside the kernel so tzp isn't used anymore.
*/
int
gettimeofday
(
struct
timeval
*
tp
,
struct
timezone
*
tzp
)
{
FILETIME
file_time
;
SYSTEMTIME
system_time
;
ULARGE_INTEGER
ularge
;
GetSystemTime
(
&
system_time
);
SystemTimeToFileTime
(
&
system_time
,
&
file_time
);
ularge
.
LowPart
=
file_time
.
dwLowDateTime
;
ularge
.
HighPart
=
file_time
.
dwHighDateTime
;
tp
->
tv_sec
=
(
long
)((
ularge
.
QuadPart
-
epoch
)
/
10000000L
);
tp
->
tv_usec
=
(
long
)(
system_time
.
wMilliseconds
*
1000
);
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录