Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
539bc9fc
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,发现更多精彩内容 >>
提交
539bc9fc
编写于
7月 01, 2005
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add code to pg_dump to use E'' strings when backslashes are used in dump
files.
上级
975368e2
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
41 addition
and
11 deletion
+41
-11
src/bin/pg_dump/dumputils.c
src/bin/pg_dump/dumputils.c
+25
-4
src/bin/pg_dump/pg_backup_db.c
src/bin/pg_dump/pg_backup_db.c
+1
-2
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.c
+15
-5
未找到文件。
src/bin/pg_dump/dumputils.c
浏览文件 @
539bc9fc
...
...
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/bin/pg_dump/dumputils.c,v 1.1
7 2005/04/30 08:08:51 neilc
Exp $
* $PostgreSQL: pgsql/src/bin/pg_dump/dumputils.c,v 1.1
8 2005/07/01 21:03:25 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -111,6 +111,27 @@ fmtId(const char *rawid)
void
appendStringLiteral
(
PQExpBuffer
buf
,
const
char
*
str
,
bool
escapeAll
)
{
bool
has_escapes
=
false
;
const
char
*
str2
=
str
;
while
(
*
str2
)
{
char
ch
=
*
str2
++
;
if
(
ch
==
'\\'
||
((
unsigned
char
)
ch
<
(
unsigned
char
)
' '
&&
(
escapeAll
||
(
ch
!=
'\t'
&&
ch
!=
'\n'
&&
ch
!=
'\v'
&&
ch
!=
'\f'
&&
ch
!=
'\r'
))))
{
has_escapes
=
true
;
break
;
}
}
if
(
has_escapes
)
appendPQExpBufferChar
(
buf
,
'E'
);
appendPQExpBufferChar
(
buf
,
'\''
);
while
(
*
str
)
{
...
...
@@ -122,9 +143,9 @@ appendStringLiteral(PQExpBuffer buf, const char *str, bool escapeAll)
appendPQExpBufferChar
(
buf
,
ch
);
}
else
if
((
unsigned
char
)
ch
<
(
unsigned
char
)
' '
&&
(
escapeAll
||
(
ch
!=
'\t'
&&
ch
!=
'\n'
&&
ch
!=
'\v'
&&
ch
!=
'\f'
&&
ch
!=
'\r'
)
))
(
escapeAll
||
(
ch
!=
'\t'
&&
ch
!=
'\n'
&&
ch
!=
'\v'
&&
ch
!=
'\f'
&&
ch
!=
'\r'
)
))
{
/*
* generate octal escape for control chars other than
...
...
src/bin/pg_dump/pg_backup_db.c
浏览文件 @
539bc9fc
...
...
@@ -5,7 +5,7 @@
* Implements the basic DB functions used by the archiver.
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.6
2 2005/06/21 20:45:44 tgl
Exp $
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.6
3 2005/07/01 21:03:25 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -597,7 +597,6 @@ _sendSQLLine(ArchiveHandle *AH, char *qry, char *eos)
}
else
{
if
(
qry
[
pos
]
==
'\\'
)
{
if
(
AH
->
sqlparse
.
lastChar
==
'\\'
)
...
...
src/bin/pg_dump/pg_dump.c
浏览文件 @
539bc9fc
...
...
@@ -12,7 +12,7 @@
* by PostgreSQL
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.41
1 2005/06/30 03:02:56 tgl
Exp $
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.41
2 2005/07/01 21:03:25 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -7767,8 +7767,9 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo)
p
=
tginfo
->
tgargs
;
for
(
findx
=
0
;
findx
<
tginfo
->
tgnargs
;
findx
++
)
{
const
char
*
s
=
p
;
const
char
*
s
=
p
,
*
s2
=
p
;
/* Set 'p' to end of arg string. marked by '\000' */
for
(;;)
{
p
=
strchr
(
p
,
'\\'
);
...
...
@@ -7781,20 +7782,29 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo)
exit_nicely
();
}
p
++
;
if
(
*
p
==
'\\'
)
if
(
*
p
==
'\\'
)
/* is it '\\'? */
{
p
++
;
continue
;
}
if
(
p
[
0
]
==
'0'
&&
p
[
1
]
==
'0'
&&
p
[
2
]
==
'0'
)
if
(
p
[
0
]
==
'0'
&&
p
[
1
]
==
'0'
&&
p
[
2
]
==
'0'
)
/* is it '\000'? */
break
;
}
p
--
;
/* do we need E''? */
while
(
s2
<
p
)
if
(
*
s2
++
==
'\\'
)
{
appendPQExpBufferChar
(
query
,
'E'
);
break
;
}
appendPQExpBufferChar
(
query
,
'\''
);
while
(
s
<
p
)
{
if
(
*
s
==
'\''
)
appendPQExpBufferChar
(
query
,
'\
\
'
);
appendPQExpBufferChar
(
query
,
'\
'
'
);
appendPQExpBufferChar
(
query
,
*
s
++
);
}
appendPQExpBufferChar
(
query
,
'\''
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录