mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 00:02:04 -04:00
Fix typos in comments.
Backpatch to all supported versions, where applicable, to make backpatching of future fixes go more smoothly. Josh Soref Discussion: https://www.postgresql.org/message-id/CACZqfqCf+5qRztLPgmmosr-B0Ye4srWzzw_mo4c_8_B_mtjmJQ@mail.gmail.com
This commit is contained in:
parent
b87e1680b9
commit
e8f9fe4ae7
4
configure
vendored
4
configure
vendored
@ -7188,7 +7188,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
|
|||||||
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
||||||
|
|
||||||
# When Autoconf chooses install-sh as install program it tries to generate
|
# When Autoconf chooses install-sh as install program it tries to generate
|
||||||
# a relative path to it in each makefile where it subsitutes it. This clashes
|
# a relative path to it in each makefile where it substitutes it. This clashes
|
||||||
# with our Makefile.global concept. This workaround helps.
|
# with our Makefile.global concept. This workaround helps.
|
||||||
case $INSTALL in
|
case $INSTALL in
|
||||||
*install-sh*) install_bin='';;
|
*install-sh*) install_bin='';;
|
||||||
@ -7332,7 +7332,7 @@ fi
|
|||||||
$as_echo "$MKDIR_P" >&6; }
|
$as_echo "$MKDIR_P" >&6; }
|
||||||
|
|
||||||
# When Autoconf chooses install-sh as mkdir -p program it tries to generate
|
# When Autoconf chooses install-sh as mkdir -p program it tries to generate
|
||||||
# a relative path to it in each makefile where it subsitutes it. This clashes
|
# a relative path to it in each makefile where it substitutes it. This clashes
|
||||||
# with our Makefile.global concept. This workaround helps.
|
# with our Makefile.global concept. This workaround helps.
|
||||||
case $MKDIR_P in
|
case $MKDIR_P in
|
||||||
*install-sh*) MKDIR_P='\${SHELL} \${top_srcdir}/config/install-sh -c -d';;
|
*install-sh*) MKDIR_P='\${SHELL} \${top_srcdir}/config/install-sh -c -d';;
|
||||||
|
@ -822,7 +822,7 @@ fi
|
|||||||
|
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
# When Autoconf chooses install-sh as install program it tries to generate
|
# When Autoconf chooses install-sh as install program it tries to generate
|
||||||
# a relative path to it in each makefile where it subsitutes it. This clashes
|
# a relative path to it in each makefile where it substitutes it. This clashes
|
||||||
# with our Makefile.global concept. This workaround helps.
|
# with our Makefile.global concept. This workaround helps.
|
||||||
case $INSTALL in
|
case $INSTALL in
|
||||||
*install-sh*) install_bin='';;
|
*install-sh*) install_bin='';;
|
||||||
@ -835,7 +835,7 @@ AC_PROG_LN_S
|
|||||||
AC_PROG_AWK
|
AC_PROG_AWK
|
||||||
AC_PROG_MKDIR_P
|
AC_PROG_MKDIR_P
|
||||||
# When Autoconf chooses install-sh as mkdir -p program it tries to generate
|
# When Autoconf chooses install-sh as mkdir -p program it tries to generate
|
||||||
# a relative path to it in each makefile where it subsitutes it. This clashes
|
# a relative path to it in each makefile where it substitutes it. This clashes
|
||||||
# with our Makefile.global concept. This workaround helps.
|
# with our Makefile.global concept. This workaround helps.
|
||||||
case $MKDIR_P in
|
case $MKDIR_P in
|
||||||
*install-sh*) MKDIR_P='\${SHELL} \${top_srcdir}/config/install-sh -c -d';;
|
*install-sh*) MKDIR_P='\${SHELL} \${top_srcdir}/config/install-sh -c -d';;
|
||||||
|
@ -912,7 +912,7 @@ SELECT cube_dim('(0,0,0)'::cube);
|
|||||||
3
|
3
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test of cube_ll_coord function (retrieves LL coodinate values)
|
-- Test of cube_ll_coord function (retrieves LL coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
cube_ll_coord
|
cube_ll_coord
|
||||||
@ -932,7 +932,7 @@ SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 3);
|
|||||||
0
|
0
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test of cube_ur_coord function (retrieves UR coodinate values)
|
-- Test of cube_ur_coord function (retrieves UR coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
cube_ur_coord
|
cube_ur_coord
|
||||||
|
@ -912,7 +912,7 @@ SELECT cube_dim('(0,0,0)'::cube);
|
|||||||
3
|
3
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test of cube_ll_coord function (retrieves LL coodinate values)
|
-- Test of cube_ll_coord function (retrieves LL coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
cube_ll_coord
|
cube_ll_coord
|
||||||
@ -932,7 +932,7 @@ SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 3);
|
|||||||
0
|
0
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test of cube_ur_coord function (retrieves UR coodinate values)
|
-- Test of cube_ur_coord function (retrieves UR coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
cube_ur_coord
|
cube_ur_coord
|
||||||
|
@ -912,7 +912,7 @@ SELECT cube_dim('(0,0,0)'::cube);
|
|||||||
3
|
3
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test of cube_ll_coord function (retrieves LL coodinate values)
|
-- Test of cube_ll_coord function (retrieves LL coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
cube_ll_coord
|
cube_ll_coord
|
||||||
@ -932,7 +932,7 @@ SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 3);
|
|||||||
0
|
0
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test of cube_ur_coord function (retrieves UR coodinate values)
|
-- Test of cube_ur_coord function (retrieves UR coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
cube_ur_coord
|
cube_ur_coord
|
||||||
|
@ -912,7 +912,7 @@ SELECT cube_dim('(0,0,0)'::cube);
|
|||||||
3
|
3
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test of cube_ll_coord function (retrieves LL coodinate values)
|
-- Test of cube_ll_coord function (retrieves LL coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
cube_ll_coord
|
cube_ll_coord
|
||||||
@ -932,7 +932,7 @@ SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 3);
|
|||||||
0
|
0
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Test of cube_ur_coord function (retrieves UR coodinate values)
|
-- Test of cube_ur_coord function (retrieves UR coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
cube_ur_coord
|
cube_ur_coord
|
||||||
|
@ -224,13 +224,13 @@ SELECT cube_dim('(0)'::cube);
|
|||||||
SELECT cube_dim('(0,0)'::cube);
|
SELECT cube_dim('(0,0)'::cube);
|
||||||
SELECT cube_dim('(0,0,0)'::cube);
|
SELECT cube_dim('(0,0,0)'::cube);
|
||||||
|
|
||||||
-- Test of cube_ll_coord function (retrieves LL coodinate values)
|
-- Test of cube_ll_coord function (retrieves LL coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 2);
|
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 2);
|
||||||
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 3);
|
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 3);
|
||||||
|
|
||||||
-- Test of cube_ur_coord function (retrieves UR coodinate values)
|
-- Test of cube_ur_coord function (retrieves UR coordinate values)
|
||||||
--
|
--
|
||||||
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
|
||||||
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 2);
|
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 2);
|
||||||
|
@ -11,7 +11,7 @@ CREATE FUNCTION earth() RETURNS float8
|
|||||||
LANGUAGE SQL IMMUTABLE
|
LANGUAGE SQL IMMUTABLE
|
||||||
AS 'SELECT ''6378168''::float8';
|
AS 'SELECT ''6378168''::float8';
|
||||||
|
|
||||||
-- Astromers may want to change the earth function so that distances will be
|
-- Astronomers may want to change the earth function so that distances will be
|
||||||
-- returned in degrees. To do this comment out the above definition and
|
-- returned in degrees. To do this comment out the above definition and
|
||||||
-- uncomment the one below. Note that doing this will break the regression
|
-- uncomment the one below. Note that doing this will break the regression
|
||||||
-- tests.
|
-- tests.
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* Product 9 + 21 + 7 + 3 + 1 + 12 + 4 + 24 + 7 + 15 + 0 + 0 = 103
|
* Product 9 + 21 + 7 + 3 + 1 + 12 + 4 + 24 + 7 + 15 + 0 + 0 = 103
|
||||||
* 103 / 10 = 10 remainder 3
|
* 103 / 10 = 10 remainder 3
|
||||||
* Check digit 10 - 3 = 7
|
* Check digit 10 - 3 = 7
|
||||||
* => 977-1144875-00-7 ?? <- suplemental number (number of the week, month, etc.)
|
* => 977-1144875-00-7 ?? <- supplemental number (number of the week, month, etc.)
|
||||||
* ^^ 00 for non-daily publications (01=Monday, 02=Tuesday, ...)
|
* ^^ 00 for non-daily publications (01=Monday, 02=Tuesday, ...)
|
||||||
*
|
*
|
||||||
* The hyphenation is always in after the four digits of the ISSN code.
|
* The hyphenation is always in after the four digits of the ISSN code.
|
||||||
|
@ -160,7 +160,7 @@ dehyphenate(char *bufO, char *bufI)
|
|||||||
* into bufO using the given hyphenation range TABLE.
|
* into bufO using the given hyphenation range TABLE.
|
||||||
* Assumes the input string to be used is of only digits.
|
* Assumes the input string to be used is of only digits.
|
||||||
*
|
*
|
||||||
* Returns the number of characters acctually hyphenated.
|
* Returns the number of characters actually hyphenated.
|
||||||
*/
|
*/
|
||||||
static unsigned
|
static unsigned
|
||||||
hyphenate(char *bufO, char *bufI, const char *(*TABLE)[2], const unsigned TABLE_index[10][2])
|
hyphenate(char *bufO, char *bufI, const char *(*TABLE)[2], const unsigned TABLE_index[10][2])
|
||||||
@ -748,7 +748,7 @@ string2ean(const char *str, bool errorOK, ean13 *result,
|
|||||||
}
|
}
|
||||||
else if (*aux2 == '!' && *(aux2 + 1) == '\0')
|
else if (*aux2 == '!' && *(aux2 + 1) == '\0')
|
||||||
{
|
{
|
||||||
/* the invalid check digit sufix was found, set it */
|
/* the invalid check digit suffix was found, set it */
|
||||||
if (!magic)
|
if (!magic)
|
||||||
valid = false;
|
valid = false;
|
||||||
magic = true;
|
magic = true;
|
||||||
|
@ -1105,7 +1105,7 @@ SELECT '{a.b.c.d.e,B.df}'::ltree[] ? '{A.b.c.d.e,*.df}';
|
|||||||
t
|
t
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
--exractors
|
--extractors
|
||||||
SELECT ('{3456,1.2.3.34}'::ltree[] ?@> '1.2.3.4') is null;
|
SELECT ('{3456,1.2.3.34}'::ltree[] ?@> '1.2.3.4') is null;
|
||||||
?column?
|
?column?
|
||||||
----------
|
----------
|
||||||
|
@ -200,7 +200,7 @@ pushval_asis(QPRS_STATE *state, int type, char *strval, int lenval, uint16 flag)
|
|||||||
|
|
||||||
#define STACKDEPTH 32
|
#define STACKDEPTH 32
|
||||||
/*
|
/*
|
||||||
* make polish notaion of query
|
* make polish notation of query
|
||||||
*/
|
*/
|
||||||
static int32
|
static int32
|
||||||
makepol(QPRS_STATE *state)
|
makepol(QPRS_STATE *state)
|
||||||
|
@ -204,7 +204,7 @@ SELECT 'a.b.c.d.e'::ltree ? '{A.b.c.d.e, a.*}';
|
|||||||
SELECT '{a.b.c.d.e,B.df}'::ltree[] ? '{A.b.c.d.e}';
|
SELECT '{a.b.c.d.e,B.df}'::ltree[] ? '{A.b.c.d.e}';
|
||||||
SELECT '{a.b.c.d.e,B.df}'::ltree[] ? '{A.b.c.d.e,*.df}';
|
SELECT '{a.b.c.d.e,B.df}'::ltree[] ? '{A.b.c.d.e,*.df}';
|
||||||
|
|
||||||
--exractors
|
--extractors
|
||||||
SELECT ('{3456,1.2.3.34}'::ltree[] ?@> '1.2.3.4') is null;
|
SELECT ('{3456,1.2.3.34}'::ltree[] ?@> '1.2.3.4') is null;
|
||||||
SELECT '{3456,1.2.3}'::ltree[] ?@> '1.2.3.4';
|
SELECT '{3456,1.2.3}'::ltree[] ?@> '1.2.3.4';
|
||||||
SELECT '{3456,1.2.3.4}'::ltree[] ?<@ '1.2.3';
|
SELECT '{3456,1.2.3.4}'::ltree[] ?<@ '1.2.3';
|
||||||
|
@ -806,7 +806,7 @@ main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Once we have restored this file successfully we can remove some
|
* Once we have restored this file successfully we can remove some
|
||||||
* prior WAL files. If this restore fails we musn't remove any
|
* prior WAL files. If this restore fails we mustn't remove any
|
||||||
* file because some of them will be requested again immediately
|
* file because some of them will be requested again immediately
|
||||||
* after the failed restore, or when we restart recovery.
|
* after the failed restore, or when we restart recovery.
|
||||||
*/
|
*/
|
||||||
|
@ -311,7 +311,7 @@ pullf_read_max(PullFilter *pf, int len, uint8 **data_p, uint8 *tmpbuf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* caller wants exatly len bytes and dont bother with references
|
* caller wants exactly len bytes and don't bother with references
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
pullf_read_fixed(PullFilter *src, int len, uint8 *dst)
|
pullf_read_fixed(PullFilter *src, int len, uint8 *dst)
|
||||||
|
@ -140,7 +140,7 @@ bn_to_mpi(mpz_t *bn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Decide the number of bits in the random componont k
|
* Decide the number of bits in the random component k
|
||||||
*
|
*
|
||||||
* It should be in the same range as p for signing (which
|
* It should be in the same range as p for signing (which
|
||||||
* is deprecated), but can be much smaller for encrypting.
|
* is deprecated), but can be much smaller for encrypting.
|
||||||
@ -148,8 +148,8 @@ bn_to_mpi(mpz_t *bn)
|
|||||||
* Until I research it further, I just mimic gpg behaviour.
|
* Until I research it further, I just mimic gpg behaviour.
|
||||||
* It has a special mapping table, for values <= 5120,
|
* It has a special mapping table, for values <= 5120,
|
||||||
* above that it uses 'arbitrary high number'. Following
|
* above that it uses 'arbitrary high number'. Following
|
||||||
* algorihm hovers 10-70 bits above gpg values. And for
|
* algorithm hovers 10-70 bits above gpg values. And for
|
||||||
* larger p, it uses gpg's algorihm.
|
* larger p, it uses gpg's algorithm.
|
||||||
*
|
*
|
||||||
* The point is - if k gets large, encryption will be
|
* The point is - if k gets large, encryption will be
|
||||||
* really slow. It does not matter for decryption.
|
* really slow. It does not matter for decryption.
|
||||||
|
@ -75,7 +75,7 @@ bn_to_mpi(BIGNUM *bn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Decide the number of bits in the random componont k
|
* Decide the number of bits in the random component k
|
||||||
*
|
*
|
||||||
* It should be in the same range as p for signing (which
|
* It should be in the same range as p for signing (which
|
||||||
* is deprecated), but can be much smaller for encrypting.
|
* is deprecated), but can be much smaller for encrypting.
|
||||||
@ -83,8 +83,8 @@ bn_to_mpi(BIGNUM *bn)
|
|||||||
* Until I research it further, I just mimic gpg behaviour.
|
* Until I research it further, I just mimic gpg behaviour.
|
||||||
* It has a special mapping table, for values <= 5120,
|
* It has a special mapping table, for values <= 5120,
|
||||||
* above that it uses 'arbitrary high number'. Following
|
* above that it uses 'arbitrary high number'. Following
|
||||||
* algorihm hovers 10-70 bits above gpg values. And for
|
* algorithm hovers 10-70 bits above gpg values. And for
|
||||||
* larger p, it uses gpg's algorihm.
|
* larger p, it uses gpg's algorithm.
|
||||||
*
|
*
|
||||||
* The point is - if k gets large, encryption will be
|
* The point is - if k gets large, encryption will be
|
||||||
* really slow. It does not matter for decryption.
|
* really slow. It does not matter for decryption.
|
||||||
|
@ -904,7 +904,7 @@ restore(char *result, float val, int n)
|
|||||||
if (Abs(exp) <= 4)
|
if (Abs(exp) <= 4)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* remove the decimal point from the mantyssa and write the digits
|
* remove the decimal point from the mantissa and write the digits
|
||||||
* to the buf array
|
* to the buf array
|
||||||
*/
|
*/
|
||||||
for (p = result + sign, i = 10, dp = 0; *p != 'e'; p++, i++)
|
for (p = result + sign, i = 10, dp = 0; *p != 'e'; p++, i++)
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* When we ask SELinux whether the required privileges are allowed or not,
|
* When we ask SELinux whether the required privileges are allowed or not,
|
||||||
* we use security_compute_av(3). It needs us to represent object classes
|
* we use security_compute_av(3). It needs us to represent object classes
|
||||||
* and access vectors using 'external' codes defined in the security policy.
|
* and access vectors using 'external' codes defined in the security policy.
|
||||||
* It is determinded in the runtime, not build time. So, it needs an internal
|
* It is determined in the runtime, not build time. So, it needs an internal
|
||||||
* service to translate object class/access vectors which we want to check
|
* service to translate object class/access vectors which we want to check
|
||||||
* into the code which kernel want to be given.
|
* into the code which kernel want to be given.
|
||||||
*/
|
*/
|
||||||
|
@ -206,7 +206,7 @@ SELECT * FROM auth_tbl; -- failed
|
|||||||
SELECT sepgsql_setcon(NULL); -- end of session
|
SELECT sepgsql_setcon(NULL); -- end of session
|
||||||
SELECT sepgsql_getcon();
|
SELECT sepgsql_getcon();
|
||||||
|
|
||||||
-- the pooler cannot touch these tables directry
|
-- the pooler cannot touch these tables directly
|
||||||
SELECT * FROM foo_tbl; -- failed
|
SELECT * FROM foo_tbl; -- failed
|
||||||
|
|
||||||
SELECT * FROM var_tbl; -- failed
|
SELECT * FROM var_tbl; -- failed
|
||||||
|
@ -93,7 +93,7 @@ check_primary_key(PG_FUNCTION_ARGS)
|
|||||||
/* internal error */
|
/* internal error */
|
||||||
elog(ERROR, "check_primary_key: cannot process DELETE events");
|
elog(ERROR, "check_primary_key: cannot process DELETE events");
|
||||||
|
|
||||||
/* If UPDATion the must check new Tuple, not old one */
|
/* If UPDATE, then must check new Tuple, not old one */
|
||||||
else
|
else
|
||||||
tuple = trigdata->tg_newtuple;
|
tuple = trigdata->tg_newtuple;
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
# modified by Ray Aspeitia 12-03-2003 :
|
# modified by Ray Aspeitia 12-03-2003 :
|
||||||
# added log rotation script to db startup
|
# added log rotation script to db startup
|
||||||
# modified StartupParameters.plist "Provides" parameter to make it easier to
|
# modified StartupParameters.plist "Provides" parameter to make it easier to
|
||||||
# start and stop with the SystemStarter utitlity
|
# start and stop with the SystemStarter utility
|
||||||
|
|
||||||
# use the below command in order to correctly start/stop/restart PG with log rotation script:
|
# use the below command in order to correctly start/stop/restart PG with log rotation script:
|
||||||
# SystemStarter [start|stop|restart] PostgreSQL
|
# SystemStarter [start|stop|restart] PostgreSQL
|
||||||
|
@ -414,7 +414,7 @@ CREATE FUNCTION stat(text,text)
|
|||||||
LANGUAGE INTERNAL
|
LANGUAGE INTERNAL
|
||||||
RETURNS NULL ON NULL INPUT;
|
RETURNS NULL ON NULL INPUT;
|
||||||
|
|
||||||
--reset - just for debuging
|
--reset - just for debugging
|
||||||
CREATE FUNCTION reset_tsearch()
|
CREATE FUNCTION reset_tsearch()
|
||||||
RETURNS void
|
RETURNS void
|
||||||
as 'MODULE_PATHNAME', 'tsa_reset_tsearch'
|
as 'MODULE_PATHNAME', 'tsa_reset_tsearch'
|
||||||
|
@ -623,7 +623,7 @@ xpath_table(PG_FUNCTION_ARGS)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* At the moment we assume that the returned attributes make sense for the
|
* At the moment we assume that the returned attributes make sense for the
|
||||||
* XPath specififed (i.e. we trust the caller). It's not fatal if they get
|
* XPath specified (i.e. we trust the caller). It's not fatal if they get
|
||||||
* it wrong - the input function for the column type will raise an error
|
* it wrong - the input function for the column type will raise an error
|
||||||
* if the path result can't be converted into the correct binary
|
* if the path result can't be converted into the correct binary
|
||||||
* representation.
|
* representation.
|
||||||
|
@ -410,7 +410,7 @@ $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS)
|
|||||||
$(stlib): $(shlib) $(DLL_DEFFILE) | $(SHLIB_PREREQS)
|
$(stlib): $(shlib) $(DLL_DEFFILE) | $(SHLIB_PREREQS)
|
||||||
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(DLL_DEFFILE) --output-lib $@
|
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(DLL_DEFFILE) --output-lib $@
|
||||||
|
|
||||||
endif # PORTNAME == cgywin
|
endif # PORTNAME == cygwin
|
||||||
endif # PORTNAME == cygwin || PORTNAME == win32
|
endif # PORTNAME == cygwin || PORTNAME == win32
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ The current implementation of GiST supports:
|
|||||||
|
|
||||||
The support for concurrency implemented in PostgreSQL was developed based on
|
The support for concurrency implemented in PostgreSQL was developed based on
|
||||||
the paper "Access Methods for Next-Generation Database Systems" by
|
the paper "Access Methods for Next-Generation Database Systems" by
|
||||||
Marcel Kornaker:
|
Marcel Kornacker:
|
||||||
|
|
||||||
http://www.sai.msu.su/~megera/postgres/gist/papers/concurrency/access-methods-for-next-generation.pdf.gz
|
http://www.sai.msu.su/~megera/postgres/gist/papers/concurrency/access-methods-for-next-generation.pdf.gz
|
||||||
|
|
||||||
|
@ -675,7 +675,7 @@ createdb(const CreatedbStmt *stmt)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Force synchronous commit, thus minimizing the window between
|
* Force synchronous commit, thus minimizing the window between
|
||||||
* creation of the database files and commital of the transaction. If
|
* creation of the database files and committal of the transaction. If
|
||||||
* we crash before committing, we'll have a DB that's taking up disk
|
* we crash before committing, we'll have a DB that's taking up disk
|
||||||
* space but is not in pg_database, which is not good.
|
* space but is not in pg_database, which is not good.
|
||||||
*/
|
*/
|
||||||
@ -915,7 +915,7 @@ dropdb(const char *dbname, bool missing_ok)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Force synchronous commit, thus minimizing the window between removal of
|
* Force synchronous commit, thus minimizing the window between removal of
|
||||||
* the database files and commital of the transaction. If we crash before
|
* the database files and committal of the transaction. If we crash before
|
||||||
* committing, we'll have a DB that's gone on disk but still there
|
* committing, we'll have a DB that's gone on disk but still there
|
||||||
* according to pg_database, which is not good.
|
* according to pg_database, which is not good.
|
||||||
*/
|
*/
|
||||||
@ -1272,7 +1272,7 @@ movedb(const char *dbname, const char *tblspcname)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Force synchronous commit, thus minimizing the window between
|
* Force synchronous commit, thus minimizing the window between
|
||||||
* copying the database files and commital of the transaction. If we
|
* copying the database files and committal of the transaction. If we
|
||||||
* crash before committing, we'll leave an orphaned set of files on
|
* crash before committing, we'll leave an orphaned set of files on
|
||||||
* disk, which is not fatal but not good either.
|
* disk, which is not fatal but not good either.
|
||||||
*/
|
*/
|
||||||
|
@ -2619,7 +2619,7 @@ ExplainYAMLLineStarting(ExplainState *es)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* YAML is a superset of JSON; unfortuantely, the YAML quoting rules are
|
* YAML is a superset of JSON; unfortunately, the YAML quoting rules are
|
||||||
* ridiculously complicated -- as documented in sections 5.3 and 7.3.3 of
|
* ridiculously complicated -- as documented in sections 5.3 and 7.3.3 of
|
||||||
* http://yaml.org/spec/1.2/spec.html -- so we chose to just quote everything.
|
* http://yaml.org/spec/1.2/spec.html -- so we chose to just quote everything.
|
||||||
* Empty strings, strings with leading or trailing whitespace, and strings
|
* Empty strings, strings with leading or trailing whitespace, and strings
|
||||||
|
@ -1317,7 +1317,7 @@ CreateCast(CreateCastStmt *stmt)
|
|||||||
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||||
errmsg("cast will be ignored because the target data type is a domain")));
|
errmsg("cast will be ignored because the target data type is a domain")));
|
||||||
|
|
||||||
/* Detemine the cast method */
|
/* Determine the cast method */
|
||||||
if (stmt->func != NULL)
|
if (stmt->func != NULL)
|
||||||
castmethod = COERCION_METHOD_FUNCTION;
|
castmethod = COERCION_METHOD_FUNCTION;
|
||||||
else if (stmt->inout)
|
else if (stmt->inout)
|
||||||
|
@ -96,7 +96,7 @@ static void RangeVarCallbackForReindexIndex(const RangeVar *relation,
|
|||||||
* Errors arising from the attribute list still apply.
|
* Errors arising from the attribute list still apply.
|
||||||
*
|
*
|
||||||
* Most column type changes that can skip a table rewrite do not invalidate
|
* Most column type changes that can skip a table rewrite do not invalidate
|
||||||
* indexes. We ackowledge this when all operator classes, collations and
|
* indexes. We acknowledge this when all operator classes, collations and
|
||||||
* exclusion operators match. Though we could further permit intra-opfamily
|
* exclusion operators match. Though we could further permit intra-opfamily
|
||||||
* changes for btree and hash indexes, that adds subtle complexity with no
|
* changes for btree and hash indexes, that adds subtle complexity with no
|
||||||
* concrete benefit for core types.
|
* concrete benefit for core types.
|
||||||
@ -920,7 +920,7 @@ CheckMutability(Expr *expr)
|
|||||||
* indxpath.c could do something with. However, that seems overly
|
* indxpath.c could do something with. However, that seems overly
|
||||||
* restrictive. One useful application of partial indexes is to apply
|
* restrictive. One useful application of partial indexes is to apply
|
||||||
* a UNIQUE constraint across a subset of a table, and in that scenario
|
* a UNIQUE constraint across a subset of a table, and in that scenario
|
||||||
* any evaluatable predicate will work. So accept any predicate here
|
* any evaluable predicate will work. So accept any predicate here
|
||||||
* (except ones requiring a plan), and let indxpath.c fend for itself.
|
* (except ones requiring a plan), and let indxpath.c fend for itself.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
|
@ -5734,7 +5734,7 @@ ATAddCheckConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if ONLY was specified with ALTER TABLE. If so, allow the
|
* Check if ONLY was specified with ALTER TABLE. If so, allow the
|
||||||
* contraint creation only if there are no children currently. Error out
|
* constraint creation only if there are no children currently. Error out
|
||||||
* otherwise.
|
* otherwise.
|
||||||
*/
|
*/
|
||||||
if (!recurse && children != NIL)
|
if (!recurse && children != NIL)
|
||||||
|
@ -87,7 +87,7 @@ static MemoryContext parsed_hba_context = NULL;
|
|||||||
*
|
*
|
||||||
* NOTE: the IdentLine structs can contain pre-compiled regular expressions
|
* NOTE: the IdentLine structs can contain pre-compiled regular expressions
|
||||||
* that live outside the memory context. Before destroying or resetting the
|
* that live outside the memory context. Before destroying or resetting the
|
||||||
* memory context, they need to be expliticly free'd.
|
* memory context, they need to be explicitly free'd.
|
||||||
*/
|
*/
|
||||||
static List *parsed_ident_lines = NIL;
|
static List *parsed_ident_lines = NIL;
|
||||||
static MemoryContext parsed_ident_context = NULL;
|
static MemoryContext parsed_ident_context = NULL;
|
||||||
|
@ -111,7 +111,7 @@ gimme_edge_table(PlannerInfo *root, Gene *tour1, Gene *tour2,
|
|||||||
for (index1 = 0; index1 < num_gene; index1++)
|
for (index1 = 0; index1 < num_gene; index1++)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* presume the tour is circular, i.e. 1->2, 2->3, 3->1 this operaton
|
* presume the tour is circular, i.e. 1->2, 2->3, 3->1 this operation
|
||||||
* maps n back to 1
|
* maps n back to 1
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -314,7 +314,7 @@ gimme_gene(PlannerInfo *root, Edge edge, Edge *edge_table)
|
|||||||
/*
|
/*
|
||||||
* give priority to candidates with fewest remaining unused edges;
|
* give priority to candidates with fewest remaining unused edges;
|
||||||
* find out what the minimum number of unused edges is
|
* find out what the minimum number of unused edges is
|
||||||
* (minimum_edges); if there is more than one cadidate with the
|
* (minimum_edges); if there is more than one candidate with the
|
||||||
* minimum number of unused edges keep count of this number
|
* minimum number of unused edges keep count of this number
|
||||||
* (minimum_count);
|
* (minimum_count);
|
||||||
*/
|
*/
|
||||||
|
@ -1377,7 +1377,7 @@ select_mergejoin_clauses(PlannerInfo *root,
|
|||||||
/*
|
/*
|
||||||
* Insist that each side have a non-redundant eclass. This
|
* Insist that each side have a non-redundant eclass. This
|
||||||
* restriction is needed because various bits of the planner expect
|
* restriction is needed because various bits of the planner expect
|
||||||
* that each clause in a merge be associatable with some pathkey in a
|
* that each clause in a merge be associable with some pathkey in a
|
||||||
* canonical pathkey list, but redundant eclasses can't appear in
|
* canonical pathkey list, but redundant eclasses can't appear in
|
||||||
* canonical sort orderings. (XXX it might be worth relaxing this,
|
* canonical sort orderings. (XXX it might be worth relaxing this,
|
||||||
* but not enough time to address it for 8.3.)
|
* but not enough time to address it for 8.3.)
|
||||||
|
@ -215,7 +215,7 @@ query_planner(PlannerInfo *root, List *tlist,
|
|||||||
/*
|
/*
|
||||||
* Now distribute "placeholders" to base rels as needed. This has to be
|
* Now distribute "placeholders" to base rels as needed. This has to be
|
||||||
* done after join removal because removal could change whether a
|
* done after join removal because removal could change whether a
|
||||||
* placeholder is evaluatable at a base rel.
|
* placeholder is evaluable at a base rel.
|
||||||
*/
|
*/
|
||||||
add_placeholders_to_base_rels(root);
|
add_placeholders_to_base_rels(root);
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
* Detect whether there is a joinclause that involves
|
* Detect whether there is a joinclause that involves
|
||||||
* the two given relations.
|
* the two given relations.
|
||||||
*
|
*
|
||||||
* Note: the joinclause does not have to be evaluatable with only these two
|
* Note: the joinclause does not have to be evaluable with only these two
|
||||||
* relations. This is intentional. For example consider
|
* relations. This is intentional. For example consider
|
||||||
* SELECT * FROM a, b, c WHERE a.x = (b.y + c.z)
|
* SELECT * FROM a, b, c WHERE a.x = (b.y + c.z)
|
||||||
* If a is much larger than the other tables, it may be worthwhile to
|
* If a is much larger than the other tables, it may be worthwhile to
|
||||||
|
@ -737,7 +737,7 @@ join_clause_is_movable_into(RestrictInfo *rinfo,
|
|||||||
Relids currentrelids,
|
Relids currentrelids,
|
||||||
Relids current_and_outer)
|
Relids current_and_outer)
|
||||||
{
|
{
|
||||||
/* Clause must be evaluatable given available context */
|
/* Clause must be evaluable given available context */
|
||||||
if (!bms_is_subset(rinfo->clause_relids, current_and_outer))
|
if (!bms_is_subset(rinfo->clause_relids, current_and_outer))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -9649,7 +9649,7 @@ table_ref: relation_expr opt_alias_clause
|
|||||||
n->lateral = true;
|
n->lateral = true;
|
||||||
n->subquery = $2;
|
n->subquery = $2;
|
||||||
n->alias = $3;
|
n->alias = $3;
|
||||||
/* same coment as above */
|
/* same comment as above */
|
||||||
if ($3 == NULL)
|
if ($3 == NULL)
|
||||||
{
|
{
|
||||||
if (IsA($2, SelectStmt) &&
|
if (IsA($2, SelectStmt) &&
|
||||||
|
@ -5052,7 +5052,7 @@ CountUnconnectedWorkers(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Count up number of child processes of specified types (dead_end chidren
|
* Count up number of child processes of specified types (dead_end children
|
||||||
* are always excluded).
|
* are always excluded).
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
|
@ -2701,7 +2701,7 @@ GetLockConflicts(const LOCKTAG *locktag, LOCKMODE lockmode)
|
|||||||
vxids = (VirtualTransactionId *)
|
vxids = (VirtualTransactionId *)
|
||||||
palloc0(sizeof(VirtualTransactionId) * (MaxBackends + 1));
|
palloc0(sizeof(VirtualTransactionId) * (MaxBackends + 1));
|
||||||
|
|
||||||
/* Compute hash code and partiton lock, and look up conflicting modes. */
|
/* Compute hash code and partition lock, and look up conflicting modes. */
|
||||||
hashcode = LockTagHashCode(locktag);
|
hashcode = LockTagHashCode(locktag);
|
||||||
partitionLock = LockHashPartitionLock(hashcode);
|
partitionLock = LockHashPartitionLock(hashcode);
|
||||||
conflictMask = lockMethodTable->conflictTab[lockmode];
|
conflictMask = lockMethodTable->conflictTab[lockmode];
|
||||||
|
@ -3195,7 +3195,7 @@ ReleasePredicateLocks(bool isCommit)
|
|||||||
/*
|
/*
|
||||||
* We can't trust XactReadOnly here, because a transaction which started
|
* We can't trust XactReadOnly here, because a transaction which started
|
||||||
* as READ WRITE can show as READ ONLY later, e.g., within
|
* as READ WRITE can show as READ ONLY later, e.g., within
|
||||||
* substransactions. We want to flag a transaction as READ ONLY if it
|
* subtransactions. We want to flag a transaction as READ ONLY if it
|
||||||
* commits without writing so that de facto READ ONLY transactions get the
|
* commits without writing so that de facto READ ONLY transactions get the
|
||||||
* benefit of some RO optimizations, so we will use this local variable to
|
* benefit of some RO optimizations, so we will use this local variable to
|
||||||
* get some cleanup logic right which is based on whether the transaction
|
* get some cleanup logic right which is based on whether the transaction
|
||||||
|
@ -179,7 +179,7 @@ LexizeExec(LexizeData *ld, ParsedLex **correspondLexem)
|
|||||||
if (ld->curDictId == InvalidOid)
|
if (ld->curDictId == InvalidOid)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* usial mode: dictionary wants only one word, but we should keep in
|
* usual mode: dictionary wants only one word, but we should keep in
|
||||||
* mind that we should go through all stack
|
* mind that we should go through all stack
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -272,7 +272,7 @@ LexizeExec(LexizeData *ld, ParsedLex **correspondLexem)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* We should be sure that current type of lexeme is recognized
|
* We should be sure that current type of lexeme is recognized
|
||||||
* by our dictinonary: we just check is it exist in list of
|
* by our dictionary: we just check is it exist in list of
|
||||||
* dictionaries ?
|
* dictionaries ?
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < map->len && !dictExists; i++)
|
for (i = 0; i < map->len && !dictExists; i++)
|
||||||
@ -618,7 +618,7 @@ generateHeadline(HeadlineParsedText *prs)
|
|||||||
/* start of a new fragment */
|
/* start of a new fragment */
|
||||||
infrag = 1;
|
infrag = 1;
|
||||||
numfragments++;
|
numfragments++;
|
||||||
/* add a fragment delimitor if this is after the first one */
|
/* add a fragment delimiter if this is after the first one */
|
||||||
if (numfragments > 1)
|
if (numfragments > 1)
|
||||||
{
|
{
|
||||||
memcpy(ptr, prs->fragdelim, prs->fragdelimlen);
|
memcpy(ptr, prs->fragdelim, prs->fragdelimlen);
|
||||||
|
@ -2419,7 +2419,7 @@ mark_hl_words(HeadlineParsedText *prs, TSQuery query, int highlight,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (curlen < min_words && i >= prs->curwords)
|
if (curlen < min_words && i >= prs->curwords)
|
||||||
{ /* got end of text and our cover is shoter
|
{ /* got end of text and our cover is shorter
|
||||||
* than min_words */
|
* than min_words */
|
||||||
for (i = p - 1; i >= 0; i--)
|
for (i = p - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
|
@ -2283,7 +2283,7 @@ seq_search(char *name, char **array, int type, int max, int *len)
|
|||||||
|
|
||||||
for (last = 0, a = array; *a != NULL; a++)
|
for (last = 0, a = array; *a != NULL; a++)
|
||||||
{
|
{
|
||||||
/* comperate first chars */
|
/* compare first chars */
|
||||||
if (*name != **a)
|
if (*name != **a)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -533,7 +533,7 @@ calc_hist_selectivity(TypeCacheEntry *typcache, VariableStatData *vardata,
|
|||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Lower bound no longer matters. Just estimate the fraction
|
* Lower bound no longer matters. Just estimate the fraction
|
||||||
* with an upper bound <= const uppert bound
|
* with an upper bound <= const upper bound
|
||||||
*/
|
*/
|
||||||
hist_selec =
|
hist_selec =
|
||||||
calc_hist_selectivity_scalar(typcache, &const_upper,
|
calc_hist_selectivity_scalar(typcache, &const_upper,
|
||||||
|
@ -777,7 +777,7 @@ calc_rank_cd(float4 *arrdata, TSVector txt, TSQuery query, int method)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* if doc are big enough then ext.q may be equal to ext.p due to limit
|
* if doc are big enough then ext.q may be equal to ext.p due to limit
|
||||||
* of posional information. In this case we approximate number of
|
* of positional information. In this case we approximate number of
|
||||||
* noise word as half cover's length
|
* noise word as half cover's length
|
||||||
*/
|
*/
|
||||||
nNoise = (ext.q - ext.p) - (ext.end - ext.begin);
|
nNoise = (ext.q - ext.p) - (ext.end - ext.begin);
|
||||||
@ -786,7 +786,7 @@ calc_rank_cd(float4 *arrdata, TSVector txt, TSQuery query, int method)
|
|||||||
Wdoc += Cpos / ((double) (1 + nNoise));
|
Wdoc += Cpos / ((double) (1 + nNoise));
|
||||||
|
|
||||||
CurExtPos = ((double) (ext.q + ext.p)) / 2.0;
|
CurExtPos = ((double) (ext.q + ext.p)) / 2.0;
|
||||||
if (NExtent > 0 && CurExtPos > PrevExtPos /* prevent devision by
|
if (NExtent > 0 && CurExtPos > PrevExtPos /* prevent division by
|
||||||
* zero in a case of
|
* zero in a case of
|
||||||
multiple lexize */ )
|
multiple lexize */ )
|
||||||
SumDist += 1.0 / (CurExtPos - PrevExtPos);
|
SumDist += 1.0 / (CurExtPos - PrevExtPos);
|
||||||
|
@ -342,7 +342,7 @@ window_lag(PG_FUNCTION_ARGS)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* lag_with_offset
|
* lag_with_offset
|
||||||
* returns the value of VE evelulated on a row that is OFFSET
|
* returns the value of VE evaluated on a row that is OFFSET
|
||||||
* rows before the current row within a partition,
|
* rows before the current row within a partition,
|
||||||
* per spec.
|
* per spec.
|
||||||
*/
|
*/
|
||||||
|
@ -18,7 +18,7 @@ OBJS = guc.o help_config.o pg_rusage.o ps_status.o rbtree.o \
|
|||||||
superuser.o timeout.o tzparser.o
|
superuser.o timeout.o tzparser.o
|
||||||
|
|
||||||
# This location might depend on the installation directories. Therefore
|
# This location might depend on the installation directories. Therefore
|
||||||
# we can't subsitute it into pg_config.h.
|
# we can't substitute it into pg_config.h.
|
||||||
ifdef krb_srvtab
|
ifdef krb_srvtab
|
||||||
override CPPFLAGS += -DPG_KRB_SRVTAB='"$(krb_srvtab)"'
|
override CPPFLAGS += -DPG_KRB_SRVTAB='"$(krb_srvtab)"'
|
||||||
endif
|
endif
|
||||||
|
@ -202,7 +202,7 @@ InitArchiveFmt_Custom(ArchiveHandle *AH)
|
|||||||
*
|
*
|
||||||
* Optional.
|
* Optional.
|
||||||
*
|
*
|
||||||
* Set up extrac format-related TOC data.
|
* Set up extract format-related TOC data.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
_ArchiveEntry(ArchiveHandle *AH, TocEntry *te)
|
_ArchiveEntry(ArchiveHandle *AH, TocEntry *te)
|
||||||
|
@ -598,7 +598,7 @@ StoreQueryTuple(const PGresult *result)
|
|||||||
char *varname;
|
char *varname;
|
||||||
char *value;
|
char *value;
|
||||||
|
|
||||||
/* concate prefix and column name */
|
/* concatenate prefix and column name */
|
||||||
varname = pg_malloc(strlen(pset.gset_prefix) + strlen(colname) + 1);
|
varname = pg_malloc(strlen(pset.gset_prefix) + strlen(colname) + 1);
|
||||||
strcpy(varname, pset.gset_prefix);
|
strcpy(varname, pset.gset_prefix);
|
||||||
strcat(varname, colname);
|
strcat(varname, colname);
|
||||||
|
@ -1818,7 +1818,7 @@ describeOneTableDetails(const char *schemaname,
|
|||||||
printTableAddFooter(&cont, _("Check constraints:"));
|
printTableAddFooter(&cont, _("Check constraints:"));
|
||||||
for (i = 0; i < tuples; i++)
|
for (i = 0; i < tuples; i++)
|
||||||
{
|
{
|
||||||
/* untranslated contraint name and def */
|
/* untranslated constraint name and def */
|
||||||
printfPQExpBuffer(&buf, " \"%s\" %s",
|
printfPQExpBuffer(&buf, " \"%s\" %s",
|
||||||
PQgetvalue(result, i, 0),
|
PQgetvalue(result, i, 0),
|
||||||
PQgetvalue(result, i, 1));
|
PQgetvalue(result, i, 1));
|
||||||
@ -2692,7 +2692,7 @@ listTables(const char *tabtypes, const char *pattern, bool verbose, bool showSys
|
|||||||
if (verbose)
|
if (verbose)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* As of PostgreSQL 9.0, use pg_table_size() to show a more acurate
|
* As of PostgreSQL 9.0, use pg_table_size() to show a more accurate
|
||||||
* size of a table, including FSM, VM and TOAST tables.
|
* size of a table, including FSM, VM and TOAST tables.
|
||||||
*/
|
*/
|
||||||
if (pset.sversion >= 90000)
|
if (pset.sversion >= 90000)
|
||||||
|
@ -60,7 +60,7 @@ typedef enum
|
|||||||
SYNCHRONOUS_COMMIT_REMOTE_FLUSH /* wait for local and remote flush */
|
SYNCHRONOUS_COMMIT_REMOTE_FLUSH /* wait for local and remote flush */
|
||||||
} SyncCommitLevel;
|
} SyncCommitLevel;
|
||||||
|
|
||||||
/* Define the default setting for synchonous_commit */
|
/* Define the default setting for synchronous_commit */
|
||||||
#define SYNCHRONOUS_COMMIT_ON SYNCHRONOUS_COMMIT_REMOTE_FLUSH
|
#define SYNCHRONOUS_COMMIT_ON SYNCHRONOUS_COMMIT_REMOTE_FLUSH
|
||||||
|
|
||||||
/* Synchronous commit level */
|
/* Synchronous commit level */
|
||||||
|
@ -881,7 +881,7 @@ typedef NameData *Name;
|
|||||||
/* gettext domain name mangling */
|
/* gettext domain name mangling */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To better support parallel installations of major PostgeSQL
|
* To better support parallel installations of major PostgreSQL
|
||||||
* versions as well as parallel installations of major library soname
|
* versions as well as parallel installations of major library soname
|
||||||
* versions, we mangle the gettext domain name by appending those
|
* versions, we mangle the gettext domain name by appending those
|
||||||
* version numbers. The coding rule ought to be that whereever the
|
* version numbers. The coding rule ought to be that whereever the
|
||||||
|
@ -992,7 +992,7 @@ typedef LONG slock_t;
|
|||||||
#define SPIN_DELAY() spin_delay()
|
#define SPIN_DELAY() spin_delay()
|
||||||
|
|
||||||
/* If using Visual C++ on Win64, inline assembly is unavailable.
|
/* If using Visual C++ on Win64, inline assembly is unavailable.
|
||||||
* Use a _mm_pause instrinsic instead of rep nop.
|
* Use a _mm_pause intrinsic instead of rep nop.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
static __forceinline void
|
static __forceinline void
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/* src/interfaces/ecpg/ecpglib/execute.c */
|
/* src/interfaces/ecpg/ecpglib/execute.c */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The aim is to get a simpler inteface to the database routines.
|
* The aim is to get a simpler interface to the database routines.
|
||||||
* All the tidieous messing around with tuples is supposed to be hidden
|
* All the tedious messing around with tuples is supposed to be hidden
|
||||||
* by this function.
|
* by this function.
|
||||||
*/
|
*/
|
||||||
/* Author: Linus Tolke
|
/* Author: Linus Tolke
|
||||||
|
@ -323,8 +323,8 @@ PGTYPESdate_fmt_asc(date dDate, const char *fmtstring, char *outbuf)
|
|||||||
* PGTYPESdate_defmt_asc
|
* PGTYPESdate_defmt_asc
|
||||||
*
|
*
|
||||||
* function works as follows:
|
* function works as follows:
|
||||||
* - first we analyze the paramters
|
* - first we analyze the parameters
|
||||||
* - if this is a special case with no delimiters, add delimters
|
* - if this is a special case with no delimiters, add delimiters
|
||||||
* - find the tokens. First we look for numerical values. If we have found
|
* - find the tokens. First we look for numerical values. If we have found
|
||||||
* less than 3 tokens, we check for the months' names and thereafter for
|
* less than 3 tokens, we check for the months' names and thereafter for
|
||||||
* the abbreviations of the months' names.
|
* the abbreviations of the months' names.
|
||||||
|
@ -1368,11 +1368,11 @@ PGTYPESnumeric_cmp(numeric *var1, numeric *var2)
|
|||||||
{
|
{
|
||||||
/* use cmp_abs function to calculate the result */
|
/* use cmp_abs function to calculate the result */
|
||||||
|
|
||||||
/* both are positive: normal comparation with cmp_abs */
|
/* both are positive: normal comparison with cmp_abs */
|
||||||
if (var1->sign == NUMERIC_POS && var2->sign == NUMERIC_POS)
|
if (var1->sign == NUMERIC_POS && var2->sign == NUMERIC_POS)
|
||||||
return cmp_abs(var1, var2);
|
return cmp_abs(var1, var2);
|
||||||
|
|
||||||
/* both are negative: return the inverse of the normal comparation */
|
/* both are negative: return the inverse of the normal comparison */
|
||||||
if (var1->sign == NUMERIC_NEG && var2->sign == NUMERIC_NEG)
|
if (var1->sign == NUMERIC_NEG && var2->sign == NUMERIC_NEG)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -190,7 +190,7 @@ create_questionmarks(char *name, bool array)
|
|||||||
|
|
||||||
/* In case we have a struct, we have to print as many "?" as there are attributes in the struct
|
/* In case we have a struct, we have to print as many "?" as there are attributes in the struct
|
||||||
* An array is only allowed together with an element argument
|
* An array is only allowed together with an element argument
|
||||||
* This is essantially only used for inserts, but using a struct as input parameter is an error anywhere else
|
* This is essentially only used for inserts, but using a struct as input parameter is an error anywhere else
|
||||||
* so we don't have to worry here. */
|
* so we don't have to worry here. */
|
||||||
|
|
||||||
if (p->type->type == ECPGt_struct || (array && p->type->type == ECPGt_array && p->type->u.element->type == ECPGt_struct))
|
if (p->type->type == ECPGt_struct || (array && p->type->type == ECPGt_array && p->type->u.element->type == ECPGt_struct))
|
||||||
|
@ -355,7 +355,7 @@ ECPGExecuteImmediateStmt: EXECUTE IMMEDIATE execstring
|
|||||||
$$ = $3;
|
$$ = $3;
|
||||||
};
|
};
|
||||||
/*
|
/*
|
||||||
* variable decalartion outside exec sql declare block
|
* variable declaration outside exec sql declare block
|
||||||
*/
|
*/
|
||||||
ECPGVarDeclaration: single_vt_declaration;
|
ECPGVarDeclaration: single_vt_declaration;
|
||||||
|
|
||||||
@ -707,7 +707,7 @@ struct_union_type_with_symbol: s_struct_union_symbol
|
|||||||
free(forward_name);
|
free(forward_name);
|
||||||
forward_name = NULL;
|
forward_name = NULL;
|
||||||
|
|
||||||
/* This is essantially a typedef but needs the keyword struct/union as well.
|
/* This is essentially a typedef but needs the keyword struct/union as well.
|
||||||
* So we create the typedef for each struct definition with symbol */
|
* So we create the typedef for each struct definition with symbol */
|
||||||
for (ptr = types; ptr != NULL; ptr = ptr->next)
|
for (ptr = types; ptr != NULL; ptr = ptr->next)
|
||||||
{
|
{
|
||||||
@ -1275,7 +1275,7 @@ descriptor_item: SQL_CARDINALITY { $$ = ECPGd_cardinality; }
|
|||||||
;
|
;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* set/reset the automatic transaction mode, this needs a differnet handling
|
* set/reset the automatic transaction mode, this needs a different handling
|
||||||
* as the other set commands
|
* as the other set commands
|
||||||
*/
|
*/
|
||||||
ECPGSetAutocommit: SET SQL_AUTOCOMMIT '=' on_off { $$ = $4; }
|
ECPGSetAutocommit: SET SQL_AUTOCOMMIT '=' on_off { $$ = $4; }
|
||||||
@ -1287,7 +1287,7 @@ on_off: ON { $$ = mm_strdup("on"); }
|
|||||||
;
|
;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* set the actual connection, this needs a differnet handling as the other
|
* set the actual connection, this needs a different handling as the other
|
||||||
* set commands
|
* set commands
|
||||||
*/
|
*/
|
||||||
ECPGSetConnection: SET CONNECTION TO connection_object { $$ = $4; }
|
ECPGSetConnection: SET CONNECTION TO connection_object { $$ = $4; }
|
||||||
|
@ -546,7 +546,7 @@ sub dump_fields
|
|||||||
if ($len == 1)
|
if ($len == 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
# Straight assignement
|
# Straight assignment
|
||||||
$str = ' $$ = ' . $flds_new[0] . ';';
|
$str = ' $$ = ' . $flds_new[0] . ';';
|
||||||
add_to_buffer('rules', $str);
|
add_to_buffer('rules', $str);
|
||||||
}
|
}
|
||||||
|
@ -1028,7 +1028,7 @@ pg_fe_getauthname(PQExpBuffer errorMessage)
|
|||||||
* be sent in cleartext if it is encrypted on the client side. This is
|
* be sent in cleartext if it is encrypted on the client side. This is
|
||||||
* good because it ensures the cleartext password won't end up in logs,
|
* good because it ensures the cleartext password won't end up in logs,
|
||||||
* pg_stat displays, etc. We export the function so that clients won't
|
* pg_stat displays, etc. We export the function so that clients won't
|
||||||
* be dependent on low-level details like whether the enceyption is MD5
|
* be dependent on low-level details like whether the encryption is MD5
|
||||||
* or something else.
|
* or something else.
|
||||||
*
|
*
|
||||||
* Arguments are the cleartext password, and the SQL name of the user it
|
* Arguments are the cleartext password, and the SQL name of the user it
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "win32.h"
|
#include "win32.h"
|
||||||
|
|
||||||
/* Declared here to avoid pulling in all includes, which causes name collissions */
|
/* Declared here to avoid pulling in all includes, which causes name collisions */
|
||||||
#ifdef ENABLE_NLS
|
#ifdef ENABLE_NLS
|
||||||
extern char *
|
extern char *
|
||||||
libpq_gettext(const char *msgid)
|
libpq_gettext(const char *msgid)
|
||||||
|
@ -79,7 +79,7 @@ to be installed on your system.
|
|||||||
If this option is given, a copy of each file will be saved with
|
If this option is given, a copy of each file will be saved with
|
||||||
the given suffix that contains the suggested changes. This does
|
the given suffix that contains the suggested changes. This does
|
||||||
not require any external programs. Note that this does not
|
not require any external programs. Note that this does not
|
||||||
automagially add a dot between the original filename and the
|
automagically add a dot between the original filename and the
|
||||||
suffix. If you want the dot, you have to include it in the option
|
suffix. If you want the dot, you have to include it in the option
|
||||||
argument.
|
argument.
|
||||||
|
|
||||||
@ -4364,9 +4364,9 @@ DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args)
|
|||||||
|
|
||||||
OP * const modname = newSVOP(OP_CONST, 0, name);
|
OP * const modname = newSVOP(OP_CONST, 0, name);
|
||||||
/* 5.005 has a somewhat hacky force_normal that doesn't croak on
|
/* 5.005 has a somewhat hacky force_normal that doesn't croak on
|
||||||
SvREADONLY() if PL_compling is true. Current perls take care in
|
SvREADONLY() if PL_compiling is true. Current perls take care in
|
||||||
ck_require() to correctly turn off SvREADONLY before calling
|
ck_require() to correctly turn off SvREADONLY before calling
|
||||||
force_normal_flags(). This seems a better fix than fudging PL_compling
|
force_normal_flags(). This seems a better fix than fudging PL_compiling
|
||||||
*/
|
*/
|
||||||
SvREADONLY_off(((SVOP*)modname)->op_sv);
|
SvREADONLY_off(((SVOP*)modname)->op_sv);
|
||||||
modname->op_private |= OPpCONST_BARE;
|
modname->op_private |= OPpCONST_BARE;
|
||||||
|
@ -274,7 +274,7 @@ PLy_traceback(PyObject *e, PyObject *v, PyObject *tb,
|
|||||||
long plain_lineno;
|
long plain_lineno;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The second frame points at the internal function, but to mimick
|
* The second frame points at the internal function, but to mimic
|
||||||
* Python error reporting we want to say <module>.
|
* Python error reporting we want to say <module>.
|
||||||
*/
|
*/
|
||||||
if (*tb_depth == 1)
|
if (*tb_depth == 1)
|
||||||
|
@ -69,7 +69,7 @@ typedef union PLyTypeOutput
|
|||||||
PLyObToTuple r;
|
PLyObToTuple r;
|
||||||
} PLyTypeOutput;
|
} PLyTypeOutput;
|
||||||
|
|
||||||
/* all we need to move Postgresql data to Python objects,
|
/* all we need to move PostgreSQL data to Python objects,
|
||||||
* and vice versa
|
* and vice versa
|
||||||
*/
|
*/
|
||||||
typedef struct PLyTypeInfo
|
typedef struct PLyTypeInfo
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
# be changed and a report of the closed day's receipts subsequently
|
# be changed and a report of the closed day's receipts subsequently
|
||||||
# run which will miss a receipt from the date which has been closed.
|
# run which will miss a receipt from the date which has been closed.
|
||||||
#
|
#
|
||||||
# There are only six permuations which must cause a serialization failure.
|
# There are only six permutations which must cause a serialization failure.
|
||||||
# Failure cases are where s1 overlaps both s2 and s3, but s2 commits before
|
# Failure cases are where s1 overlaps both s2 and s3, but s2 commits before
|
||||||
# s3 executes its first SELECT.
|
# s3 executes its first SELECT.
|
||||||
#
|
#
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Small, simple test showing read-only anomalies.
|
# Small, simple test showing read-only anomalies.
|
||||||
#
|
#
|
||||||
# There are only four permuations which must cause a serialization failure.
|
# There are only four permutations which must cause a serialization failure.
|
||||||
# Required failure cases are where s2 overlaps both s1 and s3, but s1
|
# Required failure cases are where s2 overlaps both s1 and s3, but s1
|
||||||
# commits before s3 executes its first SELECT.
|
# commits before s3 executes its first SELECT.
|
||||||
#
|
#
|
||||||
|
@ -308,7 +308,7 @@ INSERT INTO tmp3 values (5,50);
|
|||||||
-- Try (and fail) to add constraint due to invalid source columns
|
-- Try (and fail) to add constraint due to invalid source columns
|
||||||
ALTER TABLE tmp3 add constraint tmpconstr foreign key(c) references tmp2 match full;
|
ALTER TABLE tmp3 add constraint tmpconstr foreign key(c) references tmp2 match full;
|
||||||
ERROR: column "c" referenced in foreign key constraint does not exist
|
ERROR: column "c" referenced in foreign key constraint does not exist
|
||||||
-- Try (and fail) to add constraint due to invalide destination columns explicitly given
|
-- Try (and fail) to add constraint due to invalid destination columns explicitly given
|
||||||
ALTER TABLE tmp3 add constraint tmpconstr foreign key(a) references tmp2(b) match full;
|
ALTER TABLE tmp3 add constraint tmpconstr foreign key(a) references tmp2(b) match full;
|
||||||
ERROR: column "b" referenced in foreign key constraint does not exist
|
ERROR: column "b" referenced in foreign key constraint does not exist
|
||||||
-- Try (and fail) to add constraint due to invalid data
|
-- Try (and fail) to add constraint due to invalid data
|
||||||
|
@ -1423,7 +1423,7 @@ select * from WSlot order by slotname;
|
|||||||
|
|
||||||
--
|
--
|
||||||
-- Install the central phone system and create the phone numbers.
|
-- Install the central phone system and create the phone numbers.
|
||||||
-- They are weired on insert to the patchfields. Again the
|
-- They are wired on insert to the patchfields. Again the
|
||||||
-- triggers automatically tell the PSlots to update their
|
-- triggers automatically tell the PSlots to update their
|
||||||
-- backlink field.
|
-- backlink field.
|
||||||
--
|
--
|
||||||
|
@ -938,7 +938,7 @@ CREATE TABLE shoe_data (
|
|||||||
shoename char(10), -- primary key
|
shoename char(10), -- primary key
|
||||||
sh_avail integer, -- available # of pairs
|
sh_avail integer, -- available # of pairs
|
||||||
slcolor char(10), -- preferred shoelace color
|
slcolor char(10), -- preferred shoelace color
|
||||||
slminlen float, -- miminum shoelace length
|
slminlen float, -- minimum shoelace length
|
||||||
slmaxlen float, -- maximum shoelace length
|
slmaxlen float, -- maximum shoelace length
|
||||||
slunit char(8) -- length unit
|
slunit char(8) -- length unit
|
||||||
);
|
);
|
||||||
|
@ -191,7 +191,7 @@ SELECT ts_lexize('hunspell', 'footballyklubber');
|
|||||||
{foot,ball,klubber}
|
{foot,ball,klubber}
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
-- Synonim dictionary
|
-- Synonym dictionary
|
||||||
CREATE TEXT SEARCH DICTIONARY synonym (
|
CREATE TEXT SEARCH DICTIONARY synonym (
|
||||||
Template=synonym,
|
Template=synonym,
|
||||||
Synonyms=synonym_sample
|
Synonyms=synonym_sample
|
||||||
|
@ -254,7 +254,7 @@ INSERT INTO tmp3 values (5,50);
|
|||||||
-- Try (and fail) to add constraint due to invalid source columns
|
-- Try (and fail) to add constraint due to invalid source columns
|
||||||
ALTER TABLE tmp3 add constraint tmpconstr foreign key(c) references tmp2 match full;
|
ALTER TABLE tmp3 add constraint tmpconstr foreign key(c) references tmp2 match full;
|
||||||
|
|
||||||
-- Try (and fail) to add constraint due to invalide destination columns explicitly given
|
-- Try (and fail) to add constraint due to invalid destination columns explicitly given
|
||||||
ALTER TABLE tmp3 add constraint tmpconstr foreign key(a) references tmp2(b) match full;
|
ALTER TABLE tmp3 add constraint tmpconstr foreign key(a) references tmp2(b) match full;
|
||||||
|
|
||||||
-- Try (and fail) to add constraint due to invalid data
|
-- Try (and fail) to add constraint due to invalid data
|
||||||
|
@ -1350,7 +1350,7 @@ select * from WSlot order by slotname;
|
|||||||
|
|
||||||
--
|
--
|
||||||
-- Install the central phone system and create the phone numbers.
|
-- Install the central phone system and create the phone numbers.
|
||||||
-- They are weired on insert to the patchfields. Again the
|
-- They are wired on insert to the patchfields. Again the
|
||||||
-- triggers automatically tell the PSlots to update their
|
-- triggers automatically tell the PSlots to update their
|
||||||
-- backlink field.
|
-- backlink field.
|
||||||
--
|
--
|
||||||
|
@ -522,7 +522,7 @@ CREATE TABLE shoe_data (
|
|||||||
shoename char(10), -- primary key
|
shoename char(10), -- primary key
|
||||||
sh_avail integer, -- available # of pairs
|
sh_avail integer, -- available # of pairs
|
||||||
slcolor char(10), -- preferred shoelace color
|
slcolor char(10), -- preferred shoelace color
|
||||||
slminlen float, -- miminum shoelace length
|
slminlen float, -- minimum shoelace length
|
||||||
slmaxlen float, -- maximum shoelace length
|
slmaxlen float, -- maximum shoelace length
|
||||||
slunit char(8) -- length unit
|
slunit char(8) -- length unit
|
||||||
);
|
);
|
||||||
|
@ -48,7 +48,7 @@ SELECT ts_lexize('hunspell', 'footballklubber');
|
|||||||
SELECT ts_lexize('hunspell', 'ballyklubber');
|
SELECT ts_lexize('hunspell', 'ballyklubber');
|
||||||
SELECT ts_lexize('hunspell', 'footballyklubber');
|
SELECT ts_lexize('hunspell', 'footballyklubber');
|
||||||
|
|
||||||
-- Synonim dictionary
|
-- Synonym dictionary
|
||||||
CREATE TEXT SEARCH DICTIONARY synonym (
|
CREATE TEXT SEARCH DICTIONARY synonym (
|
||||||
Template=synonym,
|
Template=synonym,
|
||||||
Synonyms=synonym_sample
|
Synonyms=synonym_sample
|
||||||
|
Loading…
x
Reference in New Issue
Block a user