Package org.tmatesoft.sqljet.issues.threads

Source Code of org.tmatesoft.sqljet.issues.threads.SharedLockNullTest

package org.tmatesoft.sqljet.issues.threads;

import org.junit.Test;
import org.tmatesoft.sqljet.core.AbstractNewDbTest;
import org.tmatesoft.sqljet.core.SqlJetException;
import org.tmatesoft.sqljet.core.SqlJetTransactionMode;
import org.tmatesoft.sqljet.core.table.SqlJetDb;

public class SharedLockNullTest extends AbstractNewDbTest {

  @Test
  public void sharedLockNullTest() throws SqlJetException {
    db.createTable("create table t(t text);");
    final SqlJetDb connect1 = SqlJetDb.open(file, false);
    final SqlJetDb connect2 = SqlJetDb.open(file, true);
    final SqlJetDb connect3 = SqlJetDb.open(file, false);
    try {
      connect1.beginTransaction(SqlJetTransactionMode.READ_ONLY);
      connect2.beginTransaction(SqlJetTransactionMode.WRITE);
      connect2.getTable("t").insert("t");
      try {
        connect2.commit();
      } catch (SqlJetException e) {
        connect3.beginTransaction(SqlJetTransactionMode.READ_ONLY);
      } finally {
        try {
          connect1.rollback();
          connect2.rollback();
          connect3.rollback();
        } catch (Throwable e) {

        }
      }
    } finally {
      try {
        connect1.close();
        connect2.close();
        connect3.close();
      } catch (Throwable e) {

      }
    }
  }

}
TOP

Related Classes of org.tmatesoft.sqljet.issues.threads.SharedLockNullTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.