mirror of https://github.com/citusdata/citus.git
Introduces CopyFromState_compat macro
CopyState struct is divided into parts and one of them is CopyFromState This macro uses the appropriate one for PG versions Relevant PG commit: c532d15dddff14b01fe9ef1d465013cb8ef186dfpull/5209/head
parent
8f34f84ce6
commit
35cfa5d7b9
|
@ -209,13 +209,12 @@ DoLocalCopy(StringInfo buffer, Oid relationId, int64 shardId, CopyStmt *copyStat
|
|||
Oid shardOid = GetTableLocalShardOid(relationId, shardId);
|
||||
Relation shard = table_open(shardOid, RowExclusiveLock);
|
||||
ParseState *pState = make_parsestate(NULL);
|
||||
|
||||
/* p_rtable of pState is set so that we can check constraints. */
|
||||
pState->p_rtable = CreateRangeTable(shard, ACL_INSERT);
|
||||
|
||||
CopyState cstate = BeginCopyFrom(pState, shard, NULL, false,
|
||||
ReadFromLocalBufferCallback,
|
||||
copyStatement->attlist, copyStatement->options);
|
||||
(void) addRangeTableEntryForRelation(pState, shard, AccessShareLock,
|
||||
NULL, false, false);
|
||||
CopyFromState cstate = BeginCopyFrom_compat(pState, shard, NULL, NULL, false,
|
||||
ReadFromLocalBufferCallback,
|
||||
copyStatement->attlist,
|
||||
copyStatement->options);
|
||||
CopyFrom(cstate);
|
||||
EndCopyFrom(cstate);
|
||||
|
||||
|
|
|
@ -520,13 +520,14 @@ CopyToExistingShards(CopyStmt *copyStatement, QueryCompletionCompat *completionT
|
|||
}
|
||||
|
||||
/* initialize copy state to read from COPY data source */
|
||||
CopyState copyState = BeginCopyFrom(NULL,
|
||||
copiedDistributedRelation,
|
||||
copyStatement->filename,
|
||||
copyStatement->is_program,
|
||||
NULL,
|
||||
copyStatement->attlist,
|
||||
copyStatement->options);
|
||||
CopyFromState copyState = BeginCopyFrom_compat(NULL,
|
||||
copiedDistributedRelation,
|
||||
NULL,
|
||||
copyStatement->filename,
|
||||
copyStatement->is_program,
|
||||
NULL,
|
||||
copyStatement->attlist,
|
||||
copyStatement->options);
|
||||
|
||||
/* set up callback to identify error line number */
|
||||
errorCallback.callback = CopyFromErrorCallback;
|
||||
|
@ -617,13 +618,14 @@ CopyToNewShards(CopyStmt *copyStatement, QueryCompletionCompat *completionTag, O
|
|||
(ShardConnections *) palloc0(sizeof(ShardConnections));
|
||||
|
||||
/* initialize copy state to read from COPY data source */
|
||||
CopyState copyState = BeginCopyFrom(NULL,
|
||||
distributedRelation,
|
||||
copyStatement->filename,
|
||||
copyStatement->is_program,
|
||||
NULL,
|
||||
copyStatement->attlist,
|
||||
copyStatement->options);
|
||||
CopyFromState copyState = BeginCopyFrom_compat(NULL,
|
||||
distributedRelation,
|
||||
NULL,
|
||||
copyStatement->filename,
|
||||
copyStatement->is_program,
|
||||
NULL,
|
||||
copyStatement->attlist,
|
||||
copyStatement->options);
|
||||
|
||||
CopyOutState copyOutState = (CopyOutState) palloc0(sizeof(CopyOutStateData));
|
||||
copyOutState->delim = (char *) delimiterCharacter;
|
||||
|
|
|
@ -410,8 +410,9 @@ ReadFileIntoTupleStore(char *fileName, char *copyFormat, TupleDesc tupleDescript
|
|||
location);
|
||||
copyOptions = lappend(copyOptions, copyOption);
|
||||
|
||||
CopyState copyState = BeginCopyFrom(NULL, stubRelation, fileName, false, NULL,
|
||||
NULL, copyOptions);
|
||||
CopyFromState copyState = BeginCopyFrom_compat(NULL, stubRelation, NULL,
|
||||
fileName, false, NULL,
|
||||
NULL, copyOptions);
|
||||
|
||||
while (true)
|
||||
{
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
#define VACOPTVALUE_DISABLED_COMPAT VACOPTVALUE_DISABLED
|
||||
#define VACOPTVALUE_ENABLED_COMPAT VACOPTVALUE_ENABLED
|
||||
#define IsReindexWithParam_compat(reindex, param) IsReindexWithParam(reindex, param)
|
||||
#define CopyFromState_compat CopyFromState
|
||||
#else
|
||||
#define AlterTableStmtObjType(a) ((a)->relkind)
|
||||
#define F_NEXTVAL_COMPAT F_NEXTVAL_OID
|
||||
|
@ -69,6 +70,7 @@
|
|||
((strcmp(param, "concurrently") == 0) ? ((reindex)->concurrent) : \
|
||||
((strcmp(param, "verbose") == 0) ? ((reindex)->options == REINDEXOPT_VERBOSE) : \
|
||||
false))
|
||||
#define CopyFromState_compat CopyState
|
||||
#endif
|
||||
|
||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||
|
|
Loading…
Reference in New Issue