aboutsummaryrefslogtreecommitdiff
path: root/src/include/commands/copyfrom_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/commands/copyfrom_internal.h')
-rw-r--r--src/include/commands/copyfrom_internal.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/include/commands/copyfrom_internal.h b/src/include/commands/copyfrom_internal.h
index 7b1c4327bd3..ac2c16f8b86 100644
--- a/src/include/commands/copyfrom_internal.h
+++ b/src/include/commands/copyfrom_internal.h
@@ -44,8 +44,7 @@ typedef enum EolType
*/
typedef enum CopyInsertMethod
{
- CIM_SINGLE, /* use table_tuple_insert or
- * ExecForeignInsert */
+ CIM_SINGLE, /* use table_tuple_insert or ExecForeignInsert */
CIM_MULTI, /* always use table_multi_insert or
* ExecForeignBatchInsert */
CIM_MULTI_CONDITIONAL /* use table_multi_insert or
@@ -91,11 +90,16 @@ typedef struct CopyFromStateData
*/
MemoryContext copycontext; /* per-copy execution context */
- AttrNumber num_defaults;
+ AttrNumber num_defaults; /* count of att that are missing and have
+ * default value */
FmgrInfo *in_functions; /* array of input functions for each attrs */
Oid *typioparams; /* array of element types for in_functions */
- int *defmap; /* array of default att numbers */
- ExprState **defexprs; /* array of default att expressions */
+ int *defmap; /* array of default att numbers related to
+ * missing att */
+ ExprState **defexprs; /* array of default att expressions for all
+ * att */
+ bool *defaults; /* if DEFAULT marker was found for
+ * corresponding att */
bool volatile_defexprs; /* is any of defexprs volatile? */
List *range_table; /* single element list of RangeTblEntry */
List *rteperminfos; /* single element list of RTEPermissionInfo */