/** * * @param partsMap Partitions map. * @param parts Partitions. * @return Result. */ private static Map<ClusterNode, IntArray> narrowForQuery(Map<ClusterNode, IntArray> partsMap, int[] parts) { if (parts == null) return partsMap; Map<ClusterNode, IntArray> cp = U.newHashMap(partsMap.size()); for (Map.Entry<ClusterNode, IntArray> entry : partsMap.entrySet()) { IntArray filtered = new IntArray(parts.length); IntArray orig = entry.getValue(); for (int i = 0; i < orig.size(); i++) { int p = orig.get(i); if (Arrays.binarySearch(parts, p) >= 0) filtered.add(p); } if (filtered.size() > 0) cp.put(entry.getKey(), filtered); } return cp.isEmpty() ? null : cp; }
/** * Free up all reserved pages. */ void freeReserved() { if (reservedPages.size() > 0) { int[] array = new int[reservedPages.size()]; reservedPages.toArray(array); reservedPages = new IntArray(); reserved = 0; for (int p : array) { store.free(p, false); } } }
partIds = new IntArray();
IntArray paramColumnIndex = new IntArray(); int indexColumnCount = 0; for (int i = 0; i < masks.length; i++) {
IntArray list = new IntArray(); list.add(t.getPos()); for (int i = 0;; i++) {
res.put(n, parts = new IntArray());
public void truncate(Session session) throws SQLException { freeList = new IntArray(); recordCount = 0; file.truncateStorage(session, this, pages); }
/** */ private Map<ClusterNode, IntArray> narrowForQuery(Map<ClusterNode, IntArray> partsMap, int[] parts) { if (parts == null) return partsMap; Map<ClusterNode, IntArray> cp = U.newHashMap(partsMap.size()); for (Map.Entry<ClusterNode, IntArray> entry : partsMap.entrySet()) { IntArray filtered = new IntArray(parts.length); IntArray orig = entry.getValue(); for (int i = 0; i < orig.size(); i++) { int p = orig.get(i); if (Arrays.binarySearch(parts, p) >= 0) filtered.add(p); } if (filtered.size() > 0) cp.put(entry.getKey(), filtered); } return cp.isEmpty() ? null : cp; }
BtreeNode(BtreeIndex index, DataPage s) throws SQLException { super(index); int len = s.readInt(); int[] array = new int[len]; for (int i = 0; i < array.length; i++) { array[i] = s.readInt(); } pageChildren = new IntArray(array); pageData = index.readRowArray(s); }
private void reset() { used = new BitField(); deleted = new BitField(); pageOwners = new IntArray(); // init pageOwners setBlockCount(fileBlockCount); redoBuffer = new ObjectArray(); potentiallyFreePages = new HashSet(); }
/** * Free up all reserved pages. */ void freeReserved() { if (reservedPages.size() > 0) { int[] array = new int[reservedPages.size()]; reservedPages.toArray(array); reservedPages = new IntArray(); reserved = 0; for (int p : array) { store.free(p, false); } } }
/** * Free up all reserved pages. */ void freeReserved() { if (reservedPages.size() > 0) { int[] array = new int[reservedPages.size()]; reservedPages.toArray(array); reservedPages = new IntArray(); reserved = 0; for (int p : array) { store.free(p, false); } } }
partIds = new IntArray();
BtreeNode(BtreeIndex index, BtreePage left, SearchRow pivot, BtreePage right) { super(index); pageChildren = new IntArray(); pageChildren.add(left.getPos()); pageChildren.add(right.getPos()); pageData = new ObjectArray(); pageData.add(pivot); }
public PlanItem getBestPlanItem(Session session, int[] masks) throws SQLException { PlanItem item = new PlanItem(); item.cost = index.getCost(session, masks); IntArray masksArray = new IntArray(masks == null ? new int[0] : masks); ViewIndex i2 = (ViewIndex) indexCache.get(masksArray); if (i2 == null || i2.getSession() != session) { i2 = new ViewIndex(this, index, session, masks); indexCache.put(masksArray, i2); } item.setIndex(i2); return item; }
public double getCost(Session session, int[] masks) throws SQLException { IntArray masksArray = new IntArray(masks == null ? new int[0] : masks); CostElement cachedCost = (CostElement) costCache.get(masksArray); if (cachedCost != null) { columns = new Column[0]; } else { IntArray paramIndex = new IntArray(); for (int i = 0; i < masks.length; i++) { int mask = masks[i];
IntArray list = new IntArray(); list.add(t.getPos()); for (int i = 0;; i++) {
IntArray list = new IntArray(); list.add(t.getPos()); for (int i = 0;; i++) {
IntArray paramIndex = new IntArray(); for (int i = 0; i < masks.length; i++) { int mask = masks[i];
public BtreePage split(Session session, int splitPoint) throws SQLException { ObjectArray data = new ObjectArray(); IntArray children = new IntArray(); splitPoint++; int max = pageData.size(); if (SysProperties.CHECK && index.getDatabase().getLogIndexChanges() && !getDeleted()) { // page must have been deleted already before calling // getSplitPoint() throw Message.getInternalError(); } for (int i = splitPoint; i < max; i++) { data.add(getData(splitPoint)); children.add(getChild(splitPoint)); pageData.remove(splitPoint); pageChildren.remove(splitPoint); } children.add(getChild(splitPoint)); pageData.remove(splitPoint - 1); pageChildren.remove(splitPoint); BtreeNode n2 = new BtreeNode(index, children, data); index.updatePage(session, this); index.addPage(session, n2); return n2; }