Ok, as there are no objections to switching `str` from CHAR to VARCHAR cast I will make that change.
On Tue, May 30, 2017 at 8:09 AM Sanne Grinovero <sa...@hibernate.org> wrote: > On 30 May 2017 at 13:02, Steve Ebersole <st...@hibernate.org> wrote: > > For whatever reason JPA and a few of the databases do not categorize > > coalesce and nullif as functions - hence the "not technically a function" > > part. > > > > However in Hibernate I have defined them as functions for the sake of > users > > being able to plug in custom function templates. > > Thanks, it's clear now. > > Sanne > > > > > On Tue, May 30, 2017 at 5:14 AM Sanne Grinovero <sa...@hibernate.org> > wrote: > >> > >> Hi Steve, > >> just a curiosity; for `coalesce` and `nullif` you stated "not > >> technically a function, but supported as such to allow overriding". > >> > >> What does it mean? > >> > >> Thanks! > >> Sanne > >> > >> On 29 May 2017 at 22:29, Steve Ebersole <st...@hibernate.org> wrote: > >> > Hibernate has always defined a set of functions that should always be > >> > available on every Dialect/database. JPA formalized some of these, > but > >> > Hibernate still had a superset. So I wanted to formalize the complete > >> > set > >> > of supported functions. Here is the formalized list of what Hibernate > >> > has > >> > always considered the "supported list": > >> > > >> > - those defined by JPA > >> > - abs > >> > - avg > >> > - concat > >> > - count > >> > - current_date > >> > - current_time > >> > - current_timestamp > >> > - length > >> > - locate > >> > - lower > >> > - max > >> > - min > >> > - mod > >> > - sqrt > >> > - substring > >> > - sum > >> > - trim > >> > - upper > >> > - Hibernate extensions > >> > - bit_length > >> > - coalesce - not technically a function, but supported as such > to > >> > allow overriding > >> > - cast > >> > - day - generally defined as `extract(day from ?1)` > >> > - extract > >> > - hour - generally defined as `extract(hour from ?1)` > >> > - minute - generally defined as `extract(minute from ?1)` > >> > - month - generally defined as `extract(month from ?1)` > >> > - nullif - not technically a function, but supported as such to > >> > allow > >> > overriding > >> > - second - generally defined as `extract(second from ?1)` > >> > - str - generally defined as `cast(?1 as CHAR )` > >> > - year - generally defined as `extract(year from ?1)` > >> > > >> > > >> > Additions/subtractions anyone would like to discuss? > >> > > >> > One question I has was in regards to str being defined as `cast(?1 as > >> > CHAR > >> > )` by default - specifically using CHAR instead of VARCHAR. Some > >> > databases > >> > apply padding for the size of the datatype when casting a numeric to a > >> > CHAR > >> > which is not an unreasonable thing to do. > >> > _______________________________________________ > >> > hibernate-dev mailing list > >> > hibernate-dev@lists.jboss.org > >> > https://lists.jboss.org/mailman/listinfo/hibernate-dev > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev