Esempio n. 1
0
  public long[] getApproximateSizes(NativeRange... ranges) {
    if (ranges == null) {
      return null;
    }

    long rc[] = new long[ranges.length];
    NativeRange.RangeJNI structs[] = new NativeRange.RangeJNI[ranges.length];
    if (rc.length > 0) {
      NativeBuffer range_array = NativeRange.RangeJNI.arrayCreate(ranges.length);
      try {
        for (int i = 0; i < ranges.length; i++) {
          structs[i] = new NativeRange.RangeJNI(ranges[i]);
          structs[i].arrayWrite(range_array.pointer(), i);
        }
        DBJNI.GetApproximateSizes(self, range_array.pointer(), ranges.length, rc);
      } finally {
        for (int i = 0; i < ranges.length; i++) {
          if (structs[i] != null) {
            structs[i].delete();
          }
        }
        range_array.delete();
      }
    }
    return rc;
  }