You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@metamodel.apache.org by "Alessandro Portosa (JIRA)" <ji...@apache.org> on 2016/08/30 13:16:20 UTC

[jira] [Updated] (METAMODEL-1116) MetaModel wrongly parse query with IN clause

     [ https://issues.apache.org/jira/browse/METAMODEL-1116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alessandro Portosa updated METAMODEL-1116:
------------------------------------------
    Description: 
Query query = dataContext.parseQuery(newSqlQuery);

-----------------------------
       newSqlQuery
-----------------------------
select *
from SpagoBI.cd569eca_66d8_4106_b80c_d4d91fec3b5f
where (1,store_type,region_id) IN ((1,'Deluxe Supermarket','26'))

-----------------------------
             query
-----------------------------
SELECT cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_type, cd569eca_66d8_4106_b80c_d4d91fec3b5f.region_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.sales_region_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_name, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_number, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_street_address, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_city, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_state, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_postal_code, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_country, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_manager, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_phone, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_fax, cd569eca_66d8_4106_b80c_d4d91fec3b5f.first_opened_date, cd569eca_66d8_4106_b80c_d4d91fec3b5f.last_remodel_date, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.grocery_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.frozen_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.meat_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.coffee_bar, cd569eca_66d8_4106_b80c_d4d91fec3b5f.video_store, cd569eca_66d8_4106_b80c_d4d91fec3b5f.salad_bar, cd569eca_66d8_4106_b80c_d4d91fec3b5f.prepared_food, cd569eca_66d8_4106_b80c_d4d91fec3b5f.florist
FROM SpagoBI.cd569eca_66d8_4106_b80c_d4d91fec3b5f
WHERE 1,store_type,region_id) IN ((1,'Deluxe Supermarket','26')

As you can see, MetaModel has removed the external bracket in the WHERE clause...

  was:
String newSqlQuery = sqlQuery.replace(DEFAULT_TABLE_NAME, uniqueTableName);
Query query = dataContext.parseQuery(newSqlQuery);

-----------------------------
          sqlQuery
-----------------------------
select *
from SpagoBI.TemporaryTable
where (1,store_type,region_id) IN ((1,'Deluxe Supermarket','26'))

-----------------------------
       newSqlQuery
-----------------------------
select *
from SpagoBI.cd569eca_66d8_4106_b80c_d4d91fec3b5f
where (1,store_type,region_id) IN ((1,'Deluxe Supermarket','26'))

-----------------------------
             query
-----------------------------
SELECT cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_type, cd569eca_66d8_4106_b80c_d4d91fec3b5f.region_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.sales_region_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_name, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_number, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_street_address, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_city, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_state, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_postal_code, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_country, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_manager, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_phone, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_fax, cd569eca_66d8_4106_b80c_d4d91fec3b5f.first_opened_date, cd569eca_66d8_4106_b80c_d4d91fec3b5f.last_remodel_date, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.grocery_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.frozen_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.meat_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.coffee_bar, cd569eca_66d8_4106_b80c_d4d91fec3b5f.video_store, cd569eca_66d8_4106_b80c_d4d91fec3b5f.salad_bar, cd569eca_66d8_4106_b80c_d4d91fec3b5f.prepared_food, cd569eca_66d8_4106_b80c_d4d91fec3b5f.florist
FROM SpagoBI.cd569eca_66d8_4106_b80c_d4d91fec3b5f
WHERE 1,store_type,region_id) IN ((1,'Deluxe Supermarket','26')

As you can see, MetaModel has removed the external bracket in the WHERE clause...


> MetaModel wrongly parse query with IN clause
> --------------------------------------------
>
>                 Key: METAMODEL-1116
>                 URL: https://issues.apache.org/jira/browse/METAMODEL-1116
>             Project: Apache MetaModel
>          Issue Type: Bug
>    Affects Versions: 4.3.2, 4.5.4
>            Reporter: Alessandro Portosa
>            Priority: Blocker
>              Labels: IN, query
>
> Query query = dataContext.parseQuery(newSqlQuery);
> -----------------------------
>        newSqlQuery
> -----------------------------
> select *
> from SpagoBI.cd569eca_66d8_4106_b80c_d4d91fec3b5f
> where (1,store_type,region_id) IN ((1,'Deluxe Supermarket','26'))
> -----------------------------
>              query
> -----------------------------
> SELECT cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_type, cd569eca_66d8_4106_b80c_d4d91fec3b5f.region_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.sales_region_id, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_name, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_number, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_street_address, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_city, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_state, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_postal_code, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_country, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_manager, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_phone, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_fax, cd569eca_66d8_4106_b80c_d4d91fec3b5f.first_opened_date, cd569eca_66d8_4106_b80c_d4d91fec3b5f.last_remodel_date, cd569eca_66d8_4106_b80c_d4d91fec3b5f.store_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.grocery_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.frozen_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.meat_sqft, cd569eca_66d8_4106_b80c_d4d91fec3b5f.coffee_bar, cd569eca_66d8_4106_b80c_d4d91fec3b5f.video_store, cd569eca_66d8_4106_b80c_d4d91fec3b5f.salad_bar, cd569eca_66d8_4106_b80c_d4d91fec3b5f.prepared_food, cd569eca_66d8_4106_b80c_d4d91fec3b5f.florist
> FROM SpagoBI.cd569eca_66d8_4106_b80c_d4d91fec3b5f
> WHERE 1,store_type,region_id) IN ((1,'Deluxe Supermarket','26')
> As you can see, MetaModel has removed the external bracket in the WHERE clause...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)