public inbox for [email protected]
help / color / mirror / Atom feed[PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
25+ messages / 3 participants
[nested] [flat]
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v10 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 5b8a1e4b61..f36c29ce7f 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -686,7 +686,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--8nsIa27JVQLqB7/C
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
filename="v10-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v8 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index c4fe75df8e..a8bbfcc71f 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -683,7 +683,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 71de7cf80e..e6bb27aade 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--AZuoSAvZwvV/ife4
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v8-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples..
@ 2020-12-05 14:52 Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2020-12-05 14:52 UTC (permalink / raw)
..rather than line length
---
src/backend/commands/copyfrom.c | 2 +-
src/include/executor/nodeModifyTable.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c
index 8221a2c5d3..e5ea909dfe 100644
--- a/src/backend/commands/copyfrom.c
+++ b/src/backend/commands/copyfrom.c
@@ -685,7 +685,7 @@ CopyFrom(CopyFromState cstate)
/* Add this tuple to the tuple buffer */
MultiInsertInfoStore(&cstate->miinfo,
resultRelInfo, myslot,
- cstate->line_buf.len,
+ MemoryContextMemAllocated(myslot->tts_mcxt, true),
cstate->miinfo.cur_lineno);
/*
diff --git a/src/include/executor/nodeModifyTable.h b/src/include/executor/nodeModifyTable.h
index 30542a542a..87b689099c 100644
--- a/src/include/executor/nodeModifyTable.h
+++ b/src/include/executor/nodeModifyTable.h
@@ -41,10 +41,10 @@ extern void ExecReScanModifyTable(ModifyTableState *node);
#define MAX_BUFFERED_TUPLES 1000
/*
- * Flush buffers if there are >= this many bytes, as counted by the input
- * size, of tuples stored.
+ * Flush buffers if there are >= this many bytes of tuples stored, as counted
+ * by the slot's memory contexts.
*/
-#define MAX_BUFFERED_BYTES 65535
+#define MAX_BUFFERED_BYTES (1024*1024*8)
/* Trim the list of buffers back down to this number after flushing */
#define MAX_PARTITION_BUFFERS 32
--
2.17.0
--3yNHWXBV/QO9xKNm
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="v9-0004-WIP-check-tuple-size.patch"
^ permalink raw reply [nested|flat] 25+ messages in thread
* Re: shared_preload_libraries = 'pg_stat_statements' failing with installcheck (compute_query_id = auto)
@ 2022-02-22 02:04 Michael Paquier <[email protected]>
2022-02-23 02:38 ` Re: shared_preload_libraries = 'pg_stat_statements' failing with installcheck (compute_query_id = auto) Justin Pryzby <[email protected]>
0 siblings, 1 reply; 25+ messages in thread
From: Michael Paquier @ 2022-02-22 02:04 UTC (permalink / raw)
To: Julien Rouhaud <[email protected]>; +Cc: Postgres hackers <[email protected]>; Bruce Momjian <[email protected]>
On Fri, Feb 18, 2022 at 05:38:56PM +0800, Julien Rouhaud wrote:
> On Fri, Feb 18, 2022 at 05:22:36PM +0900, Michael Paquier wrote:
>> So, I have been looking at this problem, and I don't see a problem in
>> doing something like the attached, where we add a "regress" mode to
>> compute_query_id that is a synonym of "auto". Or, in short, we have
>> the default of letting a module decide if a query ID can be computed
>> or not, at the exception that we hide its result in EXPLAIN outputs.
>>
>> Julien, what do you think?
>
> I don't see any problem with that patch.
Okay, thanks. I have worked on that today and applied the patch down
to 14, but without the change to enforce the parameter in the
databases created by pg_regress. Perhaps we should do that in the
long-term, but it is also possible to pass down the option to
PGOPTIONS via command line as compute_query_id is a SUSET or just set
it in postgresql.conf, and being able to do so is enough to address
all the cases I have seen and/or could think about.
--
Michael
Attachments:
[application/pgp-signature] signature.asc (833B, ../../[email protected]/2-signature.asc)
download
^ permalink raw reply [nested|flat] 25+ messages in thread
* Re: shared_preload_libraries = 'pg_stat_statements' failing with installcheck (compute_query_id = auto)
2022-02-22 02:04 Re: shared_preload_libraries = 'pg_stat_statements' failing with installcheck (compute_query_id = auto) Michael Paquier <[email protected]>
@ 2022-02-23 02:38 ` Justin Pryzby <[email protected]>
0 siblings, 0 replies; 25+ messages in thread
From: Justin Pryzby @ 2022-02-23 02:38 UTC (permalink / raw)
To: Michael Paquier <[email protected]>; +Cc: Julien Rouhaud <[email protected]>; [email protected]; Bruce Momjian <[email protected]>
On Tue, Feb 22, 2022 at 11:04:16AM +0900, Michael Paquier wrote:
> On Fri, Feb 18, 2022 at 05:38:56PM +0800, Julien Rouhaud wrote:
> > On Fri, Feb 18, 2022 at 05:22:36PM +0900, Michael Paquier wrote:
> >> So, I have been looking at this problem, and I don't see a problem in
> >> doing something like the attached, where we add a "regress" mode to
> >> compute_query_id that is a synonym of "auto". Or, in short, we have
> >> the default of letting a module decide if a query ID can be computed
> >> or not, at the exception that we hide its result in EXPLAIN outputs.
> Okay, thanks. I have worked on that today and applied the patch down
While rebasing, I noticed that this patch does part of what I added in another
thread.
https://commitfest.postgresql.org/37/3409/
| explain_regress, explain(MACHINE), and default to explain(BUFFERS)
- if (es->verbose && plannedstmt->queryId != UINT64CONST(0))
+ if (es->verbose && plannedstmt->queryId != UINT64CONST(0) && es->machine)
{
/*
* Output the queryid as an int64 rather than a uint64 so we match
Apparently, I first wrote this two years ago today.
--
Justin
^ permalink raw reply [nested|flat] 25+ messages in thread
end of thread, other threads:[~2022-02-23 02:38 UTC | newest]
Thread overview: 25+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v10 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v8 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2020-12-05 14:52 [PATCH v9 3/4] COPY: flush multi-insert buffer based on accumulated size of tuples.. Justin Pryzby <[email protected]>
2022-02-22 02:04 Re: shared_preload_libraries = 'pg_stat_statements' failing with installcheck (compute_query_id = auto) Michael Paquier <[email protected]>
2022-02-23 02:38 ` Re: shared_preload_libraries = 'pg_stat_statements' failing with installcheck (compute_query_id = auto) Justin Pryzby <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox