01: /*
02:
03: Derby - Class org.apache.derby.iapi.sql.execute.TemporaryRowHolder
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (the "License"); you may not use this file except in compliance with
10: the License. You may obtain a copy of the License at
11:
12: http://www.apache.org/licenses/LICENSE-2.0
13:
14: Unless required by applicable law or agreed to in writing, software
15: distributed under the License is distributed on an "AS IS" BASIS,
16: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: See the License for the specific language governing permissions and
18: limitations under the License.
19:
20: */
21:
22: package org.apache.derby.iapi.sql.execute;
23:
24: import org.apache.derby.iapi.services.sanity.SanityManager;
25: import org.apache.derby.iapi.error.StandardException;
26: import org.apache.derby.iapi.sql.execute.ExecRow;
27:
28: /**
29: * This is a class that is used to temporarily
30: * (non-persistently) hold rows that are used in
31: * language execution. It will store them in an
32: * array, or a temporary conglomerate, depending
33: * on the number of rows.
34: * <p>
35: * It is used for deferred DML processing.
36: *
37: * @author jamie
38: */
39: public interface TemporaryRowHolder {
40: /**
41: * Insert a row
42: *
43: * @param inputRow the row to insert
44: *
45: * @exception StandardException on error
46: */
47: public void insert(ExecRow inputRow) throws StandardException;
48:
49: /**
50: * Get a result set for scanning what has been inserted
51: * so far.
52: *
53: * @return a result set to use
54: */
55: public CursorResultSet getResultSet();
56:
57: /**
58: * Clean up
59: *
60: * @exception StandardException on error
61: */
62: public void close() throws StandardException;
63:
64: //returns the conglomerate number it created
65: public long getTemporaryConglomId();
66:
67: //return the conglom id of the position index it maintains
68: public long getPositionIndexConglomId();
69:
70: //sets the type of the temporary row holder to unique stream
71: public void setRowHolderTypeToUniqueStream();
72:
73: }
|