diff options
| author | Michael Meskes <meskes@postgresql.org> | 2004-07-05 09:45:54 +0000 |
|---|---|---|
| committer | Michael Meskes <meskes@postgresql.org> | 2004-07-05 09:45:54 +0000 |
| commit | 073f7312a4c0aff9030ccc52010095a260c6a7a6 (patch) | |
| tree | bc64a74145ae3c68e0b6466b25610447d1db95f8 /src/interfaces/ecpg/ecpglib/descriptor.c | |
| parent | da09dea3e32fcc430102f6377caee24a2afe2101 (diff) | |
- Fixed indicator in SET DESCRIPTOR.
- Added special handling of descriptor header information.
- Some code cleanup.
Diffstat (limited to 'src/interfaces/ecpg/ecpglib/descriptor.c')
| -rw-r--r-- | src/interfaces/ecpg/ecpglib/descriptor.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/interfaces/ecpg/ecpglib/descriptor.c b/src/interfaces/ecpg/ecpglib/descriptor.c index e653203f89b..bc56b0222bc 100644 --- a/src/interfaces/ecpg/ecpglib/descriptor.c +++ b/src/interfaces/ecpg/ecpglib/descriptor.c @@ -1,6 +1,6 @@ /* dynamic SQL support routines * - * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.10 2004/07/04 15:02:22 meskes Exp $ + * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.11 2004/07/05 09:45:53 meskes Exp $ */ #define POSTGRES_ECPG_INTERNAL @@ -431,6 +431,27 @@ ECPGget_desc(int lineno, char *desc_name, int index,...) } bool +ECPGset_desc_header(int lineno, char *desc_name, int count) +{ + struct descriptor *desc; + + for (desc = all_descriptors; desc; desc = desc->next) + { + if (strcmp(desc_name, desc->name)==0) + break; + } + + if (desc == NULL) + { + ECPGraise(lineno, ECPG_UNKNOWN_DESCRIPTOR, ECPG_SQLSTATE_INVALID_SQL_DESCRIPTOR_NAME, desc_name); + return false; + } + + desc->count = count; + return true; +} + +bool ECPGset_desc(int lineno, char *desc_name, int index,...) { va_list args; @@ -581,6 +602,7 @@ ECPGallocate_desc(int line, const char *name) ECPGfree(new); return false; } + new->count = -1; new->items = NULL; new->result = PQmakeEmptyPGresult(NULL, 0); if (!new->result) |
