Assorted small doc patches
Hackers,
I posted all of these elsewhere (docs, bugs) but am consolidating them here
going forward.
v0001-database-default-name (-bugs, with a related cleanup suggestion as
well)
/messages/by-id/CAKFQuwZvHH1HVSOu7EYjvshynk4pnDwC5RwkF=VfZJvmUskwrQ@mail.gmail.com
v0002-doc-extension-dependent-routine-behavior (-general, reply to user
confusion)
/messages/by-id/CAKFQuwb_QtY25feLeh=8uNdnyo1H=cN4R3vENsUwQzJP4-0xZg@mail.gmail.com
v0001-doc-savepoint-name-reuse (-docs, reply to user request for
improvement)
/messages/by-id/CAKFQuwYzSb9OW5qTFgc0v9RWMN8bX83wpe8okQ7x6vtcmfA2KQ@mail.gmail.com
v0001-on-conflict-excluded-is-name-not-table (-docs, figured out while
trying to improve the docs to reduce user confusion in this area)
/messages/by-id/CAKFQuwYN20c0+7kKvm3PBgibu77BzxDvk9RvoXBb1=j1mDODPw@mail.gmail.com
v0001-doc-make-row-estimation-example-match-prose (-docs, reply to user
pointing of an inconsistency)
/messages/by-id/CAKFQuwax7V5R_rw=EOWmy=TBON6v3sveBx_WvwsENskCL5CLQQ@mail.gmail.com
Thanks!
David J.
Attachments:
v0001-doc-make-row-estimation-example-match-prose.patchapplication/octet-stream; name=v0001-doc-make-row-estimation-example-match-prose.patchDownload
commit 73fa486a855d75d74a1a695bb350bfbfe27c7751
Author: David G. Johnston <david.g.johnston@gmail.com>
Date: Tue Apr 12 21:23:53 2022 +0000
doc: make unique non-null join selectivity example match the prose
The description of the computation for the unique, non-null,
join selectivity describes a division by the maximum of two values,
while the example shows a multiplication by their reciprocal. While
equivalent the max phrasing is easier to understand; which seems
more important here than precisely adhering to the formula use
in the code (for which either variant is still an approximation).
While both num_distinct and num_rows are equal for a unique column
both the concept and formula use row count (10,000) and the
field num_distinct has already been set to mean the specific value
present in the pg_stats table (i.e, -1), so use num_rows here.
diff --git a/doc/src/sgml/planstats.sgml b/doc/src/sgml/planstats.sgml
index 78053d7c49..f72bc4b274 100644
--- a/doc/src/sgml/planstats.sgml
+++ b/doc/src/sgml/planstats.sgml
@@ -391,18 +391,20 @@ tablename | null_frac | n_distinct | most_common_vals
</programlisting>
In this case there is no <acronym>MCV</acronym> information for
- <structfield>unique2</structfield> because all the values appear to be
- unique, so we use an algorithm that relies only on the number of
- distinct values for both relations together with their null fractions:
+ <structname>unique2</structname> and all the values appear to be
+ unique (n_distinct = -1), so we use an algorithm that relies on the row
+ count estimates for both relations (num_rows, not shown, but "tenk")
+ together with the column null fractions (zero for both):
<programlisting>
-selectivity = (1 - null_frac1) * (1 - null_frac2) * min(1/num_distinct1, 1/num_distinct2)
+selectivity = (1 - null_frac1) * (1 - null_frac2) / max(num_rows1, num_rows2)
= (1 - 0) * (1 - 0) / max(10000, 10000)
= 0.0001
</programlisting>
This is, subtract the null fraction from one for each of the relations,
- and divide by the maximum of the numbers of distinct values.
+ and divide by the row count of the larger relation (this value does get
+ scaled in the non-unique case).
The number of rows
that the join is likely to emit is calculated as the cardinality of the
Cartesian product of the two inputs, multiplied by the
v0001-database-default-name.patchapplication/octet-stream; name=v0001-database-default-name.patchDownload
commit 60491d8e4a8ca557cfdb07029c5ebbde341c2c1d
Author: David G. Johnston <david.g.johnston@gmail.com>
Date: Tue Apr 12 02:25:01 2022 +0000
Fix a few instances of default database name descriptions.
The default database name is just the user name, not the
operating-system user name.
In passing, the authentication error examples use the phrase
"database user name" in a couple of locations. The word
database in both cases is both unusual and unnecesssary for
understanding.
Furthermore, it seems better to tell the reader the likely
reason why the displayed database name happens to be a user name.
diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml
index 142b0affcb..9b2323cde7 100644
--- a/doc/src/sgml/client-auth.sgml
+++ b/doc/src/sgml/client-auth.sgml
@@ -2218,7 +2218,7 @@ FATAL: password authentication failed for user "andym"
<programlisting>
FATAL: user "andym" does not exist
</programlisting>
- The indicated database user name was not found.
+ The indicated user name was not found.
</para>
<para>
@@ -2226,8 +2226,9 @@ FATAL: user "andym" does not exist
FATAL: database "testdb" does not exist
</programlisting>
The database you are trying to connect to does not exist. Note that
- if you do not specify a database name, it defaults to the database
- user name, which might or might not be the right thing.
+ if the database name shown matches the user name you are connecting
+ as it is not by accident: the default database name is the
+ user name.
</para>
<tip>
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 592356019b..c17fe7a9e5 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -657,7 +657,7 @@ EOF
determined at compile time.
Since the database server uses the same default, you will not have
to specify the port in most cases. The default user name is your
- operating-system user name, as is the default database name.
+ operating-system user name. The default database name is the resolved user name.
Note that you cannot
just connect to any database under any user name. Your database
administrator should have informed you about your access rights.
v0001-doc-savepoint-name-reuse.patchapplication/octet-stream; name=v0001-doc-savepoint-name-reuse.patchDownload
commit e921441f22bad972393144628c7ee48845d5384c
Author: David G. Johnston <david.g.johnston@gmail.com>
Date: Tue Apr 12 14:30:11 2022 +0000
doc: Improve docs regarding savepoint name reuse
Per documentation comment the savepoint command lacks an example
where the savepoint name is reused. The suggested example didn't
conform to the others on the page, nor did the suggested location
in compatibility seem desirable, but the omission rang true. Add
another example to the examples section demonstrating this case.
Additionally, document under the description for savepoint_name
that we allow for the name to be repeated - and note what that
means in terms of release and rollback. It seems desirable to
place this comment in description rather than notes for savepoint.
For the other two commands the behavior in the presence of
duplicate savepoint names best fits as notes. In fact release
already had one. This commit copies the same verbiage over to
rollback.
diff --git a/doc/src/sgml/ref/rollback_to.sgml b/doc/src/sgml/ref/rollback_to.sgml
index 3d5a241e1a..7bd1b41feb 100644
--- a/doc/src/sgml/ref/rollback_to.sgml
+++ b/doc/src/sgml/ref/rollback_to.sgml
@@ -89,6 +89,12 @@ ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] <replaceable>savepoint_name</re
cannot-execute state, so while the transaction can be restored using
<command>ROLLBACK TO SAVEPOINT</command>, the cursor can no longer be used.
</para>
+
+ <para>
+ If multiple savepoints have the same name, only the one that was most
+ recently defined is released.
+ </para>
+
</refsect1>
<refsect1>
diff --git a/doc/src/sgml/ref/savepoint.sgml b/doc/src/sgml/ref/savepoint.sgml
index b17342a1ee..fd017935ea 100644
--- a/doc/src/sgml/ref/savepoint.sgml
+++ b/doc/src/sgml/ref/savepoint.sgml
@@ -53,7 +53,9 @@ SAVEPOINT <replaceable>savepoint_name</replaceable>
<term><replaceable>savepoint_name</replaceable></term>
<listitem>
<para>
- The name to give to the new savepoint.
+ The name to give to the new savepoint. The name may already exist,
+ in which case a rollback or release to the same name will use the
+ one that was most recently defined.
</para>
</listitem>
</varlistentry>
@@ -106,6 +108,25 @@ COMMIT;
</programlisting>
The above transaction will insert both 3 and 4.
</para>
+
+ <para>
+ To use a single savepoint name:
+<programlisting>
+BEGIN;
+ INSERT INTO table1 VALUES (1);
+ SAVEPOINT my_savepoint;
+ INSERT INTO table1 VALUES (2);
+ SAVEPOINT my_savepoint;
+ INSERT INTO table1 VALUES (3);
+ ROLLBACK TO SAVEPOINT my_savepoint;
+ SELECT * FROM table1; // 1, 2
+ ROLLBACK TO SAVEPOINT my_savepoint;
+ SELECT * FROM table1; // just 1
+COMMIT;
+</programlisting>
+ The above transaction shows row 3 being rolled back first then row 2.
+ </para>
+
</refsect1>
<refsect1>
v0001-on-conflict-excluded-is-name-not-table.patchapplication/octet-stream; name=v0001-on-conflict-excluded-is-name-not-table.patchDownload
commit 3ae125aafb5bad062952be1e9f97cb2288350f5b
Author: David G. Johnston <david.g.johnston@gmail.com>
Date: Tue Apr 12 02:51:18 2022 +0000
doc: For INSERT ON CONFLICT excluded is a only a name, not a table.
As one cannot place excluded in a FROM clause (subquery) in the
ON CONFLICT clause referring to it as a table, with plural rows
nonetheless, leads the reader to infer more about what the
behavior here is than is correct. We already just say use the
table's name for the existing row so just match that pattern
of using the name excluded for the proposed row.
The alias description doesn't have the same issue regarding the
use of the word table and rows, as the use there is more conceptual,
but the wording about "otherwise taken as" is wrong: rather two
labels of excluded end up in scope and you get an ambigious name error.
The error messages still consider excluded to be a table reference
and this patch does not try to change that. That implementation
detail need not force the user-facing documentation for the feature
to use the term table when it doesn't really apply.
diff --git a/doc/src/sgml/ref/insert.sgml b/doc/src/sgml/ref/insert.sgml
index a9af9959c0..0fad1d3640 100644
--- a/doc/src/sgml/ref/insert.sgml
+++ b/doc/src/sgml/ref/insert.sgml
@@ -175,9 +175,8 @@ INSERT INTO <replaceable class="parameter">table_name</replaceable> [ AS <replac
class="parameter">table_name</replaceable>. When an alias is
provided, it completely hides the actual name of the table.
This is particularly useful when <literal>ON CONFLICT DO UPDATE</literal>
- targets a table named <varname>excluded</varname>, since that will otherwise
- be taken as the name of the special table representing rows proposed
- for insertion.
+ targets a table named <varname>excluded</varname>, since that will
+ conflict with the special name representing the row proposed for insertion.
</para>
</listitem>
</varlistentry>
@@ -396,8 +395,8 @@ INSERT INTO <replaceable class="parameter">table_name</replaceable> [ AS <replac
conflict. The <literal>SET</literal> and
<literal>WHERE</literal> clauses in <literal>ON CONFLICT DO
UPDATE</literal> have access to the existing row using the
- table's name (or an alias), and to rows proposed for insertion
- using the special <varname>excluded</varname> table.
+ table's name (or an alias), and to the proposed row
+ using the name <varname>excluded</varname>.
<literal>SELECT</literal> privilege is required on any column in the
target table where corresponding <varname>excluded</varname>
columns are read.
@@ -699,8 +698,8 @@ INSERT INTO employees_log SELECT *, current_timestamp FROM upd;
<para>
Insert or update new distributors as appropriate. Assumes a unique
index has been defined that constrains values appearing in the
- <literal>did</literal> column. Note that the special
- <varname>excluded</varname> table is used to reference values originally
+ <literal>did</literal> column. Note that the name
+ <varname>excluded</varname> is used to reference values originally
proposed for insertion:
<programlisting>
INSERT INTO distributors (did, dname)
v0002-doc-extension-dependent-routine-behavior.patchapplication/octet-stream; name=v0002-doc-extension-dependent-routine-behavior.patchDownload
commit 18206a1b2c81ae280ad9927decc5a975011ffb80
Author: David G. Johnston <david.g.johnston@gmail.com>
Date: Tue Apr 12 15:30:45 2022 +0000
doc: Elaborate on the interplay between depends on and drop extension
Per discussion on -general the documentation for the
ALTER ROUTINE ... DEPENDS ON EXTENSION and DROP EXTENSION doesn't
clearly indicate that these dependent routines are treated in a
similar manner to the extension's owned objects when it comes to
using RESTRICT mode drop: namely their presence doesn't force
the drop command to abort. Clear that up.
diff --git a/doc/src/sgml/ref/alter_function.sgml b/doc/src/sgml/ref/alter_function.sgml
index 0ee756a94d..4597b4a4bb 100644
--- a/doc/src/sgml/ref/alter_function.sgml
+++ b/doc/src/sgml/ref/alter_function.sgml
@@ -160,8 +160,10 @@ ALTER FUNCTION <replaceable>name</replaceable> [ ( [ [ <replaceable class="param
<para>
This form marks the function as dependent on the extension, or no longer
dependent on that extension if <literal>NO</literal> is specified.
- A function that's marked as dependent on an extension is automatically
- dropped when the extension is dropped.
+ A function that's marked as dependent on an extension is dropped when the
+ extension is dropped, even if cascade is not specified.
+ dependency checking in restrict mode <xref linkend="sql-dropextension"/>.
+ A function can depend upon multiple extensions, and will be dropped when
+ any one of those extensions is dropped.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/alter_procedure.sgml b/doc/src/sgml/ref/alter_procedure.sgml
index 033fda92ee..fe835acccf 100644
--- a/doc/src/sgml/ref/alter_procedure.sgml
+++ b/doc/src/sgml/ref/alter_procedure.sgml
@@ -147,7 +147,12 @@ ALTER PROCEDURE <replaceable>name</replaceable> [ ( [ [ <replaceable class="para
<term><replaceable class="parameter">extension_name</replaceable></term>
<listitem>
<para>
- The name of the extension that the procedure is to depend on.
+ This form marks the procedure as dependent on the extension, or no longer
+ dependent on that extension if <literal>NO</literal> is specified.
+ A procedure that's marked as dependent on an extension is dropped when the
+ extension is dropped, even if cascade is not specified.
+ A procedure can depend upon multiple extensions, and will be dropped when
+ any one of those extensions is dropped.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/drop_extension.sgml b/doc/src/sgml/ref/drop_extension.sgml
index 5e507dec92..ec5f7bc4f7 100644
--- a/doc/src/sgml/ref/drop_extension.sgml
+++ b/doc/src/sgml/ref/drop_extension.sgml
@@ -30,7 +30,9 @@ DROP EXTENSION [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [
<para>
<command>DROP EXTENSION</command> removes extensions from the database.
- Dropping an extension causes its component objects to be dropped as well.
+ Dropping an extension causes its component objects, and other explicitly
+ dependent routines (see <xref linkend="sql-alterroutine"/>,
+ the depends on extension action), to be dropped as well.
</para>
<para>
@@ -77,9 +79,10 @@ DROP EXTENSION [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [
<term><literal>RESTRICT</literal></term>
<listitem>
<para>
- Refuse to drop the extension if any objects depend on it (other than
- its own member objects and other extensions listed in the same
- <command>DROP</command> command). This is the default.
+ For each extension, refuse to drop anything if any objects (other than the
+ extensions listed) depend on it. However, its own member objects, and routines
+ that are explicitly dependent on this extension, are skipped.
+ This is the default.
</para>
</listitem>
</varlistentry>
On 2022-Apr-20, David G. Johnston wrote:
v0001-doc-savepoint-name-reuse (-docs, reply to user request for
improvement)
/messages/by-id/CAKFQuwYzSb9OW5qTFgc0v9RWMN8bX83wpe8okQ7x6vtcmfA2KQ@mail.gmail.com
This one is incorrect; rolling back to a savepoint does not remove the
savepoint, so if you ROLLBACK TO it again afterwards, you'll get the
same one again. In fact, Your proposed example doesn't work as your
comments intend.
The way to get the effect you show is to first RELEASE the second
savepoint, then roll back to the earliest one. Maybe like this:
BEGIN;
INSERT INTO table1 VALUES (1);
SAVEPOINT my_savepoint;
INSERT INTO table1 VALUES (2);
SAVEPOINT my_savepoint;
INSERT INTO table1 VALUES (3);
ROLLBACK TO SAVEPOINT my_savepoint;
SELECT * FROM table1; -- shows rows 1, 2
RELEASE SAVEPOINT my_savepoint; -- gets rid of the latest one without rolling back anything
ROLLBACK TO SAVEPOINT my_savepoint; -- rolls back to the earliest one
SELECT * FROM table1; -- just 1
COMMIT;
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
On Thu, Apr 21, 2022 at 10:46 AM Alvaro Herrera <alvherre@alvh.no-ip.org>
wrote:
On 2022-Apr-20, David G. Johnston wrote:
v0001-doc-savepoint-name-reuse (-docs, reply to user request for
improvement)/messages/by-id/CAKFQuwYzSb9OW5qTFgc0v9RWMN8bX83wpe8okQ7x6vtcmfA2KQ@mail.gmail.com
This one is incorrect; rolling back to a savepoint does not remove the
savepoint, so if you ROLLBACK TO it again afterwards, you'll get the
same one again. In fact, Your proposed example doesn't work as your
comments intend.
Yeah, my bad for not testing things.
The way to get the effect you show is to first RELEASE the second
savepoint, then roll back to the earliest one. Maybe like this:BEGIN;
INSERT INTO table1 VALUES (1);
SAVEPOINT my_savepoint;
INSERT INTO table1 VALUES (2);
SAVEPOINT my_savepoint;
INSERT INTO table1 VALUES (3);
ROLLBACK TO SAVEPOINT my_savepoint;
SELECT * FROM table1; -- shows rows 1, 2RELEASE SAVEPOINT my_savepoint; -- gets rid of the latest one
without rolling back anything
ROLLBACK TO SAVEPOINT my_savepoint; -- rolls back to the earliest one
SELECT * FROM table1; -- just 1
COMMIT;
I'm ok with that, though I decided to experiment a bit. I decided to use
comments to make the example understandable without needing a server;
self-contained AND easier to follow the status of both the table and the
savepoint reference.
I explicitly demonstrate both release and rollback here along with the
choice to use just a single savepoint name. We could make even more
examples in a "unit test" type style but with the commentary I think this
communicates the pertinent points quite well.
BEGIN;
INSERT INTO table1 VALUES (1);
SAVEPOINT my_savepoint;
-- Savepoint: [1]; Table: [1]
INSERT INTO table1 VALUES (2);
SAVEPOINT my_savepoint;
-- Savepoint: [1,2]; Table: [1,2]
INSERT INTO table1 VALUES (3);
SAVEPOINT my_savepoint;
-- Savepoint: [1,2,3]; Table: [1,2,3]
INSERT INTO table1 VALUES (4);
-- Savepoint: [1,2,3]; Table: [1,2,3,4]
ROLLBACK TO SAVEPOINT my_savepoint;
-- Savepoint: [1,2,3]; Table: [1,2,3]
ROLLBACK TO SAVEPOINT my_savepoint; -- No Change
-- Savepoint: [1,2,3]; Table: [1,2,3]
SELECT * FROM table1;
RELEASE my_savepoint;
RELEASE my_savepoint;
-- Savepoint: [1]; Table: [1,2,3]
SELECT * FROM table1;
ROLLBACK TO SAVEPOINT my_savepoint;
-- Savepoint: [1]; Table: [1]
SELECT * FROM table1;
COMMIT;
David J.
Updated status of the set.
On Wed, Apr 20, 2022 at 5:59 PM David G. Johnston <
david.g.johnston@gmail.com> wrote:
v0001-database-default-name (-bugs, with a related cleanup suggestion as
well)/messages/by-id/CAKFQuwZvHH1HVSOu7EYjvshynk4pnDwC5RwkF=VfZJvmUskwrQ@mail.gmail.com
v0002-doc-extension-dependent-routine-behavior (-general, reply to user
confusion)/messages/by-id/CAKFQuwb_QtY25feLeh=8uNdnyo1H=cN4R3vENsUwQzJP4-0xZg@mail.gmail.com
v0001-doc-savepoint-name-reuse (-docs, reply to user request for
improvement)/messages/by-id/CAKFQuwYzSb9OW5qTFgc0v9RWMN8bX83wpe8okQ7x6vtcmfA2KQ@mail.gmail.com
Pending discussion of alternate presentation of transaction sequence; if
not favorable, I can just go with a simple factual fix of the mistake in
v0001 (see this thread).
v0001-on-conflict-excluded-is-name-not-table (-docs, figured out while
trying to improve the docs to reduce user confusion in this area)/messages/by-id/CAKFQuwYN20c0+7kKvm3PBgibu77BzxDvk9RvoXBb1=j1mDODPw@mail.gmail.com
v0001-doc-make-row-estimation-example-match-prose (-docs, reply to user
pointing of an inconsistency)/messages/by-id/CAKFQuwax7V5R_rw=EOWmy=TBON6v3sveBx_WvwsENskCL5CLQQ@mail.gmail.com
David J.
Anything I should be doing differently here to get a bit of
reviewer/committer time on these? I'll add them to the commitfest for next
month if needed but I'm seeing quick patches going in every week and the
batch format done at the beginning of the month got processed through
without issue.
Per: https://wiki.postgresql.org/wiki/Submitting_a_Patch
I was hoping for Workflow A especially as I acquit myself more than
adequately on the "How do you get someone to respond to you?" items.
I was going to chalk it up to bad timing but the volume of doc patches this
month hasn't really dipped even with the couple of bad bugs being worked on.
Thank you!
David J.
On Fri, Apr 29, 2022 at 6:52 AM David G. Johnston <
david.g.johnston@gmail.com> wrote:
Show quoted text
Updated status of the set.
On Wed, Apr 20, 2022 at 5:59 PM David G. Johnston <
david.g.johnston@gmail.com> wrote:v0001-database-default-name (-bugs, with a related cleanup suggestion as
well)/messages/by-id/CAKFQuwZvHH1HVSOu7EYjvshynk4pnDwC5RwkF=VfZJvmUskwrQ@mail.gmail.com
v0002-doc-extension-dependent-routine-behavior (-general, reply to user
confusion)/messages/by-id/CAKFQuwb_QtY25feLeh=8uNdnyo1H=cN4R3vENsUwQzJP4-0xZg@mail.gmail.com
v0001-doc-savepoint-name-reuse (-docs, reply to user request for
improvement)/messages/by-id/CAKFQuwYzSb9OW5qTFgc0v9RWMN8bX83wpe8okQ7x6vtcmfA2KQ@mail.gmail.com
Pending discussion of alternate presentation of transaction sequence; if
not favorable, I can just go with a simple factual fix of the mistake in
v0001 (see this thread).v0001-on-conflict-excluded-is-name-not-table (-docs, figured out while
trying to improve the docs to reduce user confusion in this area)/messages/by-id/CAKFQuwYN20c0+7kKvm3PBgibu77BzxDvk9RvoXBb1=j1mDODPw@mail.gmail.com
v0001-doc-make-row-estimation-example-match-prose (-docs, reply to user
pointing of an inconsistency)/messages/by-id/CAKFQuwax7V5R_rw=EOWmy=TBON6v3sveBx_WvwsENskCL5CLQQ@mail.gmail.com
David J.
On 31.05.22 22:12, David G. Johnston wrote:
Anything I should be doing differently here to get a bit of
reviewer/committer time on these? I'll add them to the commitfest for
next month if needed but I'm seeing quick patches going in every week
and the batch format done at the beginning of the month got processed
through without issue.
These patches appear to have merit, but they address various nontrivial
areas of functionality, so either a) I just pick out a few that I
understand and deal with those and leave the rest open, or b) I'm
overwhelmed and do none. It might have been better to post these
separately.
I'll start with one though: v0001-database-default-name.patch
I don't understand why you propose this change. It appears to reduce
precision.
On Wed, Jun 1, 2022 at 7:05 AM Peter Eisentraut <
peter.eisentraut@enterprisedb.com> wrote:
On 31.05.22 22:12, David G. Johnston wrote:
Anything I should be doing differently here to get a bit of
reviewer/committer time on these? I'll add them to the commitfest for
next month if needed but I'm seeing quick patches going in every week
and the batch format done at the beginning of the month got processed
through without issue.These patches appear to have merit, but they address various nontrivial
areas of functionality, so either a) I just pick out a few that I
understand and deal with those and leave the rest open, or b) I'm
overwhelmed and do none. It might have been better to post these
separately.
I did for quite a few of them, per the links provided. But I get your
point, the originals weren't on -hackers for many of them and moving them
over singly probably would have worked out better.
I'll start with one though: v0001-database-default-name.patch
I don't understand why you propose this change. It appears to reduce
precision.
As the proposed commit message says we don't tend to say "database user
name" elsewhere in the documentation (or the error messages shown) so the
removal of the word database doesn't actually change anything. We only
need to provide a qualifier for user name when it is not the database user
name that is being referred to, or basically when it is the operating
system user name.
The last hunk is the actual bug - the existing wording effectively reads:
"The default database name is the operating system user name."
That is incorrect. It happens to be the same value when no other user name
is specified, otherwise whatever gets resolved is used for the database
name (but it is still a "default" because the database name was not
explicitly specified).
David J.
On Wed, Jun 1, 2022 at 7:05 AM Peter Eisentraut <
peter.eisentraut@enterprisedb.com> wrote:
On 31.05.22 22:12, David G. Johnston wrote:
Anything I should be doing differently here to get a bit of
reviewer/committer time on these? I'll add them to the commitfest for
next month if needed but I'm seeing quick patches going in every week
and the batch format done at the beginning of the month got processed
through without issue.
It might have been better to post these
separately.
Doing so hasn't seemed to make a difference. Still not getting even a
single committer on a single patch willing to either work with me to get it
committed, or decide otherwise, despite my prompt responses on the few
comments that have been given.
Given the lack of feedback and my track record I don't think it
unreasonable for someone to simply commit these without comment and let any
late naysayers voice their opinions after it hits the repo.
In any case, I've added these and more to the commitfest at this point so
hopefully the changed mindset of committers when it comes to clearing out
the commitfest backlog will come into play in a couple of weeks and I might
see some action.
David J.