EMMA Coverage Report (generated Wed Jun 28 19:54:35 CEST 2006)
[all classes][smallsql.database]

COVERAGE SUMMARY FOR SOURCE FILE [TableStorePage.java]

nameclass, %method, %block, %line, %
TableStorePage.java100% (1/1)75%  (3/4)88%  (45/51)88%  (14/16)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class TableStorePage100% (1/1)75%  (3/4)88%  (45/51)88%  (14/16)
getData (): byte [] 0%   (0/1)0%   (0/3)0%   (0/1)
commit (): long 100% (1/1)88%  (23/26)88%  (7/8)
TableStorePage (SSConnection, Table, int, long): void 100% (1/1)100% (17/17)100% (5/5)
freeLock (): void 100% (1/1)100% (5/5)100% (2/2)

1/* =============================================================
2 * SmallSQL : a free Java DBMS library for the Java(tm) platform
3 * =============================================================
4 *
5 * (C) Copyright 2004-2006, by Volker Berlin.
6 *
7 * Project Info:  http://www.smallsql.de/
8 *
9 * This library is free software; you can redistribute it and/or modify it 
10 * under the terms of the GNU Lesser General Public License as published by 
11 * the Free Software Foundation; either version 2.1 of the License, or 
12 * (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful, but 
15 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
16 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
17 * License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
22 * USA.  
23 *
24 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
25 * in the United States and other countries.]
26 *
27 * ---------------
28 * TableStorePage.java
29 * ---------------
30 * Author: Volker Berlin
31 * 
32 */
33package smallsql.database;
34 
35import java.sql.*;
36 
37public class TableStorePage extends StorePage{
38    final Table table;
39    
40    // ======= variables needed for locking ========
41        int lockType;
42        SSConnection con;
43        TableStorePage nextLock;
44 
45 
46        TableStorePage(SSConnection con, Table table, int lockType, long fileOffset){
47                super( null, 0, table.raFile, fileOffset );
48                this.con         = con;
49                this.table = table;
50                this.lockType         = lockType;
51        }
52           
53    
54    byte[] getData(){
55            return page;
56    }
57    
58    
59    // liefert die finale Position der Page zurück
60    long commit() throws SQLException{
61                if(nextLock != null){
62                        // save only the last version of this page
63                        fileOffset = nextLock.commit();
64                        nextLock = null;
65                        rollback();
66                        return fileOffset;
67                }
68            if(lockType == Table.LOCK_READ)
69                    return fileOffset;
70            return super.commit();
71    }
72 
73    
74    final void freeLock(){
75            table.freeLock(this);
76    }
77}

[all classes][smallsql.database]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov