mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03: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:
@@ -413,7 +413,7 @@ $(shlib): $(OBJS) $(DLL_DEFFILE) | $(SHLIB_PREREQS)
|
||||
$(stlib): $(shlib) $(DLL_DEFFILE) | $(SHLIB_PREREQS)
|
||||
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(DLL_DEFFILE) --output-lib $@
|
||||
|
||||
endif # PORTNAME == cgywin
|
||||
endif # PORTNAME == cygwin
|
||||
endif # PORTNAME == cygwin || PORTNAME == win32
|
||||
|
||||
endif # enable_shared
|
||||
|
@@ -28,7 +28,7 @@ The current implementation of GiST supports:
|
||||
|
||||
The support for concurrency implemented in PostgreSQL was developed based on
|
||||
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
|
||||
|
||||
|
@@ -671,7 +671,7 @@ createdb(const CreatedbStmt *stmt)
|
||||
|
||||
/*
|
||||
* 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
|
||||
* space but is not in pg_database, which is not good.
|
||||
*/
|
||||
@@ -916,7 +916,7 @@ dropdb(const char *dbname, bool missing_ok)
|
||||
|
||||
/*
|
||||
* 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
|
||||
* according to pg_database, which is not good.
|
||||
*/
|
||||
@@ -1266,7 +1266,7 @@ movedb(const char *dbname, const char *tblspcname)
|
||||
|
||||
/*
|
||||
* 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
|
||||
* disk, which is not fatal but not good either.
|
||||
*/
|
||||
|
@@ -2438,7 +2438,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
|
||||
* 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
|
||||
|
@@ -1524,7 +1524,7 @@ CreateCast(CreateCastStmt *stmt)
|
||||
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||
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)
|
||||
castmethod = COERCION_METHOD_FUNCTION;
|
||||
else if (stmt->inout)
|
||||
|
@@ -95,7 +95,7 @@ static void RangeVarCallbackForReindexIndex(const RangeVar *relation,
|
||||
* Errors arising from the attribute list still apply.
|
||||
*
|
||||
* 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
|
||||
* changes for btree and hash indexes, that adds subtle complexity with no
|
||||
* concrete benefit for core types.
|
||||
@@ -920,7 +920,7 @@ CheckMutability(Expr *expr)
|
||||
* indxpath.c could do something with. However, that seems overly
|
||||
* restrictive. One useful application of partial indexes is to apply
|
||||
* 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.
|
||||
*/
|
||||
static void
|
||||
|
@@ -5661,7 +5661,7 @@ ATAddCheckConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel,
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
if (!recurse && children != NIL)
|
||||
|
@@ -111,7 +111,7 @@ gimme_edge_table(PlannerInfo *root, Gene *tour1, Gene *tour2,
|
||||
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
|
||||
*/
|
||||
|
||||
@@ -314,7 +314,7 @@ gimme_gene(PlannerInfo *root, Edge edge, Edge *edge_table)
|
||||
/*
|
||||
* give priority to candidates with fewest remaining unused edges;
|
||||
* 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_count);
|
||||
*/
|
||||
|
@@ -1367,7 +1367,7 @@ select_mergejoin_clauses(PlannerInfo *root,
|
||||
/*
|
||||
* Insist that each side have a non-redundant eclass. This
|
||||
* 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 sort orderings. (XXX it might be worth relaxing this,
|
||||
* but not enough time to address it for 8.3.)
|
||||
|
@@ -212,7 +212,7 @@ query_planner(PlannerInfo *root, List *tlist,
|
||||
/*
|
||||
* Now distribute "placeholders" to base rels as needed. This has to be
|
||||
* 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);
|
||||
|
||||
|
@@ -24,7 +24,7 @@
|
||||
* Detect whether there is a joinclause that involves
|
||||
* 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
|
||||
* 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
|
||||
|
@@ -718,7 +718,7 @@ join_clause_is_movable_into(RestrictInfo *rinfo,
|
||||
Relids currentrelids,
|
||||
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))
|
||||
return false;
|
||||
|
||||
|
@@ -4604,7 +4604,7 @@ PostmasterRandom(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).
|
||||
*/
|
||||
static int
|
||||
|
@@ -2687,7 +2687,7 @@ GetLockConflicts(const LOCKTAG *locktag, LOCKMODE lockmode)
|
||||
vxids = (VirtualTransactionId *)
|
||||
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);
|
||||
partitionLock = LockHashPartitionLock(hashcode);
|
||||
conflictMask = lockMethodTable->conflictTab[lockmode];
|
||||
|
@@ -3192,7 +3192,7 @@ ReleasePredicateLocks(bool isCommit)
|
||||
/*
|
||||
* We can't trust XactReadOnly here, because a transaction which started
|
||||
* 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
|
||||
* 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
|
||||
|
@@ -179,7 +179,7 @@ LexizeExec(LexizeData *ld, ParsedLex **correspondLexem)
|
||||
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
|
||||
*/
|
||||
|
||||
@@ -272,7 +272,7 @@ LexizeExec(LexizeData *ld, ParsedLex **correspondLexem)
|
||||
|
||||
/*
|
||||
* 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 ?
|
||||
*/
|
||||
for (i = 0; i < map->len && !dictExists; i++)
|
||||
@@ -618,7 +618,7 @@ generateHeadline(HeadlineParsedText *prs)
|
||||
/* start of a new fragment */
|
||||
infrag = 1;
|
||||
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)
|
||||
{
|
||||
memcpy(ptr, prs->fragdelim, prs->fragdelimlen);
|
||||
|
@@ -2419,7 +2419,7 @@ mark_hl_words(HeadlineParsedText *prs, TSQuery query, int highlight,
|
||||
break;
|
||||
}
|
||||
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 */
|
||||
for (i = p - 1; i >= 0; i--)
|
||||
{
|
||||
|
@@ -2285,7 +2285,7 @@ seq_search(char *name, char **array, int type, int max, int *len)
|
||||
|
||||
for (last = 0, a = array; *a != NULL; a++)
|
||||
{
|
||||
/* comperate first chars */
|
||||
/* compare first chars */
|
||||
if (*name != **a)
|
||||
continue;
|
||||
|
||||
|
@@ -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
|
||||
* 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
|
||||
*/
|
||||
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));
|
||||
|
||||
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
|
||||
multiple lexize */ )
|
||||
SumDist += 1.0 / (CurExtPos - PrevExtPos);
|
||||
|
@@ -342,7 +342,7 @@ window_lag(PG_FUNCTION_ARGS)
|
||||
|
||||
/*
|
||||
* 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,
|
||||
* per spec.
|
||||
*/
|
||||
|
@@ -18,7 +18,7 @@ OBJS = guc.o help_config.o pg_rusage.o ps_status.o superuser.o tzparser.o \
|
||||
rbtree.o
|
||||
|
||||
# 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
|
||||
override CPPFLAGS += -DPG_KRB_SRVTAB='"$(krb_srvtab)"'
|
||||
endif
|
||||
|
@@ -191,7 +191,7 @@ InitArchiveFmt_Custom(ArchiveHandle *AH)
|
||||
*
|
||||
* Optional.
|
||||
*
|
||||
* Set up extrac format-related TOC data.
|
||||
* Set up extract format-related TOC data.
|
||||
*/
|
||||
static void
|
||||
_ArchiveEntry(ArchiveHandle *AH, TocEntry *te)
|
||||
|
@@ -1815,7 +1815,7 @@ describeOneTableDetails(const char *schemaname,
|
||||
printTableAddFooter(&cont, _("Check constraints:"));
|
||||
for (i = 0; i < tuples; i++)
|
||||
{
|
||||
/* untranslated contraint name and def */
|
||||
/* untranslated constraint name and def */
|
||||
printfPQExpBuffer(&buf, " \"%s\" %s",
|
||||
PQgetvalue(result, i, 0),
|
||||
PQgetvalue(result, i, 1));
|
||||
@@ -2635,7 +2635,7 @@ listTables(const char *tabtypes, const char *pattern, bool verbose, bool showSys
|
||||
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.
|
||||
*/
|
||||
if (pset.sversion >= 90000)
|
||||
|
@@ -60,7 +60,7 @@ typedef enum
|
||||
SYNCHRONOUS_COMMIT_REMOTE_FLUSH /* wait for local and remote flush */
|
||||
} SyncCommitLevel;
|
||||
|
||||
/* Define the default setting for synchonous_commit */
|
||||
/* Define the default setting for synchronous_commit */
|
||||
#define SYNCHRONOUS_COMMIT_ON SYNCHRONOUS_COMMIT_REMOTE_FLUSH
|
||||
|
||||
/* Synchronous commit level */
|
||||
|
@@ -722,7 +722,7 @@ typedef NameData *Name;
|
||||
/* 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, we mangle the gettext domain name by appending those
|
||||
* version numbers. The coding rule ought to be that whereever the
|
||||
|
@@ -991,7 +991,7 @@ typedef LONG slock_t;
|
||||
#define SPIN_DELAY() spin_delay()
|
||||
|
||||
/* 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)
|
||||
static __forceinline void
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/* src/interfaces/ecpg/ecpglib/execute.c */
|
||||
|
||||
/*
|
||||
* The aim is to get a simpler inteface to the database routines.
|
||||
* All the tidieous messing around with tuples is supposed to be hidden
|
||||
* The aim is to get a simpler interface to the database routines.
|
||||
* All the tedious messing around with tuples is supposed to be hidden
|
||||
* by this function.
|
||||
*/
|
||||
/* Author: Linus Tolke
|
||||
|
@@ -324,8 +324,8 @@ PGTYPESdate_fmt_asc(date dDate, const char *fmtstring, char *outbuf)
|
||||
* PGTYPESdate_defmt_asc
|
||||
*
|
||||
* function works as follows:
|
||||
* - first we analyze the paramters
|
||||
* - if this is a special case with no delimiters, add delimters
|
||||
* - first we analyze the parameters
|
||||
* - if this is a special case with no delimiters, add delimiters
|
||||
* - 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
|
||||
* the abbreviations of the months' names.
|
||||
|
@@ -1369,11 +1369,11 @@ PGTYPESnumeric_cmp(numeric *var1, numeric *var2)
|
||||
|
||||
/* 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)
|
||||
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)
|
||||
{
|
||||
/*
|
||||
|
@@ -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
|
||||
* 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. */
|
||||
|
||||
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;
|
||||
};
|
||||
/*
|
||||
* variable decalartion outside exec sql declare block
|
||||
* variable declaration outside exec sql declare block
|
||||
*/
|
||||
ECPGVarDeclaration: single_vt_declaration;
|
||||
|
||||
@@ -707,7 +707,7 @@ struct_union_type_with_symbol: s_struct_union_symbol
|
||||
free(forward_name);
|
||||
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 */
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
ECPGSetConnection: SET CONNECTION TO connection_object { $$ = $4; }
|
||||
|
@@ -546,7 +546,7 @@ sub dump_fields
|
||||
if ($len == 1)
|
||||
{
|
||||
|
||||
# Straight assignement
|
||||
# Straight assignment
|
||||
$str = ' $$ = ' . $flds_new[0] . ';';
|
||||
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
|
||||
* 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
|
||||
* 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.
|
||||
*
|
||||
* Arguments are the cleartext password, and the SQL name of the user it
|
||||
|
@@ -32,7 +32,7 @@
|
||||
|
||||
#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
|
||||
extern char *
|
||||
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
|
||||
the given suffix that contains the suggested changes. This does
|
||||
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
|
||||
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);
|
||||
/* 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
|
||||
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);
|
||||
modname->op_private |= OPpCONST_BARE;
|
||||
|
@@ -274,7 +274,7 @@ PLy_traceback(PyObject *e, PyObject *v, PyObject *tb,
|
||||
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>.
|
||||
*/
|
||||
if (*tb_depth == 1)
|
||||
|
@@ -68,7 +68,7 @@ typedef union PLyTypeOutput
|
||||
PLyObToTuple r;
|
||||
} PLyTypeOutput;
|
||||
|
||||
/* all we need to move Postgresql data to Python objects,
|
||||
/* all we need to move PostgreSQL data to Python objects,
|
||||
* and vice versa
|
||||
*/
|
||||
typedef struct PLyTypeInfo
|
||||
|
@@ -7,7 +7,7 @@
|
||||
# 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.
|
||||
#
|
||||
# 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
|
||||
# s3 executes its first SELECT.
|
||||
#
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# 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
|
||||
# commits before s3 executes its first SELECT.
|
||||
#
|
||||
|
@@ -313,7 +313,7 @@ INSERT INTO tmp3 values (5,50);
|
||||
-- Try (and fail) to add constraint due to invalid source columns
|
||||
ALTER TABLE tmp3 add constraint tmpconstr foreign key(c) references tmp2 match full;
|
||||
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;
|
||||
ERROR: column "b" referenced in foreign key constraint does not exist
|
||||
-- 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.
|
||||
-- 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
|
||||
-- backlink field.
|
||||
--
|
||||
|
@@ -938,7 +938,7 @@ CREATE TABLE shoe_data (
|
||||
shoename char(10), -- primary key
|
||||
sh_avail integer, -- available # of pairs
|
||||
slcolor char(10), -- preferred shoelace color
|
||||
slminlen float, -- miminum shoelace length
|
||||
slminlen float, -- minimum shoelace length
|
||||
slmaxlen float, -- maximum shoelace length
|
||||
slunit char(8) -- length unit
|
||||
);
|
||||
|
@@ -191,7 +191,7 @@ SELECT ts_lexize('hunspell', 'footballyklubber');
|
||||
{foot,ball,klubber}
|
||||
(1 row)
|
||||
|
||||
-- Synonim dictionary
|
||||
-- Synonym dictionary
|
||||
CREATE TEXT SEARCH DICTIONARY synonym (
|
||||
Template=synonym,
|
||||
Synonyms=synonym_sample
|
||||
|
@@ -254,7 +254,7 @@ INSERT INTO tmp3 values (5,50);
|
||||
-- Try (and fail) to add constraint due to invalid source columns
|
||||
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;
|
||||
|
||||
-- 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.
|
||||
-- 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
|
||||
-- backlink field.
|
||||
--
|
||||
|
@@ -522,7 +522,7 @@ CREATE TABLE shoe_data (
|
||||
shoename char(10), -- primary key
|
||||
sh_avail integer, -- available # of pairs
|
||||
slcolor char(10), -- preferred shoelace color
|
||||
slminlen float, -- miminum shoelace length
|
||||
slminlen float, -- minimum shoelace length
|
||||
slmaxlen float, -- maximum shoelace length
|
||||
slunit char(8) -- length unit
|
||||
);
|
||||
|
@@ -48,7 +48,7 @@ SELECT ts_lexize('hunspell', 'footballklubber');
|
||||
SELECT ts_lexize('hunspell', 'ballyklubber');
|
||||
SELECT ts_lexize('hunspell', 'footballyklubber');
|
||||
|
||||
-- Synonim dictionary
|
||||
-- Synonym dictionary
|
||||
CREATE TEXT SEARCH DICTIONARY synonym (
|
||||
Template=synonym,
|
||||
Synonyms=synonym_sample
|
||||
|
Reference in New Issue
Block a user