Liron Ar has posted comments on this change. Change subject: core: Remove usage of dynamic queries from the Backend ......................................................................
Patch Set 12: (10 comments) http://gerrit.ovirt.org/#/c/24310/12/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmTemplatesByStoragePoolIdQuery.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmTemplatesByStoragePoolIdQuery.java: Line 15: Line 16: @Override Line 17: protected void executeQueryCommand() { Line 18: StoragePool pool = DbFacade.getInstance().getStoragePoolDao().get(getParameters().getId()); Line 19: List<VmTemplate> templateList = DbFacade.getInstance().getVmTemplateDao().getAllForStorageDomain(pool.getId()); what about the max count that we had before? Line 20: // Load VmInit and disks Line 21: for (VmTemplate template : templateList) { Line 22: VmHandler.updateVmInitFromDB(template, true); Line 23: VmTemplateHandler.updateDisksFromDb(template); http://gerrit.ovirt.org/#/c/24310/12/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java File backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java: Line 205: GetVmTemplatesWithPermittedAction(VdcQueryAuthType.User), Line 206: Line 207: // Storage Line 208: GetStorageDomainById(VdcQueryAuthType.User), Line 209: GetStorageDomainByName, any reason for this not being a user query? Line 210: GetStorageServerConnectionById, Line 211: GetAllStorageServerConnections, Line 212: GetStorageServerConnectionsForDomain, Line 213: GetStoragePoolById(VdcQueryAuthType.User), Line 210: GetStorageServerConnectionById, Line 211: GetAllStorageServerConnections, Line 212: GetStorageServerConnectionsForDomain, Line 213: GetStoragePoolById(VdcQueryAuthType.User), Line 214: GetStoragePoolByDatacenterName, any reason for this not being a user query? Line 215: GetStorageDomainsByConnection, Line 216: GetConnectionsByDataCenterAndStorageType, Line 217: GetStorageDomainsByStoragePoolId(VdcQueryAuthType.User), Line 218: GetStorageDomainsByImageId, http://gerrit.ovirt.org/#/c/24310/12/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java File backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/StorageDomainDAODbFacadeImpl.java: Line 204: return returnValue; Line 205: } Line 206: Line 207: @Override Line 208: public StorageDomain getByName(String name, Guid userID, boolean isFiltered) { with the current usecases for this method, using the existing StorageDomainStaticDao.getByName will be sufficent and will reduce number of joins as we won't query using the storage domain view - should be better and suffice the need. Line 209: return getCallsHandler().executeRead("Getstorage_domains_By_name", Line 210: StorageDomainRowMapper.instance, Line 211: getCustomMapSqlParameterSource() Line 212: .addValue("name", name) http://gerrit.ovirt.org/#/c/24310/12/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterResource.java File backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterResource.java: Line 110: pool = parent.getEntity(StoragePool.class, VdcQueryType.GetStoragePoolById, Line 111: new IdQueryParameters(new Guid(id)), "Datacenter: id=" + id); Line 112: } else { Line 113: pool = parent.getEntity(StoragePool.class, VdcQueryType.GetStoragePoolByDatacenterName, Line 114: new NameQueryParameters(cluster.getDataCenter().getName()), "Datacenter: name=" please export cluster.getDataCenter().getName() to a variable and use it in both places Line 115: + cluster.getDataCenter().getName()); Line 116: cluster.getDataCenter().setId(pool.getId().toString()); Line 117: } Line 118: return pool; http://gerrit.ovirt.org/#/c/24310/12/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java File backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java: Line 173: } Line 174: return collection; Line 175: } Line 176: Line 177: private Guid getClusterId(Host host) { please rewrite this method as - //constant added somewhere private static final String defaultName = "Default" private Guid getClusterId(Host host) { if (host.isSetCluster()) { Cluster cluster = host.getCluster(); if (cluster.isSetId()) { return new Guid(cluster.getId()); } if (cluster.isSetName()) { return getClusterIdByName(cluster.getName()); } return return getClusterIdByName("Default"); } Line 178: String name = host.isSetCluster() && host.getCluster().isSetName() Line 179: ? host.getCluster().getName() Line 180: : "Default"; Line 181: return host.isSetCluster() && host.getCluster().isSetId() http://gerrit.ovirt.org/#/c/24310/12/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java File backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java: Line 97: protected boolean namedDataCenter(Network network) { Line 98: return network != null && network.isSetDataCenter() && network.getDataCenter().isSetName() && !network.getDataCenter().isSetId(); Line 99: } Line 100: Line 101: protected Guid getDataCenterId(Network network) { please export network.getDataCenter().getName() Line 102: return getEntity(StoragePool.class, VdcQueryType.GetStoragePoolByDatacenterName, Line 103: new NameQueryParameters(network.getDataCenter().getName()), "Datacenter: name=" Line 104: + network.getDataCenter().getName()).getId(); Line 105: http://gerrit.ovirt.org/#/c/24310/12/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java File backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java: Line 52: public static final String POPULATE = "All-Content"; Line 53: public static final String JOB_ID_CONSTRAINT = "JobId"; Line 54: public static final String STEP_ID_CONSTRAINT = "StepId"; Line 55: Line 56: @Deprecated ? related to this patch? Line 57: protected <T> T getEntity(Class<T> clz, SearchType searchType, String constraint) { Line 58: try { Line 59: VdcQueryReturnValue result = runQuery(VdcQueryType.Search, Line 60: new SearchParameters(constraint, searchType)); http://gerrit.ovirt.org/#/c/24310/12/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendPermissionResourceTest.java File backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendPermissionResourceTest.java: Line 65: public void testGet() throws Exception { Line 66: setUriInfo(setUpBasicUriExpectations()); Line 67: setUpEntityQueryExpectations(VdcQueryType.GetAllDbUsers, Line 68: VdcQueryParametersBase.class, Line 69: new String[] {}, please add "filtered" here Line 70: new Object[] {}, Line 71: getUsers()); Line 72: Line 73: setUpGetEntityExpectations(); http://gerrit.ovirt.org/#/c/24310/12/packaging/dbscripts/storages_sp.sql File packaging/dbscripts/storages_sp.sql: Line 432: Line 433: END; $procedure$ Line 434: LANGUAGE plpgsql; Line 435: Line 436: Create or replace FUNCTION Getstorage_domains_By_name(v_name varchar(250), v_user_id UUID, v_is_filtered BOOLEAN) s/By/by Line 437: RETURNS SETOF storage_domains_without_storage_pools STABLE Line 438: AS $procedure$ Line 439: BEGIN Line 440: RETURN QUERY SELECT * -- To view, visit http://gerrit.ovirt.org/24310 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I3df981a958fae36edd6ecf3cb2bb47b94b2c446a Gerrit-PatchSet: 12 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liran Zelkha <[email protected]> Gerrit-Reviewer: Barak Azulay <[email protected]> Gerrit-Reviewer: Eli Mesika <[email protected]> Gerrit-Reviewer: Juan Hernandez <[email protected]> Gerrit-Reviewer: Liran Zelkha <[email protected]> Gerrit-Reviewer: Liron Ar <[email protected]> Gerrit-Reviewer: Mike Kolesnik <[email protected]> Gerrit-Reviewer: Moti Asayag <[email protected]> Gerrit-Reviewer: [email protected] Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: Yes _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
