Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
051a4f23
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,发现更多精彩内容 >>
提交
051a4f23
编写于
1月 11, 2002
作者:
M
Michael Meskes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added Christof's fixes.
上级
4e37786f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
32 addition
and
5 deletion
+32
-5
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ChangeLog
+5
-0
src/interfaces/ecpg/lib/descriptor.c
src/interfaces/ecpg/lib/descriptor.c
+27
-5
未找到文件。
src/interfaces/ecpg/ChangeLog
浏览文件 @
051a4f23
...
...
@@ -1196,5 +1196,10 @@ Tue Jan 8 15:16:37 CET 2002
Thu Jan 10 11:12:14 CET 2002
- Include sqlca.h automatically.
Fri Jan 11 15:43:39 CET 2002
- clear sqlca on : [de]allocate descriptor & get descriptor and set
sqlca.sqlerrd[2] accordingly (Christof).
- Set ecpg version to 2.9.0.
- Set library version to 3.3.0.
src/interfaces/ecpg/lib/descriptor.c
浏览文件 @
051a4f23
/* dynamic SQL support routines
*
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/descriptor.c,v 1.2
0 2001/12/23 12:17:4
1 meskes Exp $
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/descriptor.c,v 1.2
1 2002/01/11 14:43:1
1 meskes Exp $
*/
#include "postgres_fe.h"
...
...
@@ -10,6 +10,7 @@
#include "ecpglib.h"
#include "ecpgerrno.h"
#include "extern.h"
#include "sqlca.h"
#include "sql3types.h"
struct
descriptor
*
all_descriptors
=
NULL
;
...
...
@@ -49,12 +50,15 @@ ECPGDynamicType_DDT(Oid type)
bool
ECPGget_desc_header
(
int
lineno
,
char
*
desc_name
,
int
*
count
)
{
PGresult
*
ECPGresult
=
ECPGresultByDescriptor
(
lineno
,
desc_name
)
;
PGresult
*
ECPGresult
;
ECPGinit_sqlca
();
ECPGresult
=
ECPGresultByDescriptor
(
lineno
,
desc_name
);
if
(
!
ECPGresult
)
return
false
;
*
count
=
PQnfields
(
ECPGresult
);
sqlca
.
sqlerrd
[
2
]
=
1
;
ECPGlog
(
"ECPGget_desc_header: found %d attributes.
\n
"
,
*
count
);
return
true
;
}
...
...
@@ -140,13 +144,15 @@ bool
ECPGget_desc
(
int
lineno
,
char
*
desc_name
,
int
index
,...)
{
va_list
args
;
PGresult
*
ECPGresult
=
ECPGresultByDescriptor
(
lineno
,
desc_name
)
;
PGresult
*
ECPGresult
;
enum
ECPGdtype
type
;
int
ntuples
,
act_tuple
;
struct
variable
data_var
;
va_start
(
args
,
index
);
ECPGinit_sqlca
();
ECPGresult
=
ECPGresultByDescriptor
(
lineno
,
desc_name
);
if
(
!
ECPGresult
)
return
(
false
);
...
...
@@ -359,7 +365,7 @@ ECPGget_desc(int lineno, char *desc_name, int index,...)
ECPGlog
(
"ECPGget_desc: INDICATOR[%d] = %d
\n
"
,
act_tuple
,
-
PQgetisnull
(
ECPGresult
,
act_tuple
,
index
));
}
}
sqlca
.
sqlerrd
[
2
]
=
ntuples
;
return
(
true
);
}
...
...
@@ -369,6 +375,7 @@ ECPGdeallocate_desc(int line, const char *name)
struct
descriptor
*
i
;
struct
descriptor
**
lastptr
=
&
all_descriptors
;
ECPGinit_sqlca
();
for
(
i
=
all_descriptors
;
i
;
lastptr
=
&
i
->
next
,
i
=
i
->
next
)
{
if
(
!
strcmp
(
name
,
i
->
name
))
...
...
@@ -387,11 +394,26 @@ ECPGdeallocate_desc(int line, const char *name)
bool
ECPGallocate_desc
(
int
line
,
const
char
*
name
)
{
struct
descriptor
*
new
=
(
struct
descriptor
*
)
ECPGalloc
(
sizeof
(
struct
descriptor
),
line
)
;
struct
descriptor
*
new
;
ECPGinit_sqlca
();
new
=
(
struct
descriptor
*
)
ECPGalloc
(
sizeof
(
struct
descriptor
),
line
);
if
(
!
new
)
return
false
;
new
->
next
=
all_descriptors
;
new
->
name
=
ECPGalloc
(
strlen
(
name
)
+
1
,
line
);
if
(
!
new
->
name
)
{
ECPGfree
(
new
);
return
false
;
}
new
->
result
=
PQmakeEmptyPGresult
(
NULL
,
0
);
if
(
!
new
->
result
)
{
ECPGfree
(
new
->
name
);
ECPGfree
(
new
);
ECPGraise
(
line
,
ECPG_OUT_OF_MEMORY
,
NULL
);
return
false
;
}
strcpy
(
new
->
name
,
name
);
all_descriptors
=
new
;
return
true
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录