Draft: NXCALS-7086 Add findAllWithoutConfig to variable metadata api
New query:
select variableda0_.variable_id as variable_id1_18_0_,
systemspec2_.system_id as system_id1_13_1_,
variableda0_.rec_version as rec_version2_18_0_,
variableda0_.declared_type as declared_type3_18_0_,
variableda0_.description as description4_18_0_,
variableda0_.system_id as system_id7_18_0_,
variableda0_.unit as unit5_18_0_,
variableda0_.variable_name as variable_name6_18_0_,
systemspec2_.rec_version as rec_version2_13_1_,
systemspec2_.entity_key_defs as entity_key_defs3_13_1_,
systemspec2_.system_name as system_name4_13_1_,
systemspec2_.partition_key_defs as partition_key_defs5_13_1_,
systemspec2_.record_version_key_defs as record_version_key6_13_1_,
systemspec2_.time_key_defs as time_key_defs7_13_1_
from variables variableda0_
left outer join systems systemspec2_ on variableda0_.system_id = systemspec2_.system_id
where variableda0_.variable_id in (
select variableda1_.variable_id
from variables variableda1_
where variableda1_.variable_name = ?
)
vs old (standard query used by findAll)
select variableda0_.variable_id as variable_id1_18_0_,
systemspec2_.system_id as system_id1_13_1_,
variableco3_.variable_config_id as variable_config_id1_16_2_,
variableda4_.variable_id as variable_id1_18_3_,
entitydata5_.entity_id as entity_id1_0_4_,
partitiond6_.partition_id as partition_id1_11_5_,
systemspec7_.system_id as system_id1_13_6_,
variableda0_.rec_version as rec_version2_18_0_,
variableda0_.declared_type as declared_type3_18_0_,
variableda0_.description as description4_18_0_,
variableda0_.system_id as system_id7_18_0_,
variableda0_.unit as unit5_18_0_,
variableda0_.variable_name as variable_name6_18_0_,
systemspec2_.rec_version as rec_version2_13_1_,
systemspec2_.entity_key_defs as entity_key_defs3_13_1_,
systemspec2_.system_name as system_name4_13_1_,
systemspec2_.partition_key_defs as partition_key_defs5_13_1_,
systemspec2_.record_version_key_defs as record_version_key6_13_1_,
systemspec2_.time_key_defs as time_key_defs7_13_1_,
variableco3_.rec_version as rec_version2_16_2_,
variableco3_.entity_id as entity_id7_16_2_,
variableco3_.field_name as field_name3_16_2_,
variableco3_.predicate as predicate4_16_2_,
variableco3_.valid_from_stamp as valid_from_stamp5_16_2_,
variableco3_.valid_to_stamp as valid_to_stamp6_16_2_,
variableco3_.variable_id as variable_id8_16_2_,
variableco3_.variable_id as variable_id8_16_0__,
variableco3_.variable_config_id as variable_config_id1_16_0__,
variableda4_.rec_version as rec_version2_18_3_,
variableda4_.declared_type as declared_type3_18_3_,
variableda4_.description as description4_18_3_,
variableda4_.system_id as system_id7_18_3_,
variableda4_.unit as unit5_18_3_,
variableda4_.variable_name as variable_name6_18_3_,
entitydata5_.rec_version as rec_version2_0_4_,
entitydata5_.kafka_partition as kafka_partition3_0_4_,
entitydata5_.key_values as key_values4_0_4_,
entitydata5_.locked_until_stamp as locked_until_stamp5_0_4_,
entitydata5_.system_id as system_id6_0_4_,
entitydata5_.partition_id as partition_id7_0_4_,
partitiond6_.rec_version as rec_version2_11_5_,
partitiond6_.key_values as key_values3_11_5_,
partitiond6_.updatable as updatable4_11_5_,
partitiond6_.system_id as system_id5_11_5_,
systemspec7_.rec_version as rec_version2_13_6_,
systemspec7_.entity_key_defs as entity_key_defs3_13_6_,
systemspec7_.system_name as system_name4_13_6_,
systemspec7_.partition_key_defs as partition_key_defs5_13_6_,
systemspec7_.record_version_key_defs as record_version_key6_13_6_,
systemspec7_.time_key_defs as time_key_defs7_13_6_
from variables variableda0_
left outer join systems systemspec2_ on variableda0_.system_id = systemspec2_.system_id
left outer join variable_configs variableco3_ on variableda0_.variable_id = variableco3_.variable_id
left outer join variables variableda4_ on variableco3_.variable_id = variableda4_.variable_id
left outer join entities entitydata5_ on variableco3_.entity_id = entitydata5_.entity_id
left outer join partitions partitiond6_ on entitydata5_.system_id = partitiond6_.system_id
and entitydata5_.partition_id = partitiond6_.partition_id
left outer join systems systemspec7_ on partitiond6_.system_id = systemspec7_.system_id
where variableda0_.variable_id in (
select variableda1_.variable_id
from variables variableda1_
where variableda1_.variable_name = ?
)
Name of new method can (and should) be discussed. Alternative may be generic method findAll/One(Condition<?> condition, <? extends QueryVariant> variant)
, where QueryVariant
may include such variants like with/without config, with/without history etc.
Closes NXCALS-7086
Edited by Rafal Mucha