Re: Built-in binning functions - Mailing list pgsql-hackers

From David Johnston
Subject Re: Built-in binning functions
Date
Msg-id CAKFQuwaZMSjw6GH-TOF2=s+F5xwjaihzYLUF7nbAxyWaEK05nw@mail.gmail.com
Whole thread
In response to Re: Built-in binning functions  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Sun, Aug 31, 2014 at 7:48 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
David G Johnston <david.g.johnston@gmail.com> writes:
> Since "bucket" is the 'verb' here (in this specific case meaning "lookup the
> supplied value in the supplied bucket definition") and "width" is a modifier
> (the bucket specification describes an equal-width structure) I suggest
> "literal_bucket(val, array[])" such that the bucket is still the verb but
> now the modifier describes a structure that is literally provided.

It's a very considerable stretch to see "bucket" as a verb here :-).
Maybe that's why the SQL committee's choice of function name seems
so unnatural (to me anyway).

I was wondering about bucket_index(), ie "get the index of the bucket
this value falls into".  Or get_bucket(), or get_bucket_index() if you
like verbosity.

                        regards, tom lane

​I got stuck on the thought that a function name should ideally be/include a verb...​

​Even if you read it as a noun (and thus the verb is an implied "get") the naming logic still holds.  

I pondered a "get_" version though the argument for avoiding conflicting user-code decreases its appeal.

The good part about SQL standard naming is that the typical programmer isn't likely to pick a conflicting name.

"bucket_index" is appealing by itself though user-code probable...as bad as I think "width_bucket" is for a name the fact is that it currently exists and, even forced, consistency has merit.

David J.

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Built-in binning functions
Next
From: Craig Ringer
Date:
Subject: Re: Tips/advice for implementing integrated RESTful HTTP API