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

COVERAGE SUMMARY FOR SOURCE FILE [StorePage.java]

nameclass, %method, %block, %line, %
StorePage.java100% (1/1)100% (5/5)93%  (56/60)90%  (18/20)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class StorePage100% (1/1)100% (5/5)93%  (56/60)90%  (18/20)
commit (): long 100% (1/1)88%  (29/33)75%  (6/8)
StorePage (byte [], int, RandomAccessFile, long): void 100% (1/1)100% (15/15)100% (6/6)
freeLock (): void 100% (1/1)100% (1/1)100% (1/1)
rollback (): void 100% (1/1)100% (4/4)100% (2/2)
setPageData (byte [], int): void 100% (1/1)100% (7/7)100% (3/3)

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 * StorePage.java
29 * ---------------
30 * Author: Volker Berlin
31 * 
32 * Created on 28.08.2004
33 */
34package smallsql.database;
35 
36import java.io.*;
37import java.sql.SQLException;
38 
39/**
40 * @author Volker Berlin
41 */
42class StorePage {
43        byte[] page; // Daten einer Page
44        int pageSize;
45        RandomAccessFile raFile;
46        long fileOffset; // Position in Datei
47 
48        StorePage(byte[] page, int pageSize, RandomAccessFile raFile, long fileOffset){
49                this.page = page;
50                this.pageSize = pageSize;
51                this.raFile = raFile;
52                this.fileOffset = fileOffset;
53        }
54        
55        
56        final void setPageData(byte[] data, int size){
57                page = data;
58                pageSize = size;
59        }
60 
61 
62        long commit() throws SQLException{
63                try{
64                        if(raFile != null){
65                                // if new page then append at end of file
66                                if(fileOffset < 0){
67                                        fileOffset = raFile.length();
68                                }
69                                raFile.seek(fileOffset);
70                                raFile.write(page, 0, pageSize);
71                                //raFile.getFD().sync();
72                        }
73                        return fileOffset;
74                }catch(Exception e){
75                        throw Utils.createSQLException(e);
76                }
77        }
78 
79        
80        final void rollback(){
81                raFile = null;
82        }
83        
84        void freeLock(){}
85}

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