Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
1e9c8580
Commit
1e9c8580
authored
Jun 30, 2018
by
Andrew Dunstan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pgindent run prior to branching
parent
2c64d200
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
62 additions
and
62 deletions
+62
-62
contrib/postgres_fdw/postgres_fdw.c
contrib/postgres_fdw/postgres_fdw.c
+9
-10
src/backend/access/gin/ginfast.c
src/backend/access/gin/ginfast.c
+3
-3
src/backend/access/gin/ginget.c
src/backend/access/gin/ginget.c
+4
-4
src/backend/access/nbtree/nbtree.c
src/backend/access/nbtree/nbtree.c
+6
-6
src/backend/access/nbtree/nbtutils.c
src/backend/access/nbtree/nbtutils.c
+2
-2
src/backend/access/transam/xlog.c
src/backend/access/transam/xlog.c
+1
-1
src/backend/access/transam/xlogreader.c
src/backend/access/transam/xlogreader.c
+3
-3
src/backend/commands/indexcmds.c
src/backend/commands/indexcmds.c
+1
-1
src/backend/executor/execMain.c
src/backend/executor/execMain.c
+1
-1
src/backend/replication/logical/reorderbuffer.c
src/backend/replication/logical/reorderbuffer.c
+3
-3
src/backend/storage/ipc/procarray.c
src/backend/storage/ipc/procarray.c
+2
-2
src/backend/storage/ipc/standby.c
src/backend/storage/ipc/standby.c
+6
-5
src/backend/tcop/utility.c
src/backend/tcop/utility.c
+3
-3
src/backend/utils/adt/jsonb.c
src/backend/utils/adt/jsonb.c
+13
-13
src/bin/pg_dump/pg_dump.h
src/bin/pg_dump/pg_dump.h
+1
-1
src/bin/psql/tab-complete.c
src/bin/psql/tab-complete.c
+2
-2
src/include/access/xlogreader.h
src/include/access/xlogreader.h
+1
-1
src/include/replication/reorderbuffer.h
src/include/replication/reorderbuffer.h
+1
-1
No files found.
contrib/postgres_fdw/postgres_fdw.c
View file @
1e9c8580
...
@@ -2020,12 +2020,11 @@ postgresBeginForeignInsert(ModifyTableState *mtstate,
...
@@ -2020,12 +2020,11 @@ postgresBeginForeignInsert(ModifyTableState *mtstate,
/*
/*
* If the foreign table is a partition, we need to create a new RTE
* If the foreign table is a partition, we need to create a new RTE
* describing the foreign table for use by deparseInsertSql and
* describing the foreign table for use by deparseInsertSql and
* create_foreign_modify() below, after first copying the parent's
* create_foreign_modify() below, after first copying the parent's RTE and
* RTE and modifying some fields to describe the foreign partition to
* modifying some fields to describe the foreign partition to work on.
* work on. However, if this is invoked by UPDATE, the existing RTE
* However, if this is invoked by UPDATE, the existing RTE may already
* may already correspond to this partition if it is one of the
* correspond to this partition if it is one of the UPDATE subplan target
* UPDATE subplan target rels; in that case, we can just use the
* rels; in that case, we can just use the existing RTE as-is.
* existing RTE as-is.
*/
*/
rte
=
list_nth
(
estate
->
es_range_table
,
resultRelation
-
1
);
rte
=
list_nth
(
estate
->
es_range_table
,
resultRelation
-
1
);
if
(
rte
->
relid
!=
RelationGetRelid
(
rel
))
if
(
rte
->
relid
!=
RelationGetRelid
(
rel
))
...
@@ -2035,10 +2034,10 @@ postgresBeginForeignInsert(ModifyTableState *mtstate,
...
@@ -2035,10 +2034,10 @@ postgresBeginForeignInsert(ModifyTableState *mtstate,
rte
->
relkind
=
RELKIND_FOREIGN_TABLE
;
rte
->
relkind
=
RELKIND_FOREIGN_TABLE
;
/*
/*
* For UPDATE, we must use the RT index of the first subplan
* For UPDATE, we must use the RT index of the first subplan
target
*
target rel's RTE, because the core code would have built
*
rel's RTE, because the core code would have built expressions for
*
expressions for the partition, such as RETURNING, using that
*
the partition, such as RETURNING, using that RT index as varno of
*
RT index as varno of
Vars contained in those expressions.
* Vars contained in those expressions.
*/
*/
if
(
plan
&&
plan
->
operation
==
CMD_UPDATE
&&
if
(
plan
&&
plan
->
operation
==
CMD_UPDATE
&&
resultRelation
==
plan
->
nominalRelation
)
resultRelation
==
plan
->
nominalRelation
)
...
...
src/backend/access/gin/ginfast.c
View file @
1e9c8580
...
@@ -247,9 +247,9 @@ ginHeapTupleFastInsert(GinState *ginstate, GinTupleCollector *collector)
...
@@ -247,9 +247,9 @@ ginHeapTupleFastInsert(GinState *ginstate, GinTupleCollector *collector)
metapage
=
BufferGetPage
(
metabuffer
);
metapage
=
BufferGetPage
(
metabuffer
);
/*
/*
* An insertion to the pending list could logically belong anywhere in
* An insertion to the pending list could logically belong anywhere in
the
* t
he tree, so it conflicts with all serializable scans. All scans
* t
ree, so it conflicts with all serializable scans. All scans acquire a
*
acquire a
predicate lock on the metabuffer to represent that.
* predicate lock on the metabuffer to represent that.
*/
*/
CheckForSerializableConflictIn
(
index
,
NULL
,
metabuffer
);
CheckForSerializableConflictIn
(
index
,
NULL
,
metabuffer
);
...
...
src/backend/access/gin/ginget.c
View file @
1e9c8580
...
@@ -235,8 +235,8 @@ collectMatchBitmap(GinBtreeData *btree, GinBtreeStack *stack,
...
@@ -235,8 +235,8 @@ collectMatchBitmap(GinBtreeData *btree, GinBtreeStack *stack,
LockBuffer
(
stack
->
buffer
,
GIN_UNLOCK
);
LockBuffer
(
stack
->
buffer
,
GIN_UNLOCK
);
/*
/*
* Acquire predicate lock on the posting tree. We already hold
* Acquire predicate lock on the posting tree. We already hold
a
*
a
lock on the entry page, but insertions to the posting tree
* lock on the entry page, but insertions to the posting tree
* don't check for conflicts on that level.
* don't check for conflicts on that level.
*/
*/
PredicateLockPage
(
btree
->
index
,
rootPostingTree
,
snapshot
);
PredicateLockPage
(
btree
->
index
,
rootPostingTree
,
snapshot
);
...
@@ -1766,8 +1766,8 @@ scanPendingInsert(IndexScanDesc scan, TIDBitmap *tbm, int64 *ntids)
...
@@ -1766,8 +1766,8 @@ scanPendingInsert(IndexScanDesc scan, TIDBitmap *tbm, int64 *ntids)
*
ntids
=
0
;
*
ntids
=
0
;
/*
/*
* Acquire predicate lock on the metapage, to conflict with any
* Acquire predicate lock on the metapage, to conflict with any
fastupdate
*
fastupdate
insertions.
* insertions.
*/
*/
PredicateLockPage
(
scan
->
indexRelation
,
GIN_METAPAGE_BLKNO
,
scan
->
xs_snapshot
);
PredicateLockPage
(
scan
->
indexRelation
,
GIN_METAPAGE_BLKNO
,
scan
->
xs_snapshot
);
...
...
src/backend/access/nbtree/nbtree.c
View file @
1e9c8580
...
@@ -820,10 +820,10 @@ _bt_vacuum_needs_cleanup(IndexVacuumInfo *info)
...
@@ -820,10 +820,10 @@ _bt_vacuum_needs_cleanup(IndexVacuumInfo *info)
/*
/*
* If table receives enough insertions and no cleanup was performed,
* If table receives enough insertions and no cleanup was performed,
* then index would appear have stale statistics. If scale factor
* then index would appear have stale statistics. If scale factor
is
*
is set, we avoid that by performing cleanup if the number of
*
set, we avoid that by performing cleanup if the number of inserted
*
inserted tuples exceeds vacuum_cleanup_index_scale_factor fraction
*
tuples exceeds vacuum_cleanup_index_scale_factor fraction of
* o
f o
riginal tuples count.
* original tuples count.
*/
*/
relopts
=
(
StdRdOptions
*
)
info
->
index
->
rd_options
;
relopts
=
(
StdRdOptions
*
)
info
->
index
->
rd_options
;
cleanup_scale_factor
=
(
relopts
&&
cleanup_scale_factor
=
(
relopts
&&
...
@@ -873,8 +873,8 @@ btbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats,
...
@@ -873,8 +873,8 @@ btbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats,
&
oldestBtpoXact
);
&
oldestBtpoXact
);
/*
/*
* Update cleanup-related information in metapage. This information
* Update cleanup-related information in metapage. This information
is
*
is
used only for cleanup but keeping them up to date can avoid
* used only for cleanup but keeping them up to date can avoid
* unnecessary cleanup even after bulkdelete.
* unnecessary cleanup even after bulkdelete.
*/
*/
_bt_update_meta_cleanup_info
(
info
->
index
,
oldestBtpoXact
,
_bt_update_meta_cleanup_info
(
info
->
index
,
oldestBtpoXact
,
...
...
src/backend/access/nbtree/nbtutils.c
View file @
1e9c8580
...
@@ -2196,8 +2196,8 @@ _bt_check_natts(Relation rel, Page page, OffsetNumber offnum)
...
@@ -2196,8 +2196,8 @@ _bt_check_natts(Relation rel, Page page, OffsetNumber offnum)
* non-zero, or when there is no explicit representation and the
* non-zero, or when there is no explicit representation and the
* tuple is evidently not a pre-pg_upgrade tuple.
* tuple is evidently not a pre-pg_upgrade tuple.
*
*
* Prior to v11, downlinks always had P_HIKEY as their offset.
* Prior to v11, downlinks always had P_HIKEY as their offset.
Use
*
Use
that to decide if the tuple is a pre-v11 tuple.
* that to decide if the tuple is a pre-v11 tuple.
*/
*/
return
BTreeTupleGetNAtts
(
itup
,
rel
)
==
0
||
return
BTreeTupleGetNAtts
(
itup
,
rel
)
==
0
||
((
itup
->
t_info
&
INDEX_ALT_TID_MASK
)
==
0
&&
((
itup
->
t_info
&
INDEX_ALT_TID_MASK
)
==
0
&&
...
...
src/backend/access/transam/xlog.c
View file @
1e9c8580
...
@@ -4512,7 +4512,7 @@ ReadControlFile(void)
...
@@ -4512,7 +4512,7 @@ ReadControlFile(void)
errmsg
(
"could not read from control file: %m"
)));
errmsg
(
"could not read from control file: %m"
)));
else
else
ereport
(
PANIC
,
ereport
(
PANIC
,
(
errmsg
(
"could not read from control file: read %d bytes, expected %d"
,
r
,
(
int
)
sizeof
(
ControlFileData
))));
(
errmsg
(
"could not read from control file: read %d bytes, expected %d"
,
r
,
(
int
)
sizeof
(
ControlFileData
))));
}
}
pgstat_report_wait_end
();
pgstat_report_wait_end
();
...
...
src/backend/access/transam/xlogreader.c
View file @
1e9c8580
...
@@ -829,9 +829,9 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr,
...
@@ -829,9 +829,9 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr,
}
}
/*
/*
* Check that the address on the page agrees with what we expected.
* Check that the address on the page agrees with what we expected.
This
*
This check typically fails when an old WAL segment is recycled,
*
check typically fails when an old WAL segment is recycled, and hasn't
*
and hasn't
yet been overwritten with new data yet.
* yet been overwritten with new data yet.
*/
*/
if
(
hdr
->
xlp_pageaddr
!=
recaddr
)
if
(
hdr
->
xlp_pageaddr
!=
recaddr
)
{
{
...
...
src/backend/commands/indexcmds.c
View file @
1e9c8580
...
@@ -1002,7 +1002,7 @@ DefineIndex(Oid relationId,
...
@@ -1002,7 +1002,7 @@ DefineIndex(Oid relationId,
*/
*/
foreach
(
lc
,
childStmt
->
indexParams
)
foreach
(
lc
,
childStmt
->
indexParams
)
{
{
IndexElem
*
ielem
=
lfirst
(
lc
);
IndexElem
*
ielem
=
lfirst
(
lc
);
/*
/*
* If the index parameter is an expression, we must
* If the index parameter is an expression, we must
...
...
src/backend/executor/execMain.c
View file @
1e9c8580
...
@@ -1865,7 +1865,7 @@ ExecPartitionCheck(ResultRelInfo *resultRelInfo, TupleTableSlot *slot,
...
@@ -1865,7 +1865,7 @@ ExecPartitionCheck(ResultRelInfo *resultRelInfo, TupleTableSlot *slot,
EState
*
estate
,
bool
emitError
)
EState
*
estate
,
bool
emitError
)
{
{
ExprContext
*
econtext
;
ExprContext
*
econtext
;
bool
success
;
bool
success
;
/*
/*
* If first time through, build expression state tree for the partition
* If first time through, build expression state tree for the partition
...
...
src/backend/replication/logical/reorderbuffer.c
View file @
1e9c8580
...
@@ -754,9 +754,9 @@ ReorderBufferAssignChild(ReorderBuffer *rb, TransactionId xid,
...
@@ -754,9 +754,9 @@ ReorderBufferAssignChild(ReorderBuffer *rb, TransactionId xid,
else
else
{
{
/*
/*
* We already saw this transaction, but initially added it to the
list
* We already saw this transaction, but initially added it to the
*
of top-level txns. Now that we know it's not top-level, remove
*
list of top-level txns. Now that we know it's not top-level,
* it from there.
*
remove
it from there.
*/
*/
dlist_delete
(
&
subtxn
->
node
);
dlist_delete
(
&
subtxn
->
node
);
}
}
...
...
src/backend/storage/ipc/procarray.c
View file @
1e9c8580
...
@@ -2014,8 +2014,8 @@ GetRunningTransactionData(void)
...
@@ -2014,8 +2014,8 @@ GetRunningTransactionData(void)
/*
/*
* If we wished to exclude xids this would be the right place for it.
* If we wished to exclude xids this would be the right place for it.
* Procs with the PROC_IN_VACUUM flag set don't usually assign xids,
* Procs with the PROC_IN_VACUUM flag set don't usually assign xids,
* but they do during truncation at the end when they get the lock
* but they do during truncation at the end when they get the lock
and
*
and
truncate, so it is not much of a problem to include them if they
* truncate, so it is not much of a problem to include them if they
* are seen and it is cleaner to include them.
* are seen and it is cleaner to include them.
*/
*/
...
...
src/backend/storage/ipc/standby.c
View file @
1e9c8580
...
@@ -53,8 +53,8 @@ static void LogAccessExclusiveLocks(int nlocks, xl_standby_lock *locks);
...
@@ -53,8 +53,8 @@ static void LogAccessExclusiveLocks(int nlocks, xl_standby_lock *locks);
*/
*/
typedef
struct
RecoveryLockListsEntry
typedef
struct
RecoveryLockListsEntry
{
{
TransactionId
xid
;
TransactionId
xid
;
List
*
locks
;
List
*
locks
;
}
RecoveryLockListsEntry
;
}
RecoveryLockListsEntry
;
/*
/*
...
@@ -73,7 +73,7 @@ void
...
@@ -73,7 +73,7 @@ void
InitRecoveryTransactionEnvironment
(
void
)
InitRecoveryTransactionEnvironment
(
void
)
{
{
VirtualTransactionId
vxid
;
VirtualTransactionId
vxid
;
HASHCTL
hash_ctl
;
HASHCTL
hash_ctl
;
/*
/*
* Initialize the hash table for tracking the list of locks held by each
* Initialize the hash table for tracking the list of locks held by each
...
@@ -671,6 +671,7 @@ StandbyReleaseLockList(List *locks)
...
@@ -671,6 +671,7 @@ StandbyReleaseLockList(List *locks)
{
{
xl_standby_lock
*
lock
=
(
xl_standby_lock
*
)
linitial
(
locks
);
xl_standby_lock
*
lock
=
(
xl_standby_lock
*
)
linitial
(
locks
);
LOCKTAG
locktag
;
LOCKTAG
locktag
;
elog
(
trace_recovery
(
DEBUG4
),
elog
(
trace_recovery
(
DEBUG4
),
"releasing recovery lock: xid %u db %u rel %u"
,
"releasing recovery lock: xid %u db %u rel %u"
,
lock
->
xid
,
lock
->
dbOid
,
lock
->
relOid
);
lock
->
xid
,
lock
->
dbOid
,
lock
->
relOid
);
...
@@ -728,7 +729,7 @@ StandbyReleaseLockTree(TransactionId xid, int nsubxids, TransactionId *subxids)
...
@@ -728,7 +729,7 @@ StandbyReleaseLockTree(TransactionId xid, int nsubxids, TransactionId *subxids)
void
void
StandbyReleaseAllLocks
(
void
)
StandbyReleaseAllLocks
(
void
)
{
{
HASH_SEQ_STATUS
status
;
HASH_SEQ_STATUS
status
;
RecoveryLockListsEntry
*
entry
;
RecoveryLockListsEntry
*
entry
;
elog
(
trace_recovery
(
DEBUG2
),
"release all standby locks"
);
elog
(
trace_recovery
(
DEBUG2
),
"release all standby locks"
);
...
@@ -749,7 +750,7 @@ StandbyReleaseAllLocks(void)
...
@@ -749,7 +750,7 @@ StandbyReleaseAllLocks(void)
void
void
StandbyReleaseOldLocks
(
TransactionId
oldxid
)
StandbyReleaseOldLocks
(
TransactionId
oldxid
)
{
{
HASH_SEQ_STATUS
status
;
HASH_SEQ_STATUS
status
;
RecoveryLockListsEntry
*
entry
;
RecoveryLockListsEntry
*
entry
;
hash_seq_init
(
&
status
,
RecoveryLockLists
);
hash_seq_init
(
&
status
,
RecoveryLockLists
);
...
...
src/backend/tcop/utility.c
View file @
1e9c8580
...
@@ -1316,8 +1316,8 @@ ProcessUtilitySlow(ParseState *pstate,
...
@@ -1316,8 +1316,8 @@ ProcessUtilitySlow(ParseState *pstate,
* acquire locks early to avoid deadlocks.
* acquire locks early to avoid deadlocks.
*
*
* We also take the opportunity to verify that all
* We also take the opportunity to verify that all
* partitions are something we can put an index on,
* partitions are something we can put an index on,
to
*
to
avoid building some indexes only to fail later.
* avoid building some indexes only to fail later.
*/
*/
if
(
stmt
->
relation
->
inh
&&
if
(
stmt
->
relation
->
inh
&&
get_rel_relkind
(
relid
)
==
RELKIND_PARTITIONED_TABLE
)
get_rel_relkind
(
relid
)
==
RELKIND_PARTITIONED_TABLE
)
...
@@ -1328,7 +1328,7 @@ ProcessUtilitySlow(ParseState *pstate,
...
@@ -1328,7 +1328,7 @@ ProcessUtilitySlow(ParseState *pstate,
inheritors
=
find_all_inheritors
(
relid
,
lockmode
,
NULL
);
inheritors
=
find_all_inheritors
(
relid
,
lockmode
,
NULL
);
foreach
(
lc
,
inheritors
)
foreach
(
lc
,
inheritors
)
{
{
char
relkind
=
get_rel_relkind
(
lfirst_oid
(
lc
));
char
relkind
=
get_rel_relkind
(
lfirst_oid
(
lc
));
if
(
relkind
!=
RELKIND_RELATION
&&
if
(
relkind
!=
RELKIND_RELATION
&&
relkind
!=
RELKIND_MATVIEW
&&
relkind
!=
RELKIND_MATVIEW
&&
...
...
src/backend/utils/adt/jsonb.c
View file @
1e9c8580
...
@@ -1902,29 +1902,29 @@ cannotCastJsonbValue(enum jbvType type, const char *sqltype)
...
@@ -1902,29 +1902,29 @@ cannotCastJsonbValue(enum jbvType type, const char *sqltype)
{
{
static
const
struct
static
const
struct
{
{
enum
jbvType
type
;
enum
jbvType
type
;
const
char
*
msg
;
const
char
*
msg
;
}
}
messages
[]
=
messages
[]
=
{
{
{
jbvNull
,
gettext_noop
(
"cannot cast jsonb null to type %s"
)
},
{
jbvNull
,
gettext_noop
(
"cannot cast jsonb null to type %s"
)
},
{
jbvString
,
gettext_noop
(
"cannot cast jsonb string to type %s"
)
},
{
jbvString
,
gettext_noop
(
"cannot cast jsonb string to type %s"
)
},
{
jbvNumeric
,
gettext_noop
(
"cannot cast jsonb numeric to type %s"
)
},
{
jbvNumeric
,
gettext_noop
(
"cannot cast jsonb numeric to type %s"
)
},
{
jbvBool
,
gettext_noop
(
"cannot cast jsonb boolean to type %s"
)
},
{
jbvBool
,
gettext_noop
(
"cannot cast jsonb boolean to type %s"
)
},
{
jbvArray
,
gettext_noop
(
"cannot cast jsonb array to type %s"
)
},
{
jbvArray
,
gettext_noop
(
"cannot cast jsonb array to type %s"
)
},
{
jbvObject
,
gettext_noop
(
"cannot cast jsonb object to type %s"
)
},
{
jbvObject
,
gettext_noop
(
"cannot cast jsonb object to type %s"
)
},
{
jbvBinary
,
gettext_noop
(
"cannot cast jsonb array or object to type %s"
)
}
{
jbvBinary
,
gettext_noop
(
"cannot cast jsonb array or object to type %s"
)
}
};
};
int
i
;
int
i
;
for
(
i
=
0
;
i
<
lengthof
(
messages
);
i
++
)
for
(
i
=
0
;
i
<
lengthof
(
messages
);
i
++
)
if
(
messages
[
i
].
type
==
type
)
if
(
messages
[
i
].
type
==
type
)
ereport
(
ERROR
,
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INVALID_PARAMETER_VALUE
),
(
errcode
(
ERRCODE_INVALID_PARAMETER_VALUE
),
errmsg
(
messages
[
i
].
msg
,
sqltype
)));
errmsg
(
messages
[
i
].
msg
,
sqltype
)));
/* should be unreachable */
/* should be unreachable */
elog
(
ERROR
,
"unknown jsonb type: %d"
,
(
int
)
type
);
elog
(
ERROR
,
"unknown jsonb type: %d"
,
(
int
)
type
);
}
}
Datum
Datum
...
...
src/bin/pg_dump/pg_dump.h
View file @
1e9c8580
...
@@ -316,7 +316,7 @@ typedef struct _tableInfo
...
@@ -316,7 +316,7 @@ typedef struct _tableInfo
char
**
attoptions
;
/* per-attribute options */
char
**
attoptions
;
/* per-attribute options */
Oid
*
attcollation
;
/* per-attribute collation selection */
Oid
*
attcollation
;
/* per-attribute collation selection */
char
**
attfdwoptions
;
/* per-attribute fdw options */
char
**
attfdwoptions
;
/* per-attribute fdw options */
char
**
attmissingval
;
/* per attribute missing value */
char
**
attmissingval
;
/* per attribute missing value */
bool
*
notnull
;
/* NOT NULL constraints on attributes */
bool
*
notnull
;
/* NOT NULL constraints on attributes */
bool
*
inhNotNull
;
/* true if NOT NULL is inherited */
bool
*
inhNotNull
;
/* true if NOT NULL is inherited */
struct
_attrDefInfo
**
attrdefs
;
/* DEFAULT expressions */
struct
_attrDefInfo
**
attrdefs
;
/* DEFAULT expressions */
...
...
src/bin/psql/tab-complete.c
View file @
1e9c8580
...
@@ -1856,14 +1856,14 @@ psql_completion(const char *text, int start, int end)
...
@@ -1856,14 +1856,14 @@ psql_completion(const char *text, int start, int end)
/* ALTER INDEX <foo> SET|RESET ( */
/* ALTER INDEX <foo> SET|RESET ( */
else
if
(
Matches5
(
"ALTER"
,
"INDEX"
,
MatchAny
,
"RESET"
,
"("
))
else
if
(
Matches5
(
"ALTER"
,
"INDEX"
,
MatchAny
,
"RESET"
,
"("
))
COMPLETE_WITH_LIST8
(
"fillfactor"
,
"recheck_on_update"
,
COMPLETE_WITH_LIST8
(
"fillfactor"
,
"recheck_on_update"
,
"vacuum_cleanup_index_scale_factor"
,
/* BTREE */
"vacuum_cleanup_index_scale_factor"
,
/* BTREE */
"fastupdate"
,
"gin_pending_list_limit"
,
/* GIN */
"fastupdate"
,
"gin_pending_list_limit"
,
/* GIN */
"buffering"
,
/* GiST */
"buffering"
,
/* GiST */
"pages_per_range"
,
"autosummarize"
/* BRIN */
"pages_per_range"
,
"autosummarize"
/* BRIN */
);
);
else
if
(
Matches5
(
"ALTER"
,
"INDEX"
,
MatchAny
,
"SET"
,
"("
))
else
if
(
Matches5
(
"ALTER"
,
"INDEX"
,
MatchAny
,
"SET"
,
"("
))
COMPLETE_WITH_LIST8
(
"fillfactor ="
,
"recheck_on_update ="
,
COMPLETE_WITH_LIST8
(
"fillfactor ="
,
"recheck_on_update ="
,
"vacuum_cleanup_index_scale_factor ="
,
/* BTREE */
"vacuum_cleanup_index_scale_factor ="
,
/* BTREE */
"fastupdate ="
,
"gin_pending_list_limit ="
,
/* GIN */
"fastupdate ="
,
"gin_pending_list_limit ="
,
/* GIN */
"buffering ="
,
/* GiST */
"buffering ="
,
/* GiST */
"pages_per_range ="
,
"autosummarize ="
/* BRIN */
"pages_per_range ="
,
"autosummarize ="
/* BRIN */
...
...
src/include/access/xlogreader.h
View file @
1e9c8580
...
@@ -207,7 +207,7 @@ extern struct XLogRecord *XLogReadRecord(XLogReaderState *state,
...
@@ -207,7 +207,7 @@ extern struct XLogRecord *XLogReadRecord(XLogReaderState *state,
/* Validate a page */
/* Validate a page */
extern
bool
XLogReaderValidatePageHeader
(
XLogReaderState
*
state
,
extern
bool
XLogReaderValidatePageHeader
(
XLogReaderState
*
state
,
XLogRecPtr
recptr
,
char
*
phdr
);
XLogRecPtr
recptr
,
char
*
phdr
);
/* Invalidate read state */
/* Invalidate read state */
extern
void
XLogReaderInvalReadState
(
XLogReaderState
*
state
);
extern
void
XLogReaderInvalReadState
(
XLogReaderState
*
state
);
...
...
src/include/replication/reorderbuffer.h
View file @
1e9c8580
...
@@ -214,7 +214,7 @@ typedef struct ReorderBufferTXN
...
@@ -214,7 +214,7 @@ typedef struct ReorderBufferTXN
*/
*/
Snapshot
base_snapshot
;
Snapshot
base_snapshot
;
XLogRecPtr
base_snapshot_lsn
;
XLogRecPtr
base_snapshot_lsn
;
dlist_node
base_snapshot_node
;
/* link in txns_by_base_snapshot_lsn */
dlist_node
base_snapshot_node
;
/* link in txns_by_base_snapshot_lsn */
/*
/*
* How many ReorderBufferChange's do we have in this txn.
* How many ReorderBufferChange's do we have in this txn.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment