From: | John Naylor <jcnaylor(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: WIP: a way forward on bootstrap data |
Date: | 2018-04-06 10:17:51 |
Message-ID: | CAJVSVGXzprfgj1kkRQinUR2FOJ4bccr19yXsr7SAmTeYOTL8rw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 4/5/18, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Something that bothered me a bit while writing the warning-producing code
> is that showing %bki_values isn't actually that great a way of identifying
> the trouble spot. By this point we've expanded out defaults and possibly
> replaced some other macros, so it doesn't look that much like what was
> in the .dat file. I think what would be ideal, both here and in some
> other places like AddDefaultValues, is to be able to finger the location
> of the bad tuple by filename and line number, but I have no idea whether
> it's practical to annotate the tuples with that while reading the .dat
> files. Any thoughts?
We could use the $. variable to save the line number, which is what
the old code had. AddDefaultValues will report the line number on
failure, so I left out explicit line number reporting. If memory
serves, Perl is sensitive to how you format the "die" message. If I
delete a default value from the header, I get this, reporting line 16:
Failed to form full tuple for pg_opfamily
Missing values for: opfnamespace
Showing other values for context:
oid => 421, opfmethod => 403, opfowner => PGUID, opfname =>
abstime_ops, at ../../../src/backend/catalog/Catalog.pm line 259,
<$ifd> line 16.
Makefile:23: recipe for target 'reformat-dat-files' failed
make: *** [reformat-dat-files] Error 25
I think the context is good for pg_attribute, because there is no file
to read from.
I'll think about the lookup code.
-John Naylor
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2018-04-06 10:46:34 | Re: [HACKERS] Runtime Partition Pruning |
Previous Message | Ernst-Georg Schmid | 2018-04-06 10:12:05 | AW: Get the name of the target Relation from Query struct? SOLVED! |