Thanks for putting up with a new reviewer!

  --with-libxml is the PostgreSQL configure option to make it use libxml2.
>


>   The very web page http://xmlsoft.org/index.html says "The XML C parser
>   and toolkit of Gnome: libxml" and is all about libxml2.
>


> So I think I was unsure what convention to follow, and threw up my hands
> and went with libxml. I could just as easily throw them up and go with
> libxml2. Which do you think would be better?


I think leaving it as libxml makes sense with all that.  Good point that
--with-libxml is used to build so I think staying with that works and is
consistent.  I agree that having this point included does clarify the how
and why of the limitations of this implementation.

I also over-parenthesize so I'm used to looking for that in my own
writing.  The full sentences were the ones that seemed excessive to me, I
think the others are ok and I won't nit-pick either way on those (unless
you want me to!).

If you agree, I should go through and fix my nodesets to be node-sets.


Yes, I like node-sets better, especially knowing it conforms to the spec's
language.

Thanks,

*Ryan Lambert*


On Tue, Mar 26, 2019 at 11:05 PM Chapman Flack <c...@anastigmatix.net>
wrote:

> On 03/26/19 21:39, Ryan Lambert wrote:
> > The following review has been posted through the commitfest application:
> > make installcheck-world:  tested, passed
> > Implements feature:       tested, passed
> > Spec compliant:           not tested
> > Documentation:            tested, passed
>
> Thanks for the review!
>
> > I have two recommendations for features.sgml.  You state:
> >
> >>  relies on the libxml library
> >
> > Should this be clarified as the libxml2 library?  That's what I installed
> > to build postgres from source (Ubuntu 16/18).  If it is the libxml
> library
> > and the "2" is irrelevant
>
> That's a good catch. I'm not actually sure whether there is any "libxml"
> library that isn't libxml2. Maybe there was once and nobody admits to
> hanging out with it. Most Google hits on "libxml" seem to be modules
> that have libxml in their names and libxml2 as their actual dependency.
>
>   Perl XML:LibXML: "This module is an interface to libxml2"
>   Haskell libxml: "Binding to libxml2"
>   libxml-ruby: "The Libxml-Ruby project provides Ruby language bindings
>     for the GNOME Libxml2 ..."
>
>   --with-libxml is the PostgreSQL configure option to make it use libxml2.
>
>   The very web page http://xmlsoft.org/index.html says "The XML C parser
>   and toolkit of Gnome: libxml" and is all about libxml2.
>
> So I think I was unsure what convention to follow, and threw up my hands
> and went with libxml. I could just as easily throw them up and go with
> libxml2. Which do you think would be better?
>
> On 03/26/19 23:52, Tom Lane wrote:
> > Do we need to mention that at all?  If you're not building from source,
> > it doesn't seem very interesting ... but maybe I'm missing some reason
> > why end users would care.
>
> The three places I've mentioned it were the ones where I thought users
> might care:
>
>  - why are we stuck at XPath 1.0? It's what we get from the library we use.
>
>  - in what order do we get things out from a (hmm) node-set? Per XPath 1.0,
>    it's indeterminate (it's a set!), unlike XPath 2.0/XQuery where there's
>    a sequence type and you have order control. Observable behavior from
>    libxml2 (and you could certainly want to know this) is you get things
> out
>    in document order, whether that's what you wanted or not, even though
>    this is undocumented, and even counter-documented[1], libxml2 behavior.
>    So it's an example of something you would fundamentally like to know,
>    where the only available answer depends precariously on the library
>    we happen to be using.
>
>  - which limits in our implementation are inherent to the library, and
>    which are just current limits in our embedding of it? (Maybe this is
>    right at the border of what a user would care to know, but I know it's
>    a question that crosses my mind when I bonk into a limit I wasn't
>    expecting.)
>
> > There are a few places where the parenthesis around a block of text
> > seem unnecessary.
>
> )blush( that's a long-standing wart in my writing ... seems I often think
> in parentheses, then look and say "those aren't needed" and take them out,
> only sometimes I don't.
>
> I skimmed just now and found a few instances of parenthesized whole
> sentence: the one you quoted, and some (if argument is null, the result
> is null), and (No rows will be produced if ....). Shall I deparenthesize
> them all? Did you have other instances in mind?
>
> > It seems you are standardizing from "node set" to "nodeset", is that
> > the preferred nomenclature or preference?
>
> Another good catch. I remember consciously making a last pass to get them
> all consistent, and I wanted them consistent with the spec, and I see now
> I messed up.
>
> XPath 1.0 [2] has zero instances of "nodeset", two of "node set" and about
> six dozen of "node-set". The only appearances of "node set" without the
> hyphen are in a heading and its ToC entry. The stuff under that heading
> consistently uses node-set. It seems that's the XPath 1.0 term for sure.
>
> When I made my consistency pass, I must have been looking too recently
> in libxml2 C source, rather than the spec.
>
> On 03/26/19 23:52, Tom Lane wrote:
> > That seemed a bit jargon-y to me too.  If that's standard terminology
> > in the XML world, maybe it's fine; but I'd have stuck with "node set".
>
> It really was my intention (though I flubbed it) to use XPath 1.0's term
> for XPath 1.0's concept; in my doc philosophy, that gives readers
> the most breadcrumbs to follow for the rest of the details if they want
> them. "Node set" might be some sort of squishy expository concept I'm
> using, but node-set is a thing, in a spec.
>
> If you agree, I should go through and fix my nodesets to be node-sets.
>
> I do think the terminology matters here, especially because of the
> differences between what you can do with a node-set (XPath 1.0 thing)
> and with a sequence (XPath 2.0+,XQuery,SQL/XML thing).
>
> Let me know what you'd like best on these points and I'll revise the patch.
>
> Regards,
> -Chap
>
>
> [1] http://xmlsoft.org/html/libxml-xpath.html#xmlNodeSet : "array of nodes
>     in no particular order"
>
> [2] https://www.w3.org/TR/1999/REC-xpath-19991116/
>

Reply via email to