TabInfoImpl ti = getNonCoreTI( catalogNumber); PermissionsCatalogRowFactory rf = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory(); int primaryIndexNumber = rf.getPrimaryKeyIndexNumber(); ConglomerateController heapCC = tc.openConglomerate( ti.getHeapConglomerate(), false, // do not keep open across commits ExecIndexRow key = rf.buildIndexKeyRow( primaryIndexNumber, perm); ExecRow existingRow = ti.getRow( tc, key, primaryIndexNumber); if( existingRow == null) boolean[] indicesToUpdate = new boolean[ rf.getNumIndexes()]; int changedColCount = 0; if( add) { changedColCount = rf.orPermissions( existingRow, perm, colsChanged); final int ldapColumnNum = rf.getLdapGroupColumnNumber(); if (ldapColumnNum > 0) { changedColCount = rf.removePermissions( existingRow, perm, colsChanged); if( changedColCount == 0) rf.setUUIDOfThePassedDescriptor(existingRow, perm);
ExecRow outRow = rf.makeEmptyRow(); ExecIndexRow indexRow = getIndexRowFromHeapRow( ti.getIndexRowGenerator(indexNo), buildDescriptor(outRow, (TupleDescriptor) null, this);
private TupleDescriptor getUncachedPermissionsDescriptor( int catalogNumber, int indexNumber, PermissionsDescriptor key) throws StandardException { TabInfoImpl ti = getNonCoreTI( catalogNumber); PermissionsCatalogRowFactory rowFactory = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory(); ExecIndexRow keyRow = rowFactory.buildIndexKeyRow( indexNumber, key); return getDescriptorViaIndex( indexNumber, keyRow, (ScanQualifier [][]) null, ti, (TupleDescriptor) null, (List) null, false); } // end of getUncachedPermissionsDescriptor
ExecRow outRow = rf.makeEmptyRow(); ExecIndexRow indexRow = getIndexRowFromHeapRow( ti.getIndexRowGenerator(indexNo), buildDescriptor(outRow, (TupleDescriptor) null, this);
private TupleDescriptor getUncachedPermissionsDescriptor( int catalogNumber, int indexNumber, PermissionsDescriptor key) throws StandardException { TabInfoImpl ti = getNonCoreTI( catalogNumber); PermissionsCatalogRowFactory rowFactory = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory(); ExecIndexRow keyRow = rowFactory.buildIndexKeyRow( indexNumber, key); return getDescriptorViaIndex( indexNumber, keyRow, (ScanQualifier [][]) null, ti, (TupleDescriptor) null, (List) null, false); } // end of getUncachedPermissionsDescriptor
TabInfoImpl ti = getNonCoreTI( catalogNumber); PermissionsCatalogRowFactory rf = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory(); int primaryIndexNumber = rf.getPrimaryKeyIndexNumber(); ConglomerateController heapCC = tc.openConglomerate( ti.getHeapConglomerate(), false, // do not keep open across commits ExecIndexRow key = rf.buildIndexKeyRow( primaryIndexNumber, perm); ExecRow existingRow = ti.getRow( tc, key, primaryIndexNumber); if( existingRow == null) boolean[] indicesToUpdate = new boolean[ rf.getNumIndexes()]; int changedColCount = 0; if( add) { changedColCount = rf.orPermissions( existingRow, perm, colsChanged); final int ldapColumnNum = rf.getLdapGroupColumnNumber(); if (ldapColumnNum > 0) { changedColCount = rf.removePermissions( existingRow, perm, colsChanged); if( changedColCount == 0) rf.setUUIDOfThePassedDescriptor(existingRow, perm);
ExecRow outRow = rf.makeEmptyRow(); ExecIndexRow indexRow = getIndexRowFromHeapRow( ti.getIndexRowGenerator(indexNo), buildDescriptor(outRow, (TupleDescriptor) null, this);
private TupleDescriptor getUncachedPermissionsDescriptor( int catalogNumber, int indexNumber, PermissionsDescriptor key) throws StandardException { TabInfoImpl ti = getNonCoreTI( catalogNumber); PermissionsCatalogRowFactory rowFactory = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory(); ExecIndexRow keyRow = rowFactory.buildIndexKeyRow( indexNumber, key); return getDescriptorViaIndex( indexNumber, keyRow, (ScanQualifier [][]) null, ti, (TupleDescriptor) null, (List) null, false); } // end of getUncachedPermissionsDescriptor
TabInfoImpl ti = getNonCoreTI( catalogNumber); PermissionsCatalogRowFactory rf = (PermissionsCatalogRowFactory) ti.getCatalogRowFactory(); int primaryIndexNumber = rf.getPrimaryKeyIndexNumber(); ConglomerateController heapCC = tc.openConglomerate( ti.getHeapConglomerate(), false, // do not keep open across commits ExecIndexRow key = rf.buildIndexKeyRow( primaryIndexNumber, perm); ExecRow existingRow = ti.getRow( tc, key, primaryIndexNumber); if( existingRow == null) boolean[] indicesToUpdate = new boolean[ rf.getNumIndexes()]; int changedColCount = 0; if( add) { changedColCount = rf.orPermissions( existingRow, perm, colsChanged); final int ldapColumnNum = rf.getLdapGroupColumnNumber(); if (ldapColumnNum > 0) { changedColCount = rf.removePermissions( existingRow, perm, colsChanged); if( changedColCount == 0) rf.setUUIDOfThePassedDescriptor(existingRow, perm);
/** * {@inheritDoc} */ @Override public List<PermissionsDescriptor> getLDAPDescriptorsHavingPermissions( PermissionsDescriptor perm, int catalogNum, int indexNum, int groupColumnNum, TransactionController tc) throws StandardException { ArrayList<PermissionsDescriptor> descriptors = new ArrayList<>(); TabInfoImpl ti = getNonCoreTI(catalogNum); PermissionsCatalogRowFactory rowFactory = (PermissionsCatalogRowFactory)ti .getCatalogRowFactory(); ExecIndexRow keyRow = rowFactory.buildIndexKeyRow(indexNum, perm); // additional qualifier for ldap group name (on output row, not index scan // since this is not an index column) ScanQualifier[][] qualifier = null; String ldapGroup = perm.getLdapGroup(); if (ldapGroup != null) { qualifier = exFactory.getScanQualifier(1); qualifier[0][0].setQualifier(groupColumnNum - 1, null, // No column name new SQLVarchar(ldapGroup), Orderable.ORDER_OP_EQUALS, false, false, false); } getDescriptorViaIndexMinion(indexNum, keyRow, null, qualifier, ti, null, descriptors, false, getTransactionCompile()); return descriptors; }
/** * {@inheritDoc} */ @Override public List<PermissionsDescriptor> getLDAPDescriptorsHavingPermissions( PermissionsDescriptor perm, int catalogNum, int indexNum, int groupColumnNum, TransactionController tc) throws StandardException { ArrayList<PermissionsDescriptor> descriptors = new ArrayList<>(); TabInfoImpl ti = getNonCoreTI(catalogNum); PermissionsCatalogRowFactory rowFactory = (PermissionsCatalogRowFactory)ti .getCatalogRowFactory(); ExecIndexRow keyRow = rowFactory.buildIndexKeyRow(indexNum, perm); // additional qualifier for ldap group name (on output row, not index scan // since this is not an index column) ScanQualifier[][] qualifier = null; String ldapGroup = perm.getLdapGroup(); if (ldapGroup != null) { qualifier = exFactory.getScanQualifier(1); qualifier[0][0].setQualifier(groupColumnNum - 1, null, // No column name new SQLVarchar(ldapGroup), Orderable.ORDER_OP_EQUALS, false, false, false); } getDescriptorViaIndexMinion(indexNum, keyRow, null, qualifier, ti, null, descriptors, false, getTransactionCompile()); return descriptors; }
/** * {@inheritDoc} */ @Override public List<PermissionsDescriptor> getLDAPDescriptorsHavingPermissions( PermissionsDescriptor perm, int catalogNum, int indexNum, int groupColumnNum, TransactionController tc) throws StandardException { ArrayList<PermissionsDescriptor> descriptors = new ArrayList<>(); TabInfoImpl ti = getNonCoreTI(catalogNum); PermissionsCatalogRowFactory rowFactory = (PermissionsCatalogRowFactory)ti .getCatalogRowFactory(); ExecIndexRow keyRow = rowFactory.buildIndexKeyRow(indexNum, perm); // additional qualifier for ldap group name (on output row, not index scan // since this is not an index column) ScanQualifier[][] qualifier = null; String ldapGroup = perm.getLdapGroup(); if (ldapGroup != null) { qualifier = exFactory.getScanQualifier(1); qualifier[0][0].setQualifier(groupColumnNum - 1, null, // No column name new SQLVarchar(ldapGroup), Orderable.ORDER_OP_EQUALS, false, false, false); } getDescriptorViaIndexMinion(indexNum, keyRow, null, qualifier, ti, null, descriptors, false, getTransactionCompile()); return descriptors; }