Thanks for the feedback. Adopting snake case and using aliases seems pretty
uncontroversial so far. I have created CASSANDRA-18037
<https://issues.apache.org/jira/browse/CASSANDRA-18037> for doing it.

On Thu, 10 Nov 2022 at 19:06, Jeremy Hanna <jeremy.hanna1...@gmail.com>
wrote:

> +1 (nb) mixed case is a miserable experience and snake case makes it
> readable.
>
> > On Nov 10, 2022, at 10:57 AM, Francisco Guerrero <fran...@apache.org>
> wrote:
> >
> > +1 (nb) as well
> >
> >> On 2022/11/10 17:16:21 Caleb Rackliffe wrote:
> >> +100 on snake case for built-in functions  given I think MySQL and
> Postgres
> >> use that convention as well.
> >>
> >> ex. https://www.postgresql.org/docs/9.2/functions-string.html
> >>
> >>> On Thu, Nov 10, 2022 at 7:51 AM Brandon Williams <dri...@gmail.com>
> wrote:
> >>>
> >>> I too meant snake case and need coffee.
> >>>
> >>>> On Thu, Nov 10, 2022, 7:26 AM Brandon Williams <dri...@gmail.com>
> wrote:
> >>>
> >>>> +1 on camel case and aliases for compatibility.
> >>>>
> >>>> On Thu, Nov 10, 2022, 6:21 AM Andrés de la Peña <adelap...@apache.org
> >
> >>>> wrote:
> >>>>
> >>>>> It seems we don't have a clear convention on how to name CQL native
> >>>>> functions.
> >>>>>
> >>>>> Most native functions are named all lower case, without underscore
> nor
> >>>>> hyphen to separate words. That's the case, for example, of
> "intasblob" or
> >>>>> "blobasint".
> >>>>>
> >>>>> We also have some functions using camel case, as in "castAsInt" or
> >>>>> "castAsTimestamp". Note that the came cased names require quoting
> due to
> >>>>> CQL's case insensitivity.
> >>>>>
> >>>>> Differently to CQL native functions, system keyspaces, tables and
> >>>>> columns consistently use snake case. For example, we have
> "system_schema",
> >>>>> "dropped_columns", "default_time_to_live".
> >>>>>
> >>>>> I think it would be good to adopt a convention on how to name CQL
> native
> >>>>> functions, at least the new ones. IMO camel case would make sense
> because
> >>>>> it plays well with CQL's case insensitivity, it makes long names
> easier to
> >>>>> read and it's consistent with the names used for most other things.
> >>>>>
> >>>>> For example, in CASSANDRA-17811 I'm working on a set of functions to
> do
> >>>>> within-collection operations, which would be named "map_keys",
> >>>>> "map_values", "collection_min", "collection_max", "collection_sum",
> >>>>> "collection_count", etc. Also, CEP-20 will add a set of functions
> that
> >>>>> would be named "mask_null", "mask_default", "mask_replace",
> "mask_inner",
> >>>>> "mask_outer", "mask_hash", etc.
> >>>>>
> >>>>> As for the already existing functions, we could either let them be or
> >>>>> add snake case aliases for them, so for example we'd have both
> "castAsInt"
> >>>>> and "cast_as_int", at least for a time.
> >>>>>
> >>>>> What do you think?
> >>>>>
> >>>>
> >>
>

Reply via email to