Skip to content

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

Merge request reports

Loading