Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
d66a44a5
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,发现更多精彩内容 >>
提交
d66a44a5
编写于
3月 14, 1999
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Reversed out libpq protocol patch for Tom Lane.
上级
8930699c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
5 addition
and
26 deletion
+5
-26
src/interfaces/ecpg/preproc/preproc.c
src/interfaces/ecpg/preproc/preproc.c
+1
-1
src/interfaces/libpq/fe-exec.c
src/interfaces/libpq/fe-exec.c
+4
-25
未找到文件。
src/interfaces/ecpg/preproc/preproc.c
浏览文件 @
d66a44a5
...
...
@@ -11220,7 +11220,7 @@ case 468:
case 469:
#line 2621 "preproc.y"
{
yyval.str = yyvsp[0].str
yyval.str = yyvsp[0].str
;
;
break;}
case 470:
...
...
src/interfaces/libpq/fe-exec.c
浏览文件 @
d66a44a5
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.7
6 1999/03/14 16:46
:21 momjian Exp $
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.7
7 1999/03/14 18:12
:21 momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -467,7 +467,6 @@ static void
parseInput
(
PGconn
*
conn
)
{
char
id
;
static
int
pendingT
=
0
;
/*
* Loop to parse successive complete messages available in the buffer.
...
...
@@ -536,16 +535,7 @@ parseInput(PGconn *conn)
PGRES_COMMAND_OK
);
if
(
pqGets
(
conn
->
result
->
cmdStatus
,
CMDSTATUS_LEN
,
conn
))
return
;
if
(
pendingT
)
{
/* Check the returned message */
/* if it's a SELECT or FETCH in a pendingT case, */
/* then it probably means no rows returned. */
/* We clear pendingT in that case. */
if
((
strncmp
(
conn
->
result
->
cmdStatus
,
"SELECT"
,
6
)
==
0
)
||
(
strncmp
(
conn
->
result
->
cmdStatus
,
"FETCH"
,
5
)
==
0
))
pendingT
=
0
;
}
if
(
!
pendingT
)
conn
->
asyncStatus
=
PGASYNC_READY
;
conn
->
asyncStatus
=
PGASYNC_READY
;
break
;
case
'E'
:
/* error return */
if
(
pqGets
(
conn
->
errorMessage
,
ERROR_MSG_LENGTH
,
conn
))
...
...
@@ -555,11 +545,10 @@ parseInput(PGconn *conn)
/* and build an error result holding the error message */
conn
->
result
=
PQmakeEmptyPGresult
(
conn
,
PGRES_FATAL_ERROR
);
if
(
!
pendingT
)
conn
->
asyncStatus
=
PGASYNC_READY
;
conn
->
asyncStatus
=
PGASYNC_READY
;
break
;
case
'Z'
:
/* backend is ready for new query */
conn
->
asyncStatus
=
PGASYNC_IDLE
;
pendingT
=
0
;
break
;
case
'I'
:
/* empty query */
/* read and throw away the closing '\0' */
...
...
@@ -574,7 +563,7 @@ parseInput(PGconn *conn)
if
(
conn
->
result
==
NULL
)
conn
->
result
=
PQmakeEmptyPGresult
(
conn
,
PGRES_EMPTY_QUERY
);
if
(
!
pendingT
)
conn
->
asyncStatus
=
PGASYNC_READY
;
conn
->
asyncStatus
=
PGASYNC_READY
;
break
;
case
'K'
:
/* secret key data from the backend */
...
...
@@ -595,15 +584,11 @@ parseInput(PGconn *conn)
break
;
case
'T'
:
/* row descriptions (start of query
* results) */
if
(
pendingT
)
{
DONOTICE
(
conn
,
"Got second 'T' message!
\n
"
);
}
if
(
conn
->
result
==
NULL
)
{
/* First 'T' in a query sequence */
if
(
getRowDescriptions
(
conn
))
return
;
pendingT
=
1
;
}
else
{
...
...
@@ -615,13 +600,11 @@ parseInput(PGconn *conn)
* We stop parsing until the application accepts
* the current result.
*/
pendingT
=
0
;
conn
->
asyncStatus
=
PGASYNC_READY
;
return
;
}
break
;
case
'D'
:
/* ASCII data tuple */
pendingT
=
0
;
if
(
conn
->
result
!=
NULL
)
{
/* Read another tuple of a normal query response */
...
...
@@ -639,7 +622,6 @@ parseInput(PGconn *conn)
}
break
;
case
'B'
:
/* Binary data tuple */
pendingT
=
0
;
if
(
conn
->
result
!=
NULL
)
{
/* Read another tuple of a normal query response */
...
...
@@ -657,15 +639,12 @@ parseInput(PGconn *conn)
}
break
;
case
'G'
:
/* Start Copy In */
pendingT
=
0
;
conn
->
asyncStatus
=
PGASYNC_COPY_IN
;
break
;
case
'H'
:
/* Start Copy Out */
pendingT
=
0
;
conn
->
asyncStatus
=
PGASYNC_COPY_OUT
;
break
;
default:
pendingT
=
0
;
sprintf
(
conn
->
errorMessage
,
"unknown protocol character '%c' read from backend. "
"(The protocol character is the first character the "
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录