public void deleteColumns(int start,int len) throws TableException {
  int ncol=this.arrays.length;
  if (start < 0 || len < 0 || start + len > ncol) {
    throw new TableException("Invalid request to delete columns start: " + start + " length:"+ len+ " for table with "+ ncol+ " columns.");
  }
  if (len == 0) {
    return;
  }
  int ocol=ncol;
  ncol-=len;
  Object[] newArrays=new Object[ncol];
  int[] newSizes=new int[ncol];
  Class<?>[] newBases=new Class<?>[ncol];
  char[] newTypes=new char[ncol];
  System.arraycopy(this.arrays,0,newArrays,0,start);
  System.arraycopy(this.sizes,0,newSizes,0,start);
  System.arraycopy(this.bases,0,newBases,0,start);
  System.arraycopy(this.types,0,newTypes,0,start);
  int rem=ocol - (start + len);
  System.arraycopy(this.arrays,start + len,newArrays,start,rem);
  System.arraycopy(this.sizes,start + len,newSizes,start,rem);
  System.arraycopy(this.bases,start + len,newBases,start,rem);
  System.arraycopy(this.types,start + len,newTypes,start,rem);
  this.arrays=newArrays;
  this.sizes=newSizes;
  this.bases=newBases;
  this.types=newTypes;
  initializePointers();
}

public void deleteColumns ( int start , int len ) throws TableException { int ncol = this . arrays . length ; if ( start < 0 || len < 0 || start + len > ncol ) { throw new TableException ( "Invalid request to delete columns start: " + start + " length:" + len + " for table with " + ncol + " columns." ) ; } if ( len == 0 ) { return ; } int ocol = ncol ; ncol -= len ; Object [ ] newArrays = new Object [ ncol ] ; int [ ] newSizes = new int [ ncol ] ; Class < ? > [ ] newBases = new Class < ? > [ ncol ] ; char [ ] newTypes = new char [ ncol ] ; System . arraycopy ( this . arrays , 0 , newArrays , 0 , start ) ; System . arraycopy ( this . sizes , 0 , newSizes , 0 , start ) ; System . arraycopy ( this . bases , 0 , newBases , 0 , start ) ; System . arraycopy ( this . types , 0 , newTypes , 0 , start ) ; int rem = ocol - ( start + len ) ; System . arraycopy ( this . arrays , start + len , newArrays , start , rem ) ; System . arraycopy ( this . sizes , start + len , newSizes , start , rem ) ; System . arraycopy ( this . bases , start + len , newBases , start , rem ) ; System . arraycopy ( this . types , start + len , newTypes , start , rem ) ; this . arrays = newArrays ; this . sizes = newSizes ; this . bases = newBases ; this . types = newTypes ; initializePointers ( ) ; }
delete a contiguous set of columns from the table .
