--- /dev/null
+/*\r
+\r
+ Derby - Class org.apache.derby.iapi.store.access.DynamicCompiledOpenConglomInfo\r
+\r
+ Licensed to the Apache Software Foundation (ASF) under one or more\r
+ contributor license agreements. See the NOTICE file distributed with\r
+ this work for additional information regarding copyright ownership.\r
+ The ASF licenses this file to you under the Apache License, Version 2.0\r
+ (the "License"); you may not use this file except in compliance with\r
+ the License. You may obtain a copy of the License at\r
+\r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+\r
+ */\r
+\r
+package org.apache.derby.iapi.store.access;\r
+\r
+import org.apache.derby.iapi.error.StandardException;\r
+\r
+\r
+/**\r
+\r
+ Information that can be "compiled" and reused per transaction per \r
+ open operation. This information is read only by the caller and\r
+ written by user. Likely information kept in this object is a set of\r
+ scratch buffers which will be used by openScan() and thus must not be\r
+ shared across multiple threads/openScan()'s/openConglomerate()'s. The\r
+ goal is to optimize repeated operations like btree inserts, by allowing a\r
+ set of scratch buffers to be reused across a repeated execution of a statement\r
+ like an insert/delete/update.\r
+\r
+ This information is obtained from the getDynamicCompiledConglomInfo(conglomid)\r
+ method call. It can then be used in openConglomerate() and openScan() calls\r
+ for increased performance. The information is only valid until the next\r
+ ddl operation is performed on the conglomerate. It is up to the caller to\r
+ provide an invalidation methodology.\r
+ \r
+ The dynamic info is a set of variables to be used in a given ScanController\r
+ or ConglomerateController. It can only be used in one controller at a time.\r
+ It is up to the caller to insure the correct thread access to this info. The\r
+ type of info in this is a scratch template for btree traversal, other scratch\r
+ variables for qualifier evaluation, ...\r
+\r
+**/\r
+\r
+public interface DynamicCompiledOpenConglomInfo\r
+{\r
+}\r