ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergi Vladykin <sergi.vlady...@gmail.com>
Subject Re: Enums and SQL queries
Date Sat, 23 Jul 2016 05:25:26 GMT
I'm not sure what exactly you are going to patch in SQL engine. We could
and some SQL function like enum('MY_ENUM_NAME') but probably it will not
work if we will not pass enum type there as well, so it have look like
enum('com.mycompany.MyEnum', 'MY_ENUM_NAME') which is ugly.

Sergi

On 23 июля 2016 г., 0:43, Valentin Kulichenko <valentin.kulichenko@gmail.com
> wrote:

> Folks,
>
> I noticed that we currently have a very weird limitation for enum fields
> when running SQL queries. Basically, you can't use enum value names as many
> users would expect.
>
> Technically this happens because binary format stores only ordinal and the
> only way to run such query is to do something like this:
>
> SqlFieldsQuery qry = new SqlFieldsQuery("select * from Table where
> enumField = ?");
> qry.setArgs(MyEnum.ENUM_VALUE);
> cache.query(qry);
>
> This means that this query can be executed only if:
> - IgniteCache API is used. So it doesn't work in JDBC driver, Zeppelin,
> etc.
> - The client that executes the query has the enum class on classpath.
>
> My first thought about fixing this is to somehow store value names in
> binary metadata and patch the SQL engine so that it understands how to use
> this information.
>
> Thoughts?
>
> -Val
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message