1 28 29 package com.caucho.db.sql; 30 31 import com.caucho.db.table.Table; 32 import com.caucho.db.table.TableIterator; 33 import com.caucho.log.Log; 34 35 import java.sql.SQLException ; 36 import java.util.logging.Logger ; 37 38 class OidExpr extends Expr { 39 private static final Logger log = Log.open(OidExpr.class); 40 41 private Table _table; 42 43 private int _tableIndex; 44 45 OidExpr(Table table, int tableIndex) 46 { 47 _table = table; 48 _tableIndex = tableIndex; 49 } 50 51 public Class getType() 52 { 53 return long.class; 54 } 55 56 59 public String getName() 60 { 61 return "resin_oid"; 62 } 63 64 67 public Table getTable() 68 { 69 return _table; 70 } 71 72 75 public boolean isNull(QueryContext context) 76 throws SQLException 77 { 78 return false; 79 } 80 81 84 public String evalString(QueryContext context) 85 throws SQLException 86 { 87 TableIterator []rows = context.getTableIterators(); 88 TableIterator row = rows[_tableIndex]; 89 90 return String.valueOf(row.getRowAddress()); 91 } 92 93 public int evalInt(QueryContext context) 94 throws SQLException 95 { 96 TableIterator []rows = context.getTableIterators(); 97 TableIterator row = rows[_tableIndex]; 98 99 return (int) row.getRowAddress(); 100 } 101 102 public long evalLong(QueryContext context) 103 throws SQLException 104 { 105 TableIterator []rows = context.getTableIterators(); 106 TableIterator row = rows[_tableIndex]; 107 108 return row.getRowAddress(); 109 } 110 111 public double evalDouble(QueryContext context) 112 throws SQLException 113 { 114 TableIterator []rows = context.getTableIterators(); 115 TableIterator row = rows[_tableIndex]; 116 117 return row.getRowAddress(); 118 } 119 120 public String toString() 121 { 122 return "OidExpr[" + _tableIndex + "]"; 123 } 124 } 125 | Popular Tags |