Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
2cbaaee6
Commit
2cbaaee6
authored
Jun 20, 2003
by
Michael Meskes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Just another Informix compatibility change. They uses "free" for cursors as wellafter closing them.
parent
d9b2401d
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
36 additions
and
5 deletions
+36
-5
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ChangeLog
+4
-0
src/interfaces/ecpg/compatlib/informix.c
src/interfaces/ecpg/compatlib/informix.c
+10
-0
src/interfaces/ecpg/ecpglib/prepare.c
src/interfaces/ecpg/ecpglib/prepare.c
+13
-2
src/interfaces/ecpg/include/ecpg_informix.h
src/interfaces/ecpg/include/ecpg_informix.h
+1
-0
src/interfaces/ecpg/include/ecpglib.h
src/interfaces/ecpg/include/ecpglib.h
+1
-0
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/preproc/preproc.y
+5
-2
src/interfaces/ecpg/test/test4.pgc
src/interfaces/ecpg/test/test4.pgc
+2
-1
No files found.
src/interfaces/ecpg/ChangeLog
View file @
2cbaaee6
...
...
@@ -1505,6 +1505,10 @@ Thu Jun 19 10:08:26 CEST 2003
Fri Jun 20 13:23:07 CEST 2003
- Enabled constants in using clause.
Fri Jun 20 15:34:29 CEST 2003
- For Informix compatibility we have to accept a "free <cursor>".
- Set ecpg version to 3.0.0
- Set ecpg library to 4.0.0
- Set pgtypes library to 1.0.0
...
...
src/interfaces/ecpg/compatlib/informix.c
View file @
2cbaaee6
...
...
@@ -695,6 +695,16 @@ ECPGconnect_informix(int lineno, const char *name, const char *user, const char
return
(
ECPGconnect
(
lineno
,
informix_name
,
user
,
passwd
,
connection_name
,
autocommit
));
}
bool
ECPGdeallocate_informix
(
int
lineno
,
char
*
name
)
{
ECPGdeallocate_one
(
lineno
,
name
);
/* Just ignore all errors since we do not know the list of cursors we
* are allowed to free. We have to trust that the software. */
return
true
;
}
static
struct
var_list
{
int
number
;
...
...
src/interfaces/ecpg/ecpglib/prepare.c
View file @
2cbaaee6
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/prepare.c,v 1.
2 2003/06/15 04:07:58 momjian
Exp $ */
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/prepare.c,v 1.
3 2003/06/20 13:36:34 meskes
Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
...
...
@@ -106,6 +106,18 @@ ECPGprepare(int lineno, char *name, char *variable)
/* handle the EXEC SQL DEALLOCATE PREPARE statement */
bool
ECPGdeallocate
(
int
lineno
,
char
*
name
)
{
bool
ret
=
ECPGdeallocate_one
(
lineno
,
name
);
if
(
!
ret
)
ECPGraise
(
lineno
,
ECPG_INVALID_STMT
,
name
);
return
ret
;
}
bool
ECPGdeallocate_one
(
int
lineno
,
char
*
name
)
{
struct
prepared_statement
*
this
,
*
prev
;
...
...
@@ -126,7 +138,6 @@ ECPGdeallocate(int lineno, char *name)
ECPGfree
(
this
);
return
true
;
}
ECPGraise
(
lineno
,
ECPG_INVALID_STMT
,
name
);
return
false
;
}
...
...
src/interfaces/ecpg/include/ecpg_informix.h
View file @
2cbaaee6
...
...
@@ -34,5 +34,6 @@ extern int byleng(char *, int);
extern
void
ldchar
(
char
*
,
int
,
char
*
);
extern
bool
ECPGconnect_informix
(
int
,
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
,
int
);
extern
bool
ECPGdeallocate_informix
(
int
,
char
*
);
extern
void
ECPG_informix_set_var
(
int
,
void
*
,
int
);
extern
void
*
ECPG_informix_get_var
(
int
);
src/interfaces/ecpg/include/ecpglib.h
View file @
2cbaaee6
...
...
@@ -51,6 +51,7 @@ bool ECPGtrans(int, const char *, const char *);
bool
ECPGdisconnect
(
int
,
const
char
*
);
bool
ECPGprepare
(
int
,
char
*
,
char
*
);
bool
ECPGdeallocate
(
int
,
char
*
);
bool
ECPGdeallocate_one
(
int
,
char
*
);
bool
ECPGdeallocate_all
(
int
);
char
*
ECPGprepared_statement
(
char
*
);
...
...
src/interfaces/ecpg/preproc/preproc.y
View file @
2cbaaee6
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.23
5 2003/06/20 12:00:59
meskes Exp $ */
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.23
6 2003/06/20 13:36:34
meskes Exp $ */
/* Copyright comment */
%{
...
...
@@ -674,7 +674,10 @@ stmt: AlterDatabaseSetStmt { output_statement($1, 0, connection); }
}
| ECPGFree
{
fprintf(yyout, "{ ECPGdeallocate(__LINE__, \"%s\");", $1);
if (compat == ECPG_COMPAT_INFORMIX)
fprintf(yyout, "{ ECPGdeallocate_informix(__LINE__, \"%s\");", $1);
else
fprintf(yyout, "{ ECPGdeallocate(__LINE__, \"%s\");", $1);
whenever_action(2);
free($1);
...
...
src/interfaces/ecpg/test/test4.pgc
View file @
2cbaaee6
...
...
@@ -13,13 +13,14 @@ EXEC SQL BEGIN DECLARE SECTION;
int *did = &i;
int a[10] = {9,8,7,6,5,4,3,2,1,0};
char text[10] = "klmnopqrst";
char *t =
"uvwxyz1234"
;
char *t =
(char *)malloc(10)
;
double f;
bool b = true;
varchar database[3];
EXEC SQL END DECLARE SECTION;
FILE *dbgs;
strcpy(t, "0123456789");
setlocale(LC_ALL, "de_DE");
if ((dbgs = fopen("log", "w")) != NULL)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment