Fix spelling errors and typos in comments
Author: Daniel Gustafsson <daniel@yesql.se>
This commit is contained in:
parent
8610c973dd
commit
fbec7459aa
@ -184,7 +184,7 @@ _bt_search(Relation rel, int keysz, ScanKey scankey, bool nextkey,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* If we're asked to lock leaf in write mode, but didn't manage to, then
|
* If we're asked to lock leaf in write mode, but didn't manage to, then
|
||||||
* relock. That may happend when root page appears to be leaf.
|
* relock. That may happen when the root page appears to be leaf.
|
||||||
*/
|
*/
|
||||||
if (access == BT_WRITE && page_access == BT_READ)
|
if (access == BT_WRITE && page_access == BT_READ)
|
||||||
{
|
{
|
||||||
|
@ -487,7 +487,7 @@ AssignTransactionId(TransactionState s)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Ensure parent(s) have XIDs, so that a child always has an XID later
|
* Ensure parent(s) have XIDs, so that a child always has an XID later
|
||||||
* than its parent. Musn't recurse here, or we might get a stack overflow
|
* than its parent. Mustn't recurse here, or we might get a stack overflow
|
||||||
* if we're at the bottom of a huge stack of subtransactions none of which
|
* if we're at the bottom of a huge stack of subtransactions none of which
|
||||||
* have XIDs yet.
|
* have XIDs yet.
|
||||||
*/
|
*/
|
||||||
|
@ -834,7 +834,7 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId,
|
|||||||
if (OidIsValid(defaultPartOid))
|
if (OidIsValid(defaultPartOid))
|
||||||
defaultRel = heap_open(defaultPartOid, AccessExclusiveLock);
|
defaultRel = heap_open(defaultPartOid, AccessExclusiveLock);
|
||||||
|
|
||||||
/* Tranform the bound values */
|
/* Transform the bound values */
|
||||||
pstate = make_parsestate(NULL);
|
pstate = make_parsestate(NULL);
|
||||||
pstate->p_sourcetext = queryString;
|
pstate->p_sourcetext = queryString;
|
||||||
|
|
||||||
|
@ -1622,7 +1622,7 @@ ExecInterpExpr(ExprState *state, ExprContext *econtext, bool *isnull)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Evaluate aggregate transition / combine function that has a
|
* Evaluate aggregate transition / combine function that has a
|
||||||
* by-value transition type. That's a seperate case from the
|
* by-value transition type. That's a separate case from the
|
||||||
* by-reference implementation because it's a bit simpler.
|
* by-reference implementation because it's a bit simpler.
|
||||||
*/
|
*/
|
||||||
EEO_CASE(EEOP_AGG_PLAIN_TRANS_BYVAL)
|
EEO_CASE(EEOP_AGG_PLAIN_TRANS_BYVAL)
|
||||||
|
@ -852,7 +852,7 @@ ExecCleanupTupleRouting(ModifyTableState *mtstate,
|
|||||||
{
|
{
|
||||||
ResultRelInfo *resultRelInfo = proute->partitions[i];
|
ResultRelInfo *resultRelInfo = proute->partitions[i];
|
||||||
|
|
||||||
/* skip further processsing for uninitialized partitions */
|
/* skip further processing for uninitialized partitions */
|
||||||
if (resultRelInfo == NULL)
|
if (resultRelInfo == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -438,7 +438,7 @@ llvm_optimize_module(LLVMJitContext *context, LLVMModuleRef module)
|
|||||||
|
|
||||||
if (context->base.flags & PGJIT_OPT3)
|
if (context->base.flags & PGJIT_OPT3)
|
||||||
{
|
{
|
||||||
/* TODO: Unscientifically determined threshhold */
|
/* TODO: Unscientifically determined threshold */
|
||||||
LLVMPassManagerBuilderUseInlinerWithThreshold(llvm_pmb, 512);
|
LLVMPassManagerBuilderUseInlinerWithThreshold(llvm_pmb, 512);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -853,7 +853,7 @@ llvm_split_symbol_name(const char *name, char **modname, char **funcname)
|
|||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Symbol names cannot contain a ., therefore we can split based on
|
* Symbol names cannot contain a ., therefore we can split based on
|
||||||
* first and last occurance of one.
|
* first and last occurrence of one.
|
||||||
*/
|
*/
|
||||||
*funcname = rindex(name, '.');
|
*funcname = rindex(name, '.');
|
||||||
(*funcname)++; /* jump over . */
|
(*funcname)++; /* jump over . */
|
||||||
|
@ -65,7 +65,7 @@
|
|||||||
* and Group, which need these values to be available in their inputs.
|
* and Group, which need these values to be available in their inputs.
|
||||||
*
|
*
|
||||||
* CP_IGNORE_TLIST specifies that the caller plans to replace the targetlist,
|
* CP_IGNORE_TLIST specifies that the caller plans to replace the targetlist,
|
||||||
* and therefore it doens't matter a bit what target list gets generated.
|
* and therefore it doesn't matter a bit what target list gets generated.
|
||||||
*/
|
*/
|
||||||
#define CP_EXACT_TLIST 0x0001 /* Plan must return specified tlist */
|
#define CP_EXACT_TLIST 0x0001 /* Plan must return specified tlist */
|
||||||
#define CP_SMALL_TLIST 0x0002 /* Prefer narrower tlists */
|
#define CP_SMALL_TLIST 0x0002 /* Prefer narrower tlists */
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
pg_atomic_cas:
|
pg_atomic_cas:
|
||||||
|
|
||||||
! "cas" only works on sparcv9 and sparcv8plus chips, and
|
! "cas" only works on sparcv9 and sparcv8plus chips, and
|
||||||
! requies a compiler targeting these CPUs. It will fail
|
! requires a compiler targeting these CPUs. It will fail
|
||||||
! on a compiler targeting sparcv8, and of course will not
|
! on a compiler targeting sparcv8, and of course will not
|
||||||
! be understood by a sparcv8 CPU. gcc continues to use
|
! be understood by a sparcv8 CPU. gcc continues to use
|
||||||
! "ldstub" because it targets sparcv7.
|
! "ldstub" because it targets sparcv7.
|
||||||
|
@ -429,7 +429,7 @@ dsm_set_control_handle(dsm_handle h)
|
|||||||
* If there is a non-NULL CurrentResourceOwner, the new segment is associated
|
* If there is a non-NULL CurrentResourceOwner, the new segment is associated
|
||||||
* with it and must be detached before the resource owner releases, or a
|
* with it and must be detached before the resource owner releases, or a
|
||||||
* warning will be logged. If CurrentResourceOwner is NULL, the segment
|
* warning will be logged. If CurrentResourceOwner is NULL, the segment
|
||||||
* remains attached until explicitely detached or the session ends.
|
* remains attached until explicitly detached or the session ends.
|
||||||
* Creating with a NULL CurrentResourceOwner is equivalent to creating
|
* Creating with a NULL CurrentResourceOwner is equivalent to creating
|
||||||
* with a non-NULL CurrentResourceOwner and then calling dsm_pin_mapping.
|
* with a non-NULL CurrentResourceOwner and then calling dsm_pin_mapping.
|
||||||
*/
|
*/
|
||||||
@ -527,7 +527,7 @@ dsm_create(Size size, int flags)
|
|||||||
* If there is a non-NULL CurrentResourceOwner, the attached segment is
|
* If there is a non-NULL CurrentResourceOwner, the attached segment is
|
||||||
* associated with it and must be detached before the resource owner releases,
|
* associated with it and must be detached before the resource owner releases,
|
||||||
* or a warning will be logged. Otherwise the segment remains attached until
|
* or a warning will be logged. Otherwise the segment remains attached until
|
||||||
* explicitely detached or the session ends. See the note atop dsm_create().
|
* explicitly detached or the session ends. See the note atop dsm_create().
|
||||||
*/
|
*/
|
||||||
dsm_segment *
|
dsm_segment *
|
||||||
dsm_attach(dsm_handle h)
|
dsm_attach(dsm_handle h)
|
||||||
|
@ -1030,7 +1030,7 @@ WaitEventSetWait(WaitEventSet *set, long timeout,
|
|||||||
/*
|
/*
|
||||||
* Wait using linux's epoll_wait(2).
|
* Wait using linux's epoll_wait(2).
|
||||||
*
|
*
|
||||||
* This is the preferrable wait method, as several readiness notifications are
|
* This is the preferable wait method, as several readiness notifications are
|
||||||
* delivered, without having to iterate through all of set->events. The return
|
* delivered, without having to iterate through all of set->events. The return
|
||||||
* epoll_event struct contain a pointer to our events, making association
|
* epoll_event struct contain a pointer to our events, making association
|
||||||
* easy.
|
* easy.
|
||||||
|
@ -3706,7 +3706,7 @@ to_timestamp(PG_FUNCTION_ARGS)
|
|||||||
|
|
||||||
/* ----------
|
/* ----------
|
||||||
* TO_DATE
|
* TO_DATE
|
||||||
* Make Date from date_str which is formated at argument 'fmt'
|
* Make Date from date_str which is formatted at argument 'fmt'
|
||||||
* ----------
|
* ----------
|
||||||
*/
|
*/
|
||||||
Datum
|
Datum
|
||||||
|
@ -1363,7 +1363,7 @@ compareJsonbScalarValue(JsonbValue *aScalar, JsonbValue *bScalar)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Functions for manipulating the resizeable buffer used by convertJsonb and
|
* Functions for manipulating the resizable buffer used by convertJsonb and
|
||||||
* its subroutines.
|
* its subroutines.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -5040,7 +5040,7 @@ iterate_jsonb_values(Jsonb *jb, uint32 flags, void *state,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Just recursively iterating over jsonb and call callback on all
|
* Just recursively iterating over jsonb and call callback on all
|
||||||
* correspoding elements
|
* corresponding elements
|
||||||
*/
|
*/
|
||||||
while ((type = JsonbIteratorNext(&it, &v, false)) != WJB_DONE)
|
while ((type = JsonbIteratorNext(&it, &v, false)) != WJB_DONE)
|
||||||
{
|
{
|
||||||
|
2
src/backend/utils/cache/attoptcache.c
vendored
2
src/backend/utils/cache/attoptcache.c
vendored
@ -24,7 +24,7 @@
|
|||||||
#include "utils/syscache.h"
|
#include "utils/syscache.h"
|
||||||
|
|
||||||
|
|
||||||
/* Hash table for informations about each attribute's options */
|
/* Hash table for information about each attribute's options */
|
||||||
static HTAB *AttoptCacheHash = NULL;
|
static HTAB *AttoptCacheHash = NULL;
|
||||||
|
|
||||||
/* attrelid and attnum form the lookup key, and must appear first */
|
/* attrelid and attnum form the lookup key, and must appear first */
|
||||||
|
2
src/backend/utils/cache/relfilenodemap.c
vendored
2
src/backend/utils/cache/relfilenodemap.c
vendored
@ -29,7 +29,7 @@
|
|||||||
#include "utils/relfilenodemap.h"
|
#include "utils/relfilenodemap.h"
|
||||||
#include "utils/relmapper.h"
|
#include "utils/relmapper.h"
|
||||||
|
|
||||||
/* Hash table for informations about each relfilenode <-> oid pair */
|
/* Hash table for information about each relfilenode <-> oid pair */
|
||||||
static HTAB *RelfilenodeMapHash = NULL;
|
static HTAB *RelfilenodeMapHash = NULL;
|
||||||
|
|
||||||
/* built first time through in InitializeRelfilenodeMap */
|
/* built first time through in InitializeRelfilenodeMap */
|
||||||
|
2
src/backend/utils/cache/typcache.c
vendored
2
src/backend/utils/cache/typcache.c
vendored
@ -1869,7 +1869,7 @@ assign_record_type_identifier(Oid type_id, int32 typmod)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the amout of shmem required to hold a SharedRecordTypmodRegistry.
|
* Return the amount of shmem required to hold a SharedRecordTypmodRegistry.
|
||||||
* This exists only to avoid exposing private innards of
|
* This exists only to avoid exposing private innards of
|
||||||
* SharedRecordTypmodRegistry in a header.
|
* SharedRecordTypmodRegistry in a header.
|
||||||
*/
|
*/
|
||||||
|
@ -158,7 +158,7 @@ my @options = (
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
# loging sub-options
|
# logging sub-options
|
||||||
[
|
[
|
||||||
'sampling => log', '--sampling-rate=0.01',
|
'sampling => log', '--sampling-rate=0.01',
|
||||||
[qr{log sampling .* only when}]
|
[qr{log sampling .* only when}]
|
||||||
|
@ -27,7 +27,7 @@ typedef struct LogicalRepWorker
|
|||||||
/* Indicates if this slot is used or free. */
|
/* Indicates if this slot is used or free. */
|
||||||
bool in_use;
|
bool in_use;
|
||||||
|
|
||||||
/* Increased everytime the slot is taken by new worker. */
|
/* Increased every time the slot is taken by new worker. */
|
||||||
uint16 generation;
|
uint16 generation;
|
||||||
|
|
||||||
/* Pointer to proc array. NULL if not running. */
|
/* Pointer to proc array. NULL if not running. */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
# src/interfaces/ecpg/preproc/check_rules.pl
|
# src/interfaces/ecpg/preproc/check_rules.pl
|
||||||
# test parser generater for ecpg
|
# test parser generator for ecpg
|
||||||
# call with backend parser as stdin
|
# call with backend parser as stdin
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009-2018, PostgreSQL Global Development Group
|
# Copyright (c) 2009-2018, PostgreSQL Global Development Group
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
# src/interfaces/ecpg/preproc/parse.pl
|
# src/interfaces/ecpg/preproc/parse.pl
|
||||||
# parser generater for ecpg version 2
|
# parser generator for ecpg version 2
|
||||||
# call with backend parser as stdin
|
# call with backend parser as stdin
|
||||||
#
|
#
|
||||||
# Copyright (c) 2007-2018, PostgreSQL Global Development Group
|
# Copyright (c) 2007-2018, PostgreSQL Global Development Group
|
||||||
|
@ -48,7 +48,7 @@ main(int argc, char **argv)
|
|||||||
exit_nicely(conn);
|
exit_nicely(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set always-secure search path, so malicous users can't take control. */
|
/* Set always-secure search path, so malicious users can't take control. */
|
||||||
res = PQexec(conn,
|
res = PQexec(conn,
|
||||||
"SELECT pg_catalog.set_config('search_path', '', false)");
|
"SELECT pg_catalog.set_config('search_path', '', false)");
|
||||||
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
||||||
|
@ -77,7 +77,7 @@ main(int argc, char **argv)
|
|||||||
exit_nicely(conn);
|
exit_nicely(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set always-secure search path, so malicous users can't take control. */
|
/* Set always-secure search path, so malicious users can't take control. */
|
||||||
res = PQexec(conn,
|
res = PQexec(conn,
|
||||||
"SELECT pg_catalog.set_config('search_path', '', false)");
|
"SELECT pg_catalog.set_config('search_path', '', false)");
|
||||||
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
||||||
|
@ -142,7 +142,7 @@ main(int argc, char **argv)
|
|||||||
exit_nicely(conn);
|
exit_nicely(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set always-secure search path, so malicous users can't take control. */
|
/* Set always-secure search path, so malicious users can't take control. */
|
||||||
res = PQexec(conn, "SET search_path = testlibpq3");
|
res = PQexec(conn, "SET search_path = testlibpq3");
|
||||||
if (PQresultStatus(res) != PGRES_COMMAND_OK)
|
if (PQresultStatus(res) != PGRES_COMMAND_OK)
|
||||||
{
|
{
|
||||||
|
@ -34,7 +34,7 @@ check_prepare_conn(PGconn *conn, const char *dbName)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set always-secure search path, so malicous users can't take control. */
|
/* Set always-secure search path, so malicious users can't take control. */
|
||||||
res = PQexec(conn,
|
res = PQexec(conn,
|
||||||
"SELECT pg_catalog.set_config('search_path', '', false)");
|
"SELECT pg_catalog.set_config('search_path', '', false)");
|
||||||
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
||||||
|
@ -232,7 +232,7 @@ main(int argc, char **argv)
|
|||||||
exit_nicely(conn);
|
exit_nicely(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set always-secure search path, so malicous users can't take control. */
|
/* Set always-secure search path, so malicious users can't take control. */
|
||||||
res = PQexec(conn,
|
res = PQexec(conn,
|
||||||
"SELECT pg_catalog.set_config('search_path', '', false)");
|
"SELECT pg_catalog.set_config('search_path', '', false)");
|
||||||
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
||||||
|
@ -256,7 +256,7 @@ main(int argc, char **argv)
|
|||||||
exit_nicely(conn);
|
exit_nicely(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set always-secure search path, so malicous users can't take control. */
|
/* Set always-secure search path, so malicious users can't take control. */
|
||||||
res = PQexec(conn,
|
res = PQexec(conn,
|
||||||
"SELECT pg_catalog.set_config('search_path', '', false)");
|
"SELECT pg_catalog.set_config('search_path', '', false)");
|
||||||
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
if (PQresultStatus(res) != PGRES_TUPLES_OK)
|
||||||
|
@ -1476,7 +1476,7 @@ ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b)
|
|||||||
REFERENCES fk_notpartitioned_pk NOT VALID;
|
REFERENCES fk_notpartitioned_pk NOT VALID;
|
||||||
ERROR: cannot add NOT VALID foreign key on partitioned table "fk_partitioned_fk" referencing relation "fk_notpartitioned_pk"
|
ERROR: cannot add NOT VALID foreign key on partitioned table "fk_partitioned_fk" referencing relation "fk_notpartitioned_pk"
|
||||||
DETAIL: This feature is not yet supported on partitioned tables.
|
DETAIL: This feature is not yet supported on partitioned tables.
|
||||||
-- these inserts, targetting both the partition directly as well as the
|
-- these inserts, targeting both the partition directly as well as the
|
||||||
-- partitioned table, should all fail
|
-- partitioned table, should all fail
|
||||||
INSERT INTO fk_partitioned_fk (a,b) VALUES (500, 501);
|
INSERT INTO fk_partitioned_fk (a,b) VALUES (500, 501);
|
||||||
ERROR: insert or update on table "fk_partitioned_fk_1" violates foreign key constraint "fk_partitioned_fk_a_fkey"
|
ERROR: insert or update on table "fk_partitioned_fk_1" violates foreign key constraint "fk_partitioned_fk_a_fkey"
|
||||||
|
@ -738,7 +738,7 @@ SELECT '{1}'::int4[]::int8[];
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
REVOKE ALL ON FUNCTION int8(integer) FROM PUBLIC;
|
REVOKE ALL ON FUNCTION int8(integer) FROM PUBLIC;
|
||||||
SELECT '{1}'::int4[]::int8[]; --superuser, suceed
|
SELECT '{1}'::int4[]::int8[]; --superuser, succeed
|
||||||
int8
|
int8
|
||||||
------
|
------
|
||||||
{1}
|
{1}
|
||||||
|
@ -1115,7 +1115,7 @@ ALTER TABLE ONLY fk_partitioned_fk ADD FOREIGN KEY (a, b)
|
|||||||
ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b)
|
ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b)
|
||||||
REFERENCES fk_notpartitioned_pk NOT VALID;
|
REFERENCES fk_notpartitioned_pk NOT VALID;
|
||||||
|
|
||||||
-- these inserts, targetting both the partition directly as well as the
|
-- these inserts, targeting both the partition directly as well as the
|
||||||
-- partitioned table, should all fail
|
-- partitioned table, should all fail
|
||||||
INSERT INTO fk_partitioned_fk (a,b) VALUES (500, 501);
|
INSERT INTO fk_partitioned_fk (a,b) VALUES (500, 501);
|
||||||
INSERT INTO fk_partitioned_fk_1 (a,b) VALUES (500, 501);
|
INSERT INTO fk_partitioned_fk_1 (a,b) VALUES (500, 501);
|
||||||
|
@ -495,7 +495,7 @@ GRANT ALL PRIVILEGES ON LANGUAGE sql TO PUBLIC;
|
|||||||
BEGIN;
|
BEGIN;
|
||||||
SELECT '{1}'::int4[]::int8[];
|
SELECT '{1}'::int4[]::int8[];
|
||||||
REVOKE ALL ON FUNCTION int8(integer) FROM PUBLIC;
|
REVOKE ALL ON FUNCTION int8(integer) FROM PUBLIC;
|
||||||
SELECT '{1}'::int4[]::int8[]; --superuser, suceed
|
SELECT '{1}'::int4[]::int8[]; --superuser, succeed
|
||||||
SET SESSION AUTHORIZATION regress_priv_user4;
|
SET SESSION AUTHORIZATION regress_priv_user4;
|
||||||
SELECT '{1}'::int4[]::int8[]; --other user, fail
|
SELECT '{1}'::int4[]::int8[]; --other user, fail
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
|
@ -116,7 +116,7 @@ is($result, qq(20), 'initial data synced for fourth sub');
|
|||||||
# add new table on subscriber
|
# add new table on subscriber
|
||||||
$node_subscriber->safe_psql('postgres', "CREATE TABLE tab_rep_next (a int)");
|
$node_subscriber->safe_psql('postgres', "CREATE TABLE tab_rep_next (a int)");
|
||||||
|
|
||||||
# setup structure with existing data on pubisher
|
# setup structure with existing data on publisher
|
||||||
$node_publisher->safe_psql('postgres',
|
$node_publisher->safe_psql('postgres',
|
||||||
"CREATE TABLE tab_rep_next (a) AS SELECT generate_series(1,10)");
|
"CREATE TABLE tab_rep_next (a) AS SELECT generate_series(1,10)");
|
||||||
|
|
||||||
|
@ -630,7 +630,7 @@ sub mkvcbuild
|
|||||||
{
|
{
|
||||||
|
|
||||||
# Some builds exhibit runtime failure through Perl warning
|
# Some builds exhibit runtime failure through Perl warning
|
||||||
# 'Can't spawn "conftest.exe"'; supress that.
|
# 'Can't spawn "conftest.exe"'; suppress that.
|
||||||
no warnings;
|
no warnings;
|
||||||
|
|
||||||
# Disable error dialog boxes like we do in the postmaster.
|
# Disable error dialog boxes like we do in the postmaster.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user