Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitefac279

Browse files
author
Michael Meskes
committed
Changed the way symbols are defined in C in INFORMIX mode.
1 parentdf1e965 commitefac279

File tree

5 files changed

+19
-41
lines changed

5 files changed

+19
-41
lines changed

‎src/interfaces/ecpg/ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2313,3 +2313,7 @@ Thu, 14 Feb 2008 13:11:34 +0100
23132313
- EXECUTE can return NOT FOUND so it should be checked here too.
23142314
- Changed regression test accordingly.
23152315

2316+
Fri, 15 Feb 2008 12:01:13 +0100
2317+
2318+
- Changed the way symbols are defined in C in INFORMIX mode.
2319+
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/datetime.h,v 1.14 2008/02/14 12:27:26 meskes Exp $ */
1+
/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/datetime.h,v 1.15 2008/02/15 11:20:21 meskes Exp $ */
22

33
#ifndef_ECPG_DATETIME_H
44
#define_ECPG_DATETIME_H
55

66
#include<ecpg_informix.h>
77

8-
typedeftimestampdtime_t;
9-
typedefintervalintrvl_t;
8+
/* brought in by ecpg_informix.h nowadays
9+
* typedef timestamp dtime_t;
10+
* typedef interval intrvl_t; */
1011

1112
#endif/* ndef _ECPG_DATETIME_H */

‎src/interfaces/ecpg/include/decimal.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/decimal.h,v 1.16 2008/02/14 12:27:26 meskes Exp $ */
1+
/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/decimal.h,v 1.17 2008/02/15 11:20:21 meskes Exp $ */
22

33
#ifndef_ECPG_DECIMAL_H
44
#define_ECPG_DECIMAL_H
55

66
#include<ecpg_informix.h>
77

8-
typedefdecimaldec_t;
8+
/* brought in by ecpg_informix.h nowadays
9+
* typedef decimal dec_t; */
910

1011
#endif/* ndef _ECPG_DECIMAL_H */

‎src/interfaces/ecpg/include/ecpg_informix.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* This file contains stuff needed to be as compatible to Informix as possible.
3-
* $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpg_informix.h,v 1.20 2008/02/14 12:27:26 meskes Exp $
3+
* $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpg_informix.h,v 1.21 2008/02/15 11:20:21 meskes Exp $
44
*/
55
#ifndef_ECPG_INFORMIX_H
66
#define_ECPG_INFORMIX_H
@@ -82,6 +82,11 @@ extern intdttofmtasc(timestamp *, char *, int, char *);
8282
externintintoasc(interval*,char*);
8383
externintdtcvfmtasc(char*,char*,timestamp*);
8484

85+
/* we also define Informix datatypes here */
86+
typedeftimestampdtime_t;
87+
typedefintervalintrvl_t;
88+
typedefdecimaldec_t;
89+
8590
#ifdef__cplusplus
8691
}
8792
#endif

‎src/interfaces/ecpg/preproc/pgc.l

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
*
1313
*
1414
* IDENTIFICATION
15-
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.161 2008/02/14 12:27:26 meskes Exp $
15+
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.162 2008/02/15 11:20:21 meskes Exp $
1616
*
1717
*-------------------------------------------------------------------------
1818
*/
@@ -47,7 +47,6 @@ static void addlitchar (unsigned char);
4747
staticvoidparse_include (void);
4848
staticboolecpg_isspace(char ch);
4949
staticboolisdefine(void);
50-
staticboolisinformixdefine(void);
5150

5251
char *token_start;
5352
int state_before;
@@ -744,9 +743,7 @@ cppline{space}*#(.*\\{space})*.*{newline}
744743
<C>{identifier} {
745744
const ScanKeyword*keyword;
746745

747-
/* Informix uses SQL defines only in SQL space */
748-
/* however, some defines have to be taken care of for compatibility */
749-
if ((!INFORMIX_MODE || !isinformixdefine()) && !isdefine())
746+
if (!isdefine())
750747
{
751748
keyword =ScanCKeywordLookup(yytext);
752749
if (keyword !=NULL)
@@ -1318,36 +1315,6 @@ static bool isdefine(void)
13181315
returnfalse;
13191316
}
13201317

1321-
staticboolisinformixdefine(void)
1322-
{
1323-
constchar *new =NULL;
1324-
1325-
if (strcmp(yytext,"dec_t") ==0)
1326-
new ="decimal";
1327-
elseif (strcmp(yytext,"intrvl_t") ==0)
1328-
new ="interval";
1329-
elseif (strcmp(yytext,"dtime_t") ==0)
1330-
new ="timestamp";
1331-
1332-
if (new)
1333-
{
1334-
struct_yy_buffer *yb;
1335-
1336-
yb =mm_alloc(sizeof(struct_yy_buffer));
1337-
1338-
yb->buffer = YY_CURRENT_BUFFER;
1339-
yb->lineno = yylineno;
1340-
yb->filename =mm_strdup(input_filename);
1341-
yb->next = yy_buffer;
1342-
yy_buffer = yb;
1343-
1344-
yy_scan_string(new);
1345-
returntrue;
1346-
}
1347-
1348-
returnfalse;
1349-
}
1350-
13511318
/*
13521319
* Called before any actual parsing is done
13531320
*/

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp