Public Member Functions | |
ResultCacheColumn (int maxEntries, int pendingTimeout) | |
void | processAddToCache (CacheEntry qe) |
boolean | isUpdateNecessary (UpdateRequest request) |
String | getName () |
Protected Member Functions | |
void | processWriteNotify (AbstractWriteRequest request) |
COLUMN
: column granularity, entries in the cache are invalidated based on column dependencies
Definition at line 51 of file ResultCacheColumn.java.
|
Builds a new ResultCache with a Column granularity.
Definition at line 59 of file ResultCacheColumn.java. 00060 { 00061 super(maxEntries, pendingTimeout); 00062 parsingGranularity = ParsingGranularities.COLUMN; 00063 }
|
|
Implements org.objectweb.cjdbc.controller.cache.result.ResultCache. Definition at line 142 of file ResultCacheColumn.java. 00143 { 00144 return "column"; 00145 }
|
|
Implements org.objectweb.cjdbc.controller.cache.result.ResultCache. Definition at line 108 of file ResultCacheColumn.java. 00109 { 00110 return true; 00111 }
|
|
Implements org.objectweb.cjdbc.controller.cache.result.ResultCache. Definition at line 68 of file ResultCacheColumn.java. References org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseColumn.addCacheEntry(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseTable.addCacheEntry(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseTable.getColumn(), org.objectweb.cjdbc.common.sql.schema.TableColumn.getColumnName(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseTable.getColumns(), org.objectweb.cjdbc.common.sql.SelectRequest.getFrom(), org.objectweb.cjdbc.controller.cache.result.entries.CacheEntry.getRequest(), org.objectweb.cjdbc.common.sql.SelectRequest.getSelect(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseSchema.getTable(), org.objectweb.cjdbc.common.sql.schema.TableColumn.getTableName(), org.objectweb.cjdbc.common.sql.SelectRequest.getWhere(), and org.objectweb.cjdbc.common.log.Trace.warn(). 00069 { 00070 SelectRequest request = qe.getRequest(); 00071 ArrayList selectedColumns = request.getSelect(); 00072 // Update the tables columns dependencies 00073 if (selectedColumns == null || selectedColumns.isEmpty()) 00074 { 00075 logger 00076 .warn("No parsing of select clause found - Fallback to table granularity"); 00077 for (Iterator i = request.getFrom().iterator(); i.hasNext();) 00078 { 00079 CacheDatabaseTable table = cdbs.getTable((String) i.next()); 00080 table.addCacheEntry(qe); 00081 // Add all columns, entries will be added below. 00082 ArrayList columns = table.getColumns(); 00083 for (int j = 0; j < columns.size(); j++) 00084 { 00085 ((CacheDatabaseColumn) columns.get(j)).addCacheEntry(qe); 00086 } 00087 return; 00088 } 00089 } 00090 for (Iterator i = selectedColumns.iterator(); i.hasNext();) 00091 { 00092 TableColumn tc = (TableColumn) i.next(); 00093 cdbs.getTable(tc.getTableName()).getColumn(tc.getColumnName()) 00094 .addCacheEntry(qe); 00095 } 00096 if (request.getWhere() != null) 00097 for (Iterator i = request.getWhere().iterator(); i.hasNext();) 00098 { 00099 TableColumn tc = (TableColumn) i.next(); 00100 cdbs.getTable(tc.getTableName()).getColumn(tc.getColumnName()) 00101 .addCacheEntry(qe); 00102 } 00103 }
|
|