mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Change \' to '', for SQL standards compliance. Backpatch to 7.3, 7.4,
and 8.0. Later releases already patched.
This commit is contained in:
@ -33,7 +33,7 @@
|
||||
#
|
||||
#
|
||||
##############################################################################
|
||||
# $Id: DBMirror.pl,v 1.6 2003/05/14 03:25:55 tgl Exp $
|
||||
# $Id: DBMirror.pl,v 1.6.4.1 2006/05/21 19:57:06 momjian Exp $
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@ -402,7 +402,7 @@ sub mirrorInsert($$$$$) {
|
||||
if(defined $recordValues{$column}) {
|
||||
my $quotedValue = $recordValues{$column};
|
||||
$quotedValue =~ s/\\/\\\\/g;
|
||||
$quotedValue =~ s/'/\\'/g;
|
||||
$quotedValue =~ s/'/''/g;
|
||||
$valuesQuery .= "'$quotedValue'";
|
||||
}
|
||||
else {
|
||||
@ -585,7 +585,7 @@ sub mirrorUpdate($$$$$) {
|
||||
if(defined $currentValue ) {
|
||||
$quotedValue = $currentValue;
|
||||
$quotedValue =~ s/\\/\\\\/g;
|
||||
$quotedValue =~ s/'/\\'/g;
|
||||
$quotedValue =~ s/'/''/g;
|
||||
$updateQuery .= "'$quotedValue'";
|
||||
}
|
||||
else {
|
||||
@ -607,7 +607,7 @@ sub mirrorUpdate($$$$$) {
|
||||
if(defined $currentValue) {
|
||||
$quotedValue = $currentValue;
|
||||
$quotedValue =~ s/\\/\\\\/g;
|
||||
$quotedValue =~ s/'/\\'/g;
|
||||
$quotedValue =~ s/'/''/g;
|
||||
$updateQuery .= "'$quotedValue'";
|
||||
}
|
||||
else {
|
||||
|
@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
* pending.c
|
||||
* $Id: pending.c,v 1.14 2003/09/29 18:16:48 momjian Exp $
|
||||
* $Id: pending.c,v 1.14.2.1 2006/05/21 19:57:06 momjian Exp $
|
||||
*
|
||||
* This file contains a trigger for Postgresql-7.x to record changes to tables
|
||||
* to a pending table for mirroring.
|
||||
@ -491,7 +491,7 @@ packageData(HeapTuple tTupleData, TupleDesc tTupleDesc,
|
||||
}
|
||||
if (*cpUnFormatedPtr == '\\' || *cpUnFormatedPtr == '\'')
|
||||
{
|
||||
*cpFormatedPtr = '\\';
|
||||
*cpFormatedPtr = *cpUnFormatedPtr;
|
||||
cpFormatedPtr++;
|
||||
iUsedDataBlock++;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ SET search_path = public;
|
||||
|
||||
CREATE OR REPLACE FUNCTION earth() RETURNS float8
|
||||
LANGUAGE 'sql' IMMUTABLE
|
||||
AS 'SELECT \'6378168\'::float8';
|
||||
AS 'SELECT ''6378168''::float8';
|
||||
|
||||
-- Astromers may want to change the earth function so that distances will be
|
||||
-- returned in degrees. To do this comment out the above definition and
|
||||
|
@ -46,31 +46,31 @@ SELECT '1 2'::txtidx;
|
||||
'1' '2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 2\''::txtidx;
|
||||
SELECT '''1 2'''::txtidx;
|
||||
txtidx
|
||||
--------
|
||||
'1 2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\''::txtidx;
|
||||
SELECT '''1 \\''2'''::txtidx;
|
||||
txtidx
|
||||
---------
|
||||
'1 \'2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\'3'::txtidx;
|
||||
SELECT '''1 \\''2''3'::txtidx;
|
||||
txtidx
|
||||
-------------
|
||||
'3' '1 \'2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\' 3'::txtidx;
|
||||
SELECT '''1 \\''2'' 3'::txtidx;
|
||||
txtidx
|
||||
-------------
|
||||
'3' '1 \'2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\' \' 3\' 4 '::txtidx;
|
||||
SELECT '''1 \\''2'' '' 3'' 4 '::txtidx;
|
||||
txtidx
|
||||
------------------
|
||||
'4' ' 3' '1 \'2'
|
||||
@ -101,13 +101,13 @@ SELECT ' 1 '::query_txt;
|
||||
'1'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 2\''::query_txt;
|
||||
SELECT '''1 2'''::query_txt;
|
||||
query_txt
|
||||
-----------
|
||||
'1 2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\''::query_txt;
|
||||
SELECT '''1 \\''2'''::query_txt;
|
||||
query_txt
|
||||
-----------
|
||||
'1 \'2'
|
||||
@ -305,7 +305,7 @@ SELECT '1&(2&(4&(5|!6)))'::query_txt;
|
||||
'1' & '2' & '4' & ( '5' | !'6' )
|
||||
(1 row)
|
||||
|
||||
SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::query_txt;
|
||||
SELECT '1&(''2''&('' 4''&(\\|5 | ''6 \\'' !|&'')))'::query_txt;
|
||||
query_txt
|
||||
------------------------------------------
|
||||
'1' & '2' & ' 4' & ( '|5' | '6 \' !|&' )
|
||||
@ -335,13 +335,13 @@ SELECT ' 1 '::mquery_txt;
|
||||
'1'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 2\''::mquery_txt;
|
||||
SELECT '''1 2'''::mquery_txt;
|
||||
mquery_txt
|
||||
------------
|
||||
'1' & '2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\''::mquery_txt;
|
||||
SELECT '''1 \\''2'''::mquery_txt;
|
||||
mquery_txt
|
||||
------------
|
||||
'1' & '2'
|
||||
@ -539,7 +539,7 @@ SELECT '1&(2&(4&(5|!6)))'::mquery_txt;
|
||||
'1' & '2' & '4' & ( '5' | !'6' )
|
||||
(1 row)
|
||||
|
||||
SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::mquery_txt;
|
||||
SELECT '1&(''2''&('' 4''&(\\|5 | ''6 \\'' !|&'')))'::mquery_txt;
|
||||
mquery_txt
|
||||
---------------------------------
|
||||
'1' & '2' & '4' & ( '5' | '6' )
|
||||
@ -698,7 +698,7 @@ SELECT count(*) FROM test_txtidx WHERE a ## '(eq|yt)&(wR|qh)';
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT txt2txtidx('345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
SELECT txt2txtidx('345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty');
|
||||
txt2txtidx
|
||||
@ -712,7 +712,7 @@ SELECT txtidxsize(txt2txtidx('345 qw'));
|
||||
2
|
||||
(1 row)
|
||||
|
||||
SELECT txtidxsize(txt2txtidx('345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
SELECT txtidxsize(txt2txtidx('345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty'));
|
||||
txtidxsize
|
||||
|
@ -12,19 +12,19 @@ SELECT '1 '::txtidx;
|
||||
SELECT ' 1'::txtidx;
|
||||
SELECT ' 1 '::txtidx;
|
||||
SELECT '1 2'::txtidx;
|
||||
SELECT '\'1 2\''::txtidx;
|
||||
SELECT '\'1 \\\'2\''::txtidx;
|
||||
SELECT '\'1 \\\'2\'3'::txtidx;
|
||||
SELECT '\'1 \\\'2\' 3'::txtidx;
|
||||
SELECT '\'1 \\\'2\' \' 3\' 4 '::txtidx;
|
||||
SELECT '''1 2'''::txtidx;
|
||||
SELECT '''1 \\''2'''::txtidx;
|
||||
SELECT '''1 \\''2''3'::txtidx;
|
||||
SELECT '''1 \\''2'' 3'::txtidx;
|
||||
SELECT '''1 \\''2'' '' 3'' 4 '::txtidx;
|
||||
|
||||
--query_txt
|
||||
SELECT '1'::query_txt;
|
||||
SELECT '1 '::query_txt;
|
||||
SELECT ' 1'::query_txt;
|
||||
SELECT ' 1 '::query_txt;
|
||||
SELECT '\'1 2\''::query_txt;
|
||||
SELECT '\'1 \\\'2\''::query_txt;
|
||||
SELECT '''1 2'''::query_txt;
|
||||
SELECT '''1 \\''2'''::query_txt;
|
||||
SELECT '!1'::query_txt;
|
||||
SELECT '1|2'::query_txt;
|
||||
SELECT '1|!2'::query_txt;
|
||||
@ -57,13 +57,13 @@ SELECT '1&(2&(4&(5&6)))'::query_txt;
|
||||
SELECT '1&2&4&5&6'::query_txt;
|
||||
SELECT '1&(2&(4&(5|6)))'::query_txt;
|
||||
SELECT '1&(2&(4&(5|!6)))'::query_txt;
|
||||
SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::query_txt;
|
||||
SELECT '1&(''2''&('' 4''&(\\|5 | ''6 \\'' !|&'')))'::query_txt;
|
||||
SELECT '1'::mquery_txt;
|
||||
SELECT '1 '::mquery_txt;
|
||||
SELECT ' 1'::mquery_txt;
|
||||
SELECT ' 1 '::mquery_txt;
|
||||
SELECT '\'1 2\''::mquery_txt;
|
||||
SELECT '\'1 \\\'2\''::mquery_txt;
|
||||
SELECT '''1 2'''::mquery_txt;
|
||||
SELECT '''1 \\''2'''::mquery_txt;
|
||||
SELECT '!1'::mquery_txt;
|
||||
SELECT '1|2'::mquery_txt;
|
||||
SELECT '1|!2'::mquery_txt;
|
||||
@ -96,7 +96,7 @@ SELECT '1&(2&(4&(5&6)))'::mquery_txt;
|
||||
SELECT '1&2&4&5&6'::mquery_txt;
|
||||
SELECT '1&(2&(4&(5|6)))'::mquery_txt;
|
||||
SELECT '1&(2&(4&(5|!6)))'::mquery_txt;
|
||||
SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::mquery_txt;
|
||||
SELECT '1&(''2''&('' 4''&(\\|5 | ''6 \\'' !|&'')))'::mquery_txt;
|
||||
SELECT 'querty-fgries | http://www.google.com/index.html | www.rambler.ru/index.shtml'::mquery_txt;
|
||||
|
||||
CREATE TABLE test_txtidx( t text, a txtidx );
|
||||
@ -133,13 +133,13 @@ SELECT count(*) FROM test_txtidx WHERE a ## 'eq|yt';
|
||||
SELECT count(*) FROM test_txtidx WHERE a ## '(eq&yt)|(wR&qh)';
|
||||
SELECT count(*) FROM test_txtidx WHERE a ## '(eq|yt)&(wR|qh)';
|
||||
|
||||
SELECT txt2txtidx('345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
SELECT txt2txtidx('345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty');
|
||||
|
||||
SELECT txtidxsize(txt2txtidx('345 qw'));
|
||||
|
||||
SELECT txtidxsize(txt2txtidx('345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
SELECT txtidxsize(txt2txtidx('345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty'));
|
||||
|
||||
|
@ -47,37 +47,37 @@ SELECT '1 2'::tsvector;
|
||||
'1' '2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 2\''::tsvector;
|
||||
SELECT '''1 2'''::tsvector;
|
||||
tsvector
|
||||
----------
|
||||
'1 2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\''::tsvector;
|
||||
SELECT '''1 \\''2'''::tsvector;
|
||||
tsvector
|
||||
----------
|
||||
'1 \'2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\'3'::tsvector;
|
||||
SELECT '''1 \\''2''3'::tsvector;
|
||||
tsvector
|
||||
-------------
|
||||
'3' '1 \'2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\' 3'::tsvector;
|
||||
SELECT '''1 \\''2'' 3'::tsvector;
|
||||
tsvector
|
||||
-------------
|
||||
'3' '1 \'2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\' \' 3\' 4 '::tsvector;
|
||||
SELECT '''1 \\''2'' '' 3'' 4 '::tsvector;
|
||||
tsvector
|
||||
------------------
|
||||
'4' ' 3' '1 \'2'
|
||||
(1 row)
|
||||
|
||||
select '\'w\':4A,3B,2C,1D,5 a:8';
|
||||
select '''w'':4A,3B,2C,1D,5 a:8';
|
||||
?column?
|
||||
-----------------------
|
||||
'w':4A,3B,2C,1D,5 a:8
|
||||
@ -126,13 +126,13 @@ SELECT ' 1 '::tsquery;
|
||||
'1'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 2\''::tsquery;
|
||||
SELECT '''1 2'''::tsquery;
|
||||
tsquery
|
||||
---------
|
||||
'1 2'
|
||||
(1 row)
|
||||
|
||||
SELECT '\'1 \\\'2\''::tsquery;
|
||||
SELECT '''1 \\''2'''::tsquery;
|
||||
tsquery
|
||||
---------
|
||||
'1 \'2'
|
||||
@ -330,13 +330,13 @@ SELECT '1&(2&(4&(5|!6)))'::tsquery;
|
||||
'1' & '2' & '4' & ( '5' | !'6' )
|
||||
(1 row)
|
||||
|
||||
SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::tsquery;
|
||||
SELECT '1&(''2''&('' 4''&(\\|5 | ''6 \\'' !|&'')))'::tsquery;
|
||||
tsquery
|
||||
------------------------------------------
|
||||
'1' & '2' & ' 4' & ( '|5' | '6 \' !|&' )
|
||||
(1 row)
|
||||
|
||||
SELECT '\'the wether\':dc & \' sKies \':BC & a:d b:a';
|
||||
SELECT '''the wether'':dc & '' sKies '':BC & a:d b:a';
|
||||
?column?
|
||||
------------------------------------------
|
||||
'the wether':dc & ' sKies ':BC & a:d b:a
|
||||
@ -382,7 +382,7 @@ select * from token_type('default');
|
||||
23 | entity | HTML Entity
|
||||
(23 rows)
|
||||
|
||||
select * from parse('default', '345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
select * from parse('default', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty');
|
||||
tokid | token
|
||||
@ -529,7 +529,7 @@ select * from parse('default', '345 qwe@efd.r \' http://www.com/ http://aew.werc
|
||||
1 | qwerty
|
||||
(138 rows)
|
||||
|
||||
SELECT to_tsvector('default', '345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
SELECT to_tsvector('default', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty');
|
||||
to_tsvector
|
||||
@ -543,7 +543,7 @@ SELECT length(to_tsvector('default', '345 qw'));
|
||||
2
|
||||
(1 row)
|
||||
|
||||
SELECT length(to_tsvector('default', '345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
SELECT length(to_tsvector('default', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty'));
|
||||
length
|
||||
@ -563,7 +563,7 @@ select to_tsquery('simple', 'qwe & sKies ');
|
||||
'qwe' & 'skies'
|
||||
(1 row)
|
||||
|
||||
select to_tsquery('default', '\'the wether\':dc & \' sKies \':BC ');
|
||||
select to_tsquery('default', '''the wether'':dc & '' sKies '':BC ');
|
||||
to_tsquery
|
||||
------------------------
|
||||
'wether':CD & 'sky':BC
|
||||
@ -729,7 +729,7 @@ SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
|
||||
(1 row)
|
||||
|
||||
drop trigger tsvectorupdate on test_tsvector;
|
||||
create function wow(text) returns text as 'select $1 || \' copyright\'; ' language sql;
|
||||
create function wow(text) returns text as 'select $1 || '' copyright''; ' language sql;
|
||||
create trigger tsvectorupdate before update or insert on test_tsvector
|
||||
for each row execute procedure tsearch2(a, wow, t);
|
||||
insert into test_tsvector (t) values ('345 qwerty');
|
||||
|
@ -12,12 +12,12 @@ SELECT '1 '::tsvector;
|
||||
SELECT ' 1'::tsvector;
|
||||
SELECT ' 1 '::tsvector;
|
||||
SELECT '1 2'::tsvector;
|
||||
SELECT '\'1 2\''::tsvector;
|
||||
SELECT '\'1 \\\'2\''::tsvector;
|
||||
SELECT '\'1 \\\'2\'3'::tsvector;
|
||||
SELECT '\'1 \\\'2\' 3'::tsvector;
|
||||
SELECT '\'1 \\\'2\' \' 3\' 4 '::tsvector;
|
||||
select '\'w\':4A,3B,2C,1D,5 a:8';
|
||||
SELECT '''1 2'''::tsvector;
|
||||
SELECT '''1 \\''2'''::tsvector;
|
||||
SELECT '''1 \\''2''3'::tsvector;
|
||||
SELECT '''1 \\''2'' 3'::tsvector;
|
||||
SELECT '''1 \\''2'' '' 3'' 4 '::tsvector;
|
||||
select '''w'':4A,3B,2C,1D,5 a:8';
|
||||
select 'a:3A b:2a'::tsvector || 'ba:1234 a:1B';
|
||||
select setweight('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd zxc:81,567,222A'::tsvector, 'c');
|
||||
select strip('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd'::tsvector);
|
||||
@ -28,8 +28,8 @@ SELECT '1'::tsquery;
|
||||
SELECT '1 '::tsquery;
|
||||
SELECT ' 1'::tsquery;
|
||||
SELECT ' 1 '::tsquery;
|
||||
SELECT '\'1 2\''::tsquery;
|
||||
SELECT '\'1 \\\'2\''::tsquery;
|
||||
SELECT '''1 2'''::tsquery;
|
||||
SELECT '''1 \\''2'''::tsquery;
|
||||
SELECT '!1'::tsquery;
|
||||
SELECT '1|2'::tsquery;
|
||||
SELECT '1|!2'::tsquery;
|
||||
@ -62,31 +62,31 @@ SELECT '1&(2&(4&(5&6)))'::tsquery;
|
||||
SELECT '1&2&4&5&6'::tsquery;
|
||||
SELECT '1&(2&(4&(5|6)))'::tsquery;
|
||||
SELECT '1&(2&(4&(5|!6)))'::tsquery;
|
||||
SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::tsquery;
|
||||
SELECT '\'the wether\':dc & \' sKies \':BC & a:d b:a';
|
||||
SELECT '1&(''2''&('' 4''&(\\|5 | ''6 \\'' !|&'')))'::tsquery;
|
||||
SELECT '''the wether'':dc & '' sKies '':BC & a:d b:a';
|
||||
|
||||
select lexize('simple', 'ASD56 hsdkf');
|
||||
select lexize('en_stem', 'SKIES Problems identity');
|
||||
|
||||
select * from token_type('default');
|
||||
select * from parse('default', '345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
select * from parse('default', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty');
|
||||
|
||||
SELECT to_tsvector('default', '345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
SELECT to_tsvector('default', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty');
|
||||
|
||||
SELECT length(to_tsvector('default', '345 qw'));
|
||||
|
||||
SELECT length(to_tsvector('default', '345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
SELECT length(to_tsvector('default', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
|
||||
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234
|
||||
<i <b> wow < jqw <> qwerty'));
|
||||
|
||||
|
||||
select to_tsquery('default', 'qwe & sKies ');
|
||||
select to_tsquery('simple', 'qwe & sKies ');
|
||||
select to_tsquery('default', '\'the wether\':dc & \' sKies \':BC ');
|
||||
select to_tsquery('default', '''the wether'':dc & '' sKies '':BC ');
|
||||
select to_tsquery('default', 'asd&(and|fghj)');
|
||||
select to_tsquery('default', '(asd&and)|fghj');
|
||||
select to_tsquery('default', '(asd&!and)|fghj');
|
||||
@ -135,7 +135,7 @@ UPDATE test_tsvector SET t = null WHERE t = '345 qwerty';
|
||||
SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
|
||||
|
||||
drop trigger tsvectorupdate on test_tsvector;
|
||||
create function wow(text) returns text as 'select $1 || \' copyright\'; ' language sql;
|
||||
create function wow(text) returns text as 'select $1 || '' copyright''; ' language sql;
|
||||
create trigger tsvectorupdate before update or insert on test_tsvector
|
||||
for each row execute procedure tsearch2(a, wow, t);
|
||||
insert into test_tsvector (t) values ('345 qwerty');
|
||||
|
@ -3,7 +3,7 @@
|
||||
* back to source text
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.157.2.4 2005/04/30 08:36:17 neilc Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.157.2.5 2006/05/21 19:57:07 momjian Exp $
|
||||
*
|
||||
* This software is copyrighted by Jan Wieck - Hamburg.
|
||||
*
|
||||
@ -585,7 +585,7 @@ pg_get_triggerdef(PG_FUNCTION_ARGS)
|
||||
{
|
||||
/* escape quotes and backslashes */
|
||||
if (*p == '\'' || *p == '\\')
|
||||
appendStringInfoChar(&buf, '\\');
|
||||
appendStringInfoChar(&buf, *p);
|
||||
appendStringInfoChar(&buf, *p++);
|
||||
}
|
||||
p++;
|
||||
@ -3542,7 +3542,7 @@ get_const_expr(Const *constval, deparse_context *context)
|
||||
|
||||
if (ch == '\'' || ch == '\\')
|
||||
{
|
||||
appendStringInfoChar(buf, '\\');
|
||||
appendStringInfoChar(buf, ch);
|
||||
appendStringInfoChar(buf, ch);
|
||||
}
|
||||
else if (((unsigned char) ch) < ((unsigned char) ' '))
|
||||
|
@ -12,7 +12,7 @@
|
||||
* by PostgreSQL
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.355.2.7 2006/01/09 21:16:46 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.355.2.8 2006/05/21 19:57:07 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -6544,7 +6544,7 @@ dumpTriggers(Archive *fout, TableInfo *tblinfo, int numTables)
|
||||
for (s = tgargs; s < p;)
|
||||
{
|
||||
if (*s == '\'')
|
||||
appendPQExpBufferChar(query, '\\');
|
||||
appendPQExpBufferChar(query, *s);
|
||||
appendPQExpBufferChar(query, *s++);
|
||||
}
|
||||
appendPQExpBufferChar(query, '\'');
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/large_obj.c,v 1.29 2003/08/04 23:59:40 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/large_obj.c,v 1.29.4.1 2006/05/21 19:57:07 momjian Exp $
|
||||
*/
|
||||
#include "postgres_fe.h"
|
||||
#include "large_obj.h"
|
||||
@ -185,7 +185,7 @@ do_lo_import(const char *filename_arg, const char *comment_arg)
|
||||
for (i = 0; i < slen; i++)
|
||||
{
|
||||
if (comment_arg[i] == '\'' || comment_arg[i] == '\\')
|
||||
*bufptr++ = '\\';
|
||||
*bufptr++ = comment_arg[i];
|
||||
*bufptr++ = comment_arg[i];
|
||||
}
|
||||
strcpy(bufptr, "')");
|
||||
|
@ -84,7 +84,7 @@ exec sql end declare section;
|
||||
exec sql execute immediate :command;
|
||||
printf("New tuple got OID = %ld\n", sqlca.sqlerrd[1]);
|
||||
|
||||
sprintf(command, "insert into \"Test\" (name, amount, letter) values ('db: \\\'mm\\\'', 2, 't')");
|
||||
sprintf(command, "insert into \"Test\" (name, amount, letter) values ('db: ''mm''', 2, 't')");
|
||||
exec sql execute immediate :command;
|
||||
|
||||
strcpy(msg, "execute insert 2");
|
||||
|
@ -26,7 +26,7 @@ import java.sql.Timestamp;
|
||||
import java.sql.Types;
|
||||
import java.util.Vector;
|
||||
|
||||
/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/Attic/AbstractJdbc1Statement.java,v 1.41.2.8 2004/10/21 19:13:55 jurka Exp $
|
||||
/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/Attic/AbstractJdbc1Statement.java,v 1.41.2.9 2006/05/21 19:57:07 momjian Exp $
|
||||
* This class defines methods of the jdbc1 specification. This class is
|
||||
* extended by org.postgresql.jdbc2.AbstractJdbc2Statement which adds the jdbc2
|
||||
* methods. The real Statement class (for jdbc1) is org.postgresql.jdbc1.Jdbc1Statement
|
||||
@ -1145,7 +1145,7 @@ public abstract class AbstractJdbc1Statement implements BaseStatement
|
||||
{
|
||||
case '\\':
|
||||
case '\'':
|
||||
p_output.append('\\');
|
||||
p_output.append(c);
|
||||
p_output.append(c);
|
||||
break;
|
||||
case '\0':
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.153.2.4 2004/03/14 22:01:01 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.153.2.5 2006/05/21 19:57:07 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -2329,7 +2329,7 @@ PQescapeBytea(const unsigned char *bintext, size_t binlen, size_t *bytealen)
|
||||
}
|
||||
else if (*vp == '\'')
|
||||
{
|
||||
rp[0] = '\\';
|
||||
rp[0] = '\'';
|
||||
rp[1] = '\'';
|
||||
rp += 2;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* procedural language
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.48.2.3 2005/02/08 18:22:11 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.48.2.4 2006/05/21 19:57:07 momjian Exp $
|
||||
*
|
||||
* This software is copyrighted by Jan Wieck - Hamburg.
|
||||
*
|
||||
@ -421,7 +421,7 @@ decl_statement : decl_varname decl_const decl_datatype decl_notnull decl_defval
|
||||
while (*cp1 != '\0')
|
||||
{
|
||||
if (*cp1 == '\\' || *cp1 == '\'')
|
||||
*cp2++ = '\\';
|
||||
*cp2++ = *cp1;
|
||||
*cp2++ = *cp1++;
|
||||
}
|
||||
strcpy(cp2, "'::refcursor");
|
||||
|
@ -6,7 +6,7 @@
|
||||
--
|
||||
-- Copyright (c) 1994-5, Regents of the University of California
|
||||
--
|
||||
-- $Id: funcs.source,v 1.6 2003/10/26 04:51:51 momjian Exp $
|
||||
-- $Id: funcs.source,v 1.6.2.1 2006/05/21 19:57:07 momjian Exp $
|
||||
--
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
@ -76,10 +76,10 @@ WHERE EMP.cubicle ~= '(2,1)'::point;
|
||||
-- columns of EMP.
|
||||
|
||||
CREATE FUNCTION new_emp() RETURNS EMP
|
||||
AS 'SELECT \'None\'::text AS name,
|
||||
AS 'SELECT ''None''::text AS name,
|
||||
1000 AS salary,
|
||||
25 AS age,
|
||||
\'(2,2)\'::point AS cubicle'
|
||||
''(2,2)''::point AS cubicle'
|
||||
LANGUAGE 'sql';
|
||||
|
||||
-- you can then project a column out of resulting the tuple by using the
|
||||
|
Reference in New Issue
Block a user