Liran Zelkha 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? Integer.MAX_VALUE will give you all the results, same as in this scenario. No paging. 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? Done 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? Done 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 StorageDomain But then the row mapper won't be relevant. I agree with the concept - we'll do it as a part of a general move to partial objects (load from tables and not from views) 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 Done 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 - Done 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() Done 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? I want people who use this to get a compilation warning, to decrease the usage. 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 Done 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 Done 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 <lzel...@redhat.com> Gerrit-Reviewer: Barak Azulay <bazu...@redhat.com> Gerrit-Reviewer: Eli Mesika <emes...@redhat.com> Gerrit-Reviewer: Juan Hernandez <juan.hernan...@redhat.com> Gerrit-Reviewer: Liran Zelkha <lzel...@redhat.com> Gerrit-Reviewer: Liron Ar <lara...@redhat.com> Gerrit-Reviewer: Mike Kolesnik <mkole...@redhat.com> Gerrit-Reviewer: Moti Asayag <masa...@redhat.com> Gerrit-Reviewer: automat...@ovirt.org Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: Yes _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches