Daniel Gustafsson <dan...@yesql.se> writes:
>> On 29 Nov 2021, at 22:47, Bossart, Nathan <bossa...@amazon.com> wrote:
>> On 11/29/21, 1:38 PM, "Chapman Flack" <c...@anastigmatix.net> wrote:
>>> Maybe a larger break with the "This means the extension something something"
>>> formulation, and more on the lines of
>>> HINT:  an extension must first be present (for example, installed with a
>>> package manager) on the system where PostgreSQL is running.

>> I like this idea.  I can do it this way in the next revision if others
>> agree.

> I think taking it in this direction has merits.

I think "The extension must ..." would read better, otherwise +1.

I don't especially like intertwining the hint choice with the existing
special case for per-version files.  Our usual style for conditional
hints can be found in places like sysv_shmem.c, and following that
would lead to a patch roughly like

    if ((file = AllocateFile(filename, "r")) == NULL)
    {
+       int ext_errno = errno;
+
        if (version && errno == ENOENT)
        {
            /* no auxiliary file for this version */
            pfree(filename);
            return;
        }
        ereport(ERROR,
                (errcode_for_file_access(),
                 errmsg("could not open extension control file \"%s\": %m",
-                       filename)));
+                       filename),
+                (ext_errno == ENOENT) ? errhint("...") : 0));
    }

                        regards, tom lane


Reply via email to