1 4 package smallsql.database; 5 6 import java.io.*; 7 8 9 12 class FileIndex extends Index { 13 14 static public void main(String args[]) throws Exception { 15 File file = File.createTempFile("test", "idx"); 16 RandomAccessFile raFile = new RandomAccessFile(file, "rw"); 17 FileIndex index = new FileIndex(false, raFile); 18 Expressions expressions = new Expressions(); 19 ExpressionValue value = new ExpressionValue(); 20 expressions.add(value); 21 value.set( "150", SQLTokenizer.VARCHAR); 22 index.addValues(1, expressions); 23 value.set( "15", SQLTokenizer.VARCHAR); 24 index.addValues(2, expressions); 25 print(index,expressions); 26 index.save(); 27 } 28 29 static void print(Index index, Expressions expressions){ 30 IndexScrollStatus scroll = index.createScrollStatus(expressions); 31 long l; 32 while((l= scroll.getRowOffset(true)) >=0){ 33 System.out.println(l); 34 } 35 System.out.println("============================"); 36 } 37 38 39 private final RandomAccessFile raFile; 40 41 42 FileIndex( boolean unique, RandomAccessFile raFile ) { 43 super(new FileIndexNode( unique, (char)-1, raFile)); 44 this.raFile = raFile; 45 } 46 47 48 void save() throws Exception { 49 ((FileIndexNode)rootPage).save(); 50 } 51 52 } 53 | Popular Tags |