private void serializeViewConstantsIntoScan(Scan scan, PTable dataTable) { int dataPosOffset = (dataTable.getBucketNum() != null ? 1 : 0) + (dataTable.isMultiTenant() ? 1 : 0); int nViewConstants = 0; if (dataTable.getType() == PTableType.VIEW) { ImmutableBytesWritable ptr = new ImmutableBytesWritable(); List<PColumn> dataPkColumns = dataTable.getPKColumns(); for (int i = dataPosOffset; i < dataPkColumns.size(); i++) { PColumn dataPKColumn = dataPkColumns.get(i); if (dataPKColumn.getViewConstant() != null) { nViewConstants++; } } if (nViewConstants > 0) { byte[][] viewConstants = new byte[nViewConstants][]; int j = 0; for (int i = dataPosOffset; i < dataPkColumns.size(); i++) { PColumn dataPkColumn = dataPkColumns.get(i); if (dataPkColumn.getViewConstant() != null) { if (IndexUtil.getViewConstantValue(dataPkColumn, ptr)) { viewConstants[j++] = ByteUtil.copyKeyBytesIfNecessary(ptr); } else { throw new IllegalStateException(); } } } serializeViewConstantsIntoScan(viewConstants, scan); } } }
serializeViewConstantsIntoScan(scan, dataTable);
private void serializeViewConstantsIntoScan(Scan scan, PTable dataTable) { int dataPosOffset = (dataTable.getBucketNum() != null ? 1 : 0) + (dataTable.isMultiTenant() ? 1 : 0); int nViewConstants = 0; if (dataTable.getType() == PTableType.VIEW) { ImmutableBytesWritable ptr = new ImmutableBytesWritable(); List<PColumn> dataPkColumns = dataTable.getPKColumns(); for (int i = dataPosOffset; i < dataPkColumns.size(); i++) { PColumn dataPKColumn = dataPkColumns.get(i); if (dataPKColumn.getViewConstant() != null) { nViewConstants++; } } if (nViewConstants > 0) { byte[][] viewConstants = new byte[nViewConstants][]; int j = 0; for (int i = dataPosOffset; i < dataPkColumns.size(); i++) { PColumn dataPkColumn = dataPkColumns.get(i); if (dataPkColumn.getViewConstant() != null) { if (IndexUtil.getViewConstantValue(dataPkColumn, ptr)) { viewConstants[j++] = ByteUtil.copyKeyBytesIfNecessary(ptr); } else { throw new IllegalStateException(); } } } serializeViewConstantsIntoScan(viewConstants, scan); } } }
private void serializeViewConstantsIntoScan(Scan scan, PTable dataTable) { int dataPosOffset = (dataTable.getBucketNum() != null ? 1 : 0) + (dataTable.isMultiTenant() ? 1 : 0); int nViewConstants = 0; if (dataTable.getType() == PTableType.VIEW) { ImmutableBytesWritable ptr = new ImmutableBytesWritable(); List<PColumn> dataPkColumns = dataTable.getPKColumns(); for (int i = dataPosOffset; i < dataPkColumns.size(); i++) { PColumn dataPKColumn = dataPkColumns.get(i); if (dataPKColumn.getViewConstant() != null) { nViewConstants++; } } if (nViewConstants > 0) { byte[][] viewConstants = new byte[nViewConstants][]; int j = 0; for (int i = dataPosOffset; i < dataPkColumns.size(); i++) { PColumn dataPkColumn = dataPkColumns.get(i); if (dataPkColumn.getViewConstant() != null) { if (IndexUtil.getViewConstantValue(dataPkColumn, ptr)) { viewConstants[j++] = ByteUtil.copyKeyBytesIfNecessary(ptr); } else { throw new IllegalStateException(); } } } serializeViewConstantsIntoScan(viewConstants, scan); } } }
serializeViewConstantsIntoScan(scan, dataTable);