<feed xmlns='http://www.w3.org/2005/Atom'>
<title>postgresql.git/src/backend/commands/copyfrom.c, branch REL_19_STABLE</title>
<subtitle>This is the main PostgreSQL git repository.</subtitle>
<id>http://git.postgresql.org/cgit/postgresql.git/atom?h=REL_19_STABLE</id>
<link rel='self' href='http://git.postgresql.org/cgit/postgresql.git/atom?h=REL_19_STABLE'/>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/'/>
<updated>2026-09-15T10:16:42Z</updated>
<entry>
<title>Revert UPDATE/DELETE FOR PORTION OF</title>
<updated>2026-09-15T10:16:42Z</updated>
<author>
<name>Peter Eisentraut</name>
</author>
<published>2026-09-15T10:16:42Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=a9d2f7282407a32280c72cd99e243d62033de57b'/>
<id>urn:sha1:a9d2f7282407a32280c72cd99e243d62033de57b</id>
<content type='text'>
List of commits reverted:

  8e72d914c52  Add UPDATE/DELETE FOR PORTION OF
  b6ccd30d8ff  Add isolation tests for UPDATE/DELETE FOR PORTION OF
  33db6c4baf1  Fix DELETE/UPDATE FOR PORTION OF with rules
  7b22f15a015  Add psql tab completion for FOR PORTION OF clause
  7ca8c942967  Fix FOR PORTION OF with non-updatable view columns
  993a7aa0e4a  Fix cross-leftover pollution in FOR PORTION OF insert triggers
  7ac030d5b15  Require UPDATE permission on FOR PORTION OF column
  f0aedc7cb0e  Small terminology fixes in comments
  7d13b03a2e6  Fix FOR PORTION OF for inheritance children
  a272a58b942  Move FOR PORTION OF volatile check into planner
  a40fdf65886  Reject child partition FDWs in FOR PORTION OF
  bc3ae886a75  Forbid FOR PORTION OF with WHERE CURRENT OF
  c8d49ffb007  Forbid generated columns in FOR PORTION OF
  5b5e99047ab  Forbid FOR PORTION OF on views with INSTEAD OF triggers
  c58c83ce50c  Fix RLS checks for FOR PORTION OF leftover rows
  5454fe4a6e7  Test what BEFORE UPDATE triggers do to FOR PORTION OF
  2a9541ddfd3  Deparse FOR PORTION OF using the range column's current name.
  fd92f74b91d  Avoid RETURNING side effects for FOR PORTION OF leftovers.
  f3a116a26ff  Enforce WITH CHECK OPTION on DELETE FOR PORTION OF leftovers
  c7e34c31e84  Fix error code for null FOR PORTION OF target
  938f4f8f343  Fix assertion failures in DELETE FOR PORTION OF tuple routing
  f1940321687  Resolve untyped parameters in FOR PORTION OF FROM/TO bounds
  98f6984e5c0  Don't evaluate the FOR PORTION OF target under EXPLAIN

plus release notes entries.

Discussion: https://www.postgresql.org/message-id/62bf70cc-dc33-4188-8070-a8c177bb61de%40eisentraut.org
</content>
</entry>
<entry>
<title>Reject child partition FDWs in FOR PORTION OF</title>
<updated>2026-06-27T17:36:51Z</updated>
<author>
<name>Peter Eisentraut</name>
</author>
<published>2026-06-27T17:34:40Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=a40fdf658862b3221a35268f8c74abfd46b9e93c'/>
<id>urn:sha1:a40fdf658862b3221a35268f8c74abfd46b9e93c</id>
<content type='text'>
We should defer validating FDW usage until after analysis.  We have to
guard against not just the topmost table, but also individual child
partitions.  Added the check to CheckValidResultRel, because it is
called after looking up child partitions (accounting for pruning), but
before the FDW can run a DirectModify update, which would bypass
per-tuple executor work.

Author: jian he &lt;jian.universality@gmail.com&gt;
Reported-by: Tom Lane &lt;tgl@sss.pgh.pa.us&gt;
Reviewed-by: Paul A. Jungwirth &lt;pj@illuminatedcomputing.com&gt;
Discussion: https://www.postgresql.org/message-id/flat/CA%2BrenyUte0_UJsJiDJQi82oaBsMJn%3Dcct0Wn%3DvOqXtuDn%3DYYJA%40mail.gmail.com
</content>
</entry>
<entry>
<title>Fix COPY FROM ON_ERROR SET_NULL with selective column list</title>
<updated>2026-05-19T01:11:41Z</updated>
<author>
<name>Fujii Masao</name>
</author>
<published>2026-05-19T01:11:41Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=1164a822729a496baedfc4068a6c86e247d5934e'/>
<id>urn:sha1:1164a822729a496baedfc4068a6c86e247d5934e</id>
<content type='text'>
When using COPY FROM ... ON_ERROR SET_NULL with a selective column list, the
domain_with_constraint array was incorrectly allocated based on the length of
the target column list. While the array was populated sequentially,
CopyFromTextLikeOneRow attempted to access it using the physical attribute
index (attnum - 1). This mismatch caused out-of-bounds reads when targeting
high-numbered columns, allowing NULL values to bypass NOT NULL domain checks
and be silently inserted.

Fix by allocating the array to match the total number of physical attributes
(num_phys_attrs) and indexing via attnum - 1, bringing it into alignment with
other per-column arrays in BeginCopyFrom.

Author: SATYANARAYANA NARLAPURAM &lt;satyanarlapuram@gmail.com&gt;
Reviewed-by: Jian He &lt;jian.universality@gmail.com&gt;
Reviewed-by: Chao Li &lt;li.evan.chao@gmail.com&gt;
Reviewed-by: Fujii Masao &lt;masao.fujii@gmail.com&gt;
Discussion: https://postgr.es/m/CAHg+QDdej0c0gWJi2FnbirzhgzyZNPiTwC1P5B_-dSNCzq-91A@mail.gmail.com
</content>
</entry>
<entry>
<title>Fix vicinity of tuple_insert to use uint32, not int, for options</title>
<updated>2026-04-01T16:14:51Z</updated>
<author>
<name>Álvaro Herrera</name>
</author>
<published>2026-04-01T16:14:51Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=ec2f81766ad72d3ff4c45400f30d2670589aec11'/>
<id>urn:sha1:ec2f81766ad72d3ff4c45400f30d2670589aec11</id>
<content type='text'>
Oversight in commit 1bd6f22f43ac: I was way too optimistic about the
compiler letting me know what variables needed to be updated, and missed
a few of them.  Clean it up.

Author: Álvaro Herrera &lt;alvherre@kurilemu.de&gt;
Reported-by: Chao Li &lt;li.evan.chao@gmail.com&gt;
Discussion: https://postgr.es/m/40E570EE-5A60-49D8-B8F7-2F8F2B7C8DFA@gmail.com
</content>
</entry>
<entry>
<title>introduce CopyFormat, refactor CopyFormatOptions</title>
<updated>2026-03-20T12:21:57Z</updated>
<author>
<name>Andrew Dunstan</name>
</author>
<published>2026-03-16T20:49:01Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=a2145605ee3d92faccd769010059b110c44104ff'/>
<id>urn:sha1:a2145605ee3d92faccd769010059b110c44104ff</id>
<content type='text'>
Currently, the COPY command format is determined by two boolean fields
(binary, csv_mode) in CopyFormatOptions.  This approach, while
functional, isn't ideal for implementing other formats in the future.

To simplify adding new formats, introduce a CopyFormat enum.  This makes
the code cleaner and more maintainable, allowing for easier integration
of additional formats down the line.

Author: Joel Jacobson &lt;joel@compiler.org&gt;
Author: jian he &lt;jian.universality@gmail.com&gt;
Reviewed-by: Andrew Dunstan &lt;andrew@dunslane.net&gt;
Discussion: https://postgr.es/m/CALvfUkBxTYy5uWPFVwpk_7ii2zgT07t3d-yR_cy4sfrrLU%3Dkcg%40mail.gmail.com
Discussion: https://postgr.es/m/6a04628d-0d53-41d9-9e35-5a8dc302c34c@joeconway.com
</content>
</entry>
<entry>
<title>Reduce header inclusions via execnodes.h</title>
<updated>2026-03-16T13:34:57Z</updated>
<author>
<name>Álvaro Herrera</name>
</author>
<published>2026-03-16T13:34:57Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=fba4233c832870c8363438419743c48fdcb2151c'/>
<id>urn:sha1:fba4233c832870c8363438419743c48fdcb2151c</id>
<content type='text'>
Remove a bunch of #include lines from execnodes.h.  Most of these
requier suitable typedefs to be added, so that it still compiles
standalone.  In one case, the fix is to move a struct definition to the
one .c file where it is needed.

Also some light clean up in plannodes.h and genam.h, though not as
extensive as in execnodes.h.

Author: Álvaro Herrera &lt;alvherre@kurilemu.de&gt;
Author: Andres Freund &lt;andres@anarazel.de&gt;
Discussion: https://postgr.es/m/202603131240.ihwqdxnj7w2o@alvherre.pgsql
</content>
</entry>
<entry>
<title>Optimize COPY FROM (FORMAT {text,csv}) using SIMD.</title>
<updated>2026-03-13T16:07:32Z</updated>
<author>
<name>Nathan Bossart</name>
</author>
<published>2026-03-13T16:07:32Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=e0a3a3fd5361913502ff696ecf47770ca55975ae'/>
<id>urn:sha1:e0a3a3fd5361913502ff696ecf47770ca55975ae</id>
<content type='text'>
Presently, such commands scan the input buffer one byte at a time
looking for special characters.  This commit adds a new path that
uses SIMD instructions to skip over chunks of data without any
special characters.  This can be much faster.

To avoid regressions, SIMD processing is disabled for the remainder
of the COPY FROM command as soon as we encounter a short line or a
special character (except for end-of-line characters, else we'd
always disable it after the first line).  This is perhaps too
conservative, but it could probably be made more lenient in the
future via fine-tuned heuristics.

Author: Nazir Bilal Yavuz &lt;byavuz81@gmail.com&gt;
Co-authored-by: Shinya Kato &lt;shinya11.kato@gmail.com&gt;
Reviewed-by: Ayoub Kazar &lt;ma_kazar@esi.dz&gt;
Reviewed-by: Andrew Dunstan &lt;andrew@dunslane.net&gt;
Reviewed-by: Neil Conway &lt;neil.conway@gmail.com&gt;
Reviewed-by: Greg Burd &lt;greg@burd.me&gt;
Tested-by: Manni Wood &lt;manni.wood@enterprisedb.com&gt;
Tested-by: Mark Wong &lt;markwkm@gmail.com&gt;
Discussion: https://postgr.es/m/CAOzEurSW8cNr6TPKsjrstnPfhf4QyQqB4tnPXGGe8N4e_v7Jig%40mail.gmail.com
</content>
</entry>
<entry>
<title>Extend DomainHasConstraints() to optionally check constraint volatility</title>
<updated>2026-03-12T22:04:16Z</updated>
<author>
<name>Andrew Dunstan</name>
</author>
<published>2026-03-12T21:52:33Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=487cf2cbd2f5a32cf9756eb9bd6dbf9f3956c8b7'/>
<id>urn:sha1:487cf2cbd2f5a32cf9756eb9bd6dbf9f3956c8b7</id>
<content type='text'>
Add an optional bool *has_volatile output parameter to
DomainHasConstraints().  When non-NULL, the function checks whether any
CHECK constraint contains a volatile expression.  Callers that don't
need this information pass NULL and get the same behavior as before.

This is needed by a subsequent commit that enables the fast default
optimization for domains with non-volatile constraints: we can safely
evaluate such constraints once at ALTER TABLE time, but volatile
constraints require a full table rewrite.

Author: Jian He &lt;jian.universality@gmail.com&gt;
Reviewed-by: Tom Lane &lt;tgl@sss.pgh.pa.us&gt;
Reviewed-by: Andrew Dunstan &lt;andrew@dunslane.net&gt;
Reviewed-by: Viktor Holmberg &lt;viktor.holmberg@aiven.io&gt;
Discussion: https://postgr.es/m/CACJufxE_+iZBR1i49k_AHigppPwLTJi6km8NOsC7FWvKdEmmXg@mail.gmail.com
</content>
</entry>
<entry>
<title>Add COPY (on_error set_null) option</title>
<updated>2026-03-03T06:37:12Z</updated>
<author>
<name>Peter Eisentraut</name>
</author>
<published>2026-03-03T06:23:38Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=2a525cc97e19868940c533787165bc7e7de3a80a'/>
<id>urn:sha1:2a525cc97e19868940c533787165bc7e7de3a80a</id>
<content type='text'>
If ON_ERROR SET_NULL is specified during COPY FROM, any data type
conversion errors will result in the affected column being set to a
null value.  A column's not-null constraints are still enforced, and
attempting to set a null value in such columns will raise a constraint
violation error.  This applies to a column whose data type is a domain
with a NOT NULL constraint.

Author: Jian He &lt;jian.universality@gmail.com&gt;
Author: Kirill Reshke &lt;reshkekirill@gmail.com&gt;
Reviewed-by: Fujii Masao &lt;masao.fujii@oss.nttdata.com&gt;
Reviewed-by: Jim Jones &lt;jim.jones@uni-muenster.de&gt;
Reviewed-by: "David G. Johnston" &lt;david.g.johnston@gmail.com&gt;
Reviewed-by: Yugo NAGATA &lt;nagata@sraoss.co.jp&gt;
Reviewed-by: torikoshia &lt;torikoshia@oss.nttdata.com&gt;
Reviewed-by: Masahiko Sawada &lt;sawada.mshk@gmail.com&gt;
Reviewed-by: Atsushi Torikoshi &lt;torikoshia@oss.nttdata.com&gt;
Reviewed-by: Matheus Alcantara &lt;matheusssilv97@gmail.com&gt;
Reviewed-by: Peter Eisentraut &lt;peter@eisentraut.org&gt;
Discussion: https://www.postgresql.org/message-id/flat/CAKFQuwawy1e6YR4S%3Dj%2By7pXqg_Dw1WBVrgvf%3DBP3d1_aSfe_%2BQ%40mail.gmail.com
</content>
</entry>
<entry>
<title>Use a bitmask for ExecInsertIndexTuples options</title>
<updated>2026-02-17T16:59:45Z</updated>
<author>
<name>Álvaro Herrera</name>
</author>
<published>2026-02-17T16:59:45Z</published>
<link rel='alternate' type='text/html' href='http://git.postgresql.org/cgit/postgresql.git/commit/?id=b7271aa1d71acda712a372213633fdb55c1465c1'/>
<id>urn:sha1:b7271aa1d71acda712a372213633fdb55c1465c1</id>
<content type='text'>
... instead of passing a bunch of separate booleans.

Also, rearrange the argument list in a hopefully more sensible order.

Discussion: https://postgr.es/m/202602111846.xpvuccb3inbx@alvherre.pgsql
Reviewed-by: Andres Freund &lt;andres@anarazel.de&gt;
Reviewed-by: Fabrízio de Royes Mello &lt;fabriziomello@gmail.com&gt; (older version)
</content>
</entry>
</feed>
