Why does the exception say what is this File on which this OverlappingFileLockException is occuring, so that I can sort it out?
2010/3/20, Gabriele Kahlout <[email protected]>: > not really, commenting the derby.properties code still results in the > same exception. > > 2010/3/20, Gabriele Kahlout <[email protected]>: >> It looks like the problem is with the derby.properties file, as it >> sticks in the file system. >> Should I delete them, in a special way/order? >> >> 2010/3/20, Gabriele Kahlout <[email protected]>: >>> I quick solution (and actually not dirty) solution I came up with to >>> break the symmetry is add the timestamp to the name of the testfolder, >>> where the File variable is shared btw the setUp and tearDown methods. >>> So the folders still disappear from my file system. >>> >>> However, it'd still be interesting to investigate why the above SSCCE >>> insists on the presence of the db, as the exception indicates. >>> >>> However, running it into my code I get a new exception: >>> >>> ava.sql.SQLException: Failed to create database '/Volumes/STORE N GO >>> 1/ws/MemorizEasy/test1269105407561/db.sqlwrapper', see the next >>> exception for details. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown >>> Source) >>> at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown >>> Source) >>> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source) >>> at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown >>> Source) >>> at java.sql.DriverManager.getConnection(DriverManager.java:582) >>> at java.sql.DriverManager.getConnection(DriverManager.java:207) >>> at >>> com.mysimpatico.sqlwrapper.SqlWrapper.connectToDerby(SqlWrapper.java:174) >>> at >>> com.mysimpatico.memorizeasy.engine.Database.init(Database.java:477) >>> at >>> com.mysimpatico.memorizeasy.executables.Setup.main(Setup.java:70) >>> at >>> com.mysimpatico.memorizeasy.DatabaseTest.setUp(DatabaseTest.java:111) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) >>> at >>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) >>> at >>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) >>> at >>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) >>> at >>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) >>> at >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) >>> at >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) >>> at >>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) >>> at >>> org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) >>> at >>> org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) >>> at >>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) >>> at >>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:220) >>> at >>> junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) >>> Caused by: java.sql.SQLException: Failed to create database >>> '/Volumes/STORE N GO >>> 1/ws/MemorizEasy/test1269105407561/db.sqlwrapper', see the next >>> exception for details. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown >>> Source) >>> ... 37 more >>> Caused by: java.sql.SQLException: Startup failed due to an exception. >>> See next exception for details. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown >>> Source) >>> ... 34 more >>> Caused by: java.sql.SQLException: Java exception: ': >>> java.nio.channels.OverlappingFileLockException'. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown >>> Source) >>> ... 37 more >>> Caused by: java.nio.channels.OverlappingFileLockException >>> at >>> sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileChannelImpl.java:1170) >>> at >>> sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelImpl.java:1072) >>> at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:878) >>> at java.nio.channels.FileChannel.tryLock(FileChannel.java:962) >>> at >>> org.apache.derby.impl.io.DirFile4.getExclusiveFileLock(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.privGetJBMSLockOnDB(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unknown >>> Source) >>> at java.security.AccessController.doPrivileged(Native Method) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.getJBMSLockOnDB(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown >>> Source) >>> at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown >>> Source) >>> ... 34 more >>> java.sql.SQLException: Startup failed due to an exception. See next >>> exception for details. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown >>> Source) >>> at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown >>> Source) >>> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source) >>> at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown >>> Source) >>> at java.sql.DriverManager.getConnection(DriverManager.java:582) >>> at java.sql.DriverManager.getConnection(DriverManager.java:207) >>> at >>> com.mysimpatico.sqlwrapper.SqlWrapper.connectToDerby(SqlWrapper.java:174) >>> at >>> com.mysimpatico.memorizeasy.engine.Database.init(Database.java:477) >>> at >>> com.mysimpatico.memorizeasy.executables.Setup.main(Setup.java:70) >>> at >>> com.mysimpatico.memorizeasy.DatabaseTest.setUp(DatabaseTest.java:111) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) >>> at >>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) >>> at >>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) >>> at >>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) >>> at >>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) >>> at >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) >>> at >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) >>> at >>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) >>> at >>> org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) >>> at >>> org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) >>> at >>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) >>> at >>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:220) >>> at >>> junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) >>> Caused by: java.sql.SQLException: Startup failed due to an exception. >>> See next exception for details. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown >>> Source) >>> ... 40 more >>> Caused by: java.sql.SQLException: Java exception: ': >>> java.nio.channels.OverlappingFileLockException'. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown >>> Source) >>> ... 37 more >>> Caused by: java.nio.channels.OverlappingFileLockException >>> at >>> sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileChannelImpl.java:1170) >>> at >>> sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelImpl.java:1072) >>> at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:878) >>> at java.nio.channels.FileChannel.tryLock(FileChannel.java:962) >>> at >>> org.apache.derby.impl.io.DirFile4.getExclusiveFileLock(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.privGetJBMSLockOnDB(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unknown >>> Source) >>> at java.security.AccessController.doPrivileged(Native Method) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.getJBMSLockOnDB(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown >>> Source) >>> at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown >>> Source) >>> ... 34 more >>> java.sql.SQLException: Java exception: ': >>> java.nio.channels.OverlappingFileLockException'. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown >>> Source) >>> at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown >>> Source) >>> at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown >>> Source) >>> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source) >>> at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown >>> Source) >>> at java.sql.DriverManager.getConnection(DriverManager.java:582) >>> at java.sql.DriverManager.getConnection(DriverManager.java:207) >>> at >>> com.mysimpatico.sqlwrapper.SqlWrapper.connectToDerby(SqlWrapper.java:174) >>> at >>> com.mysimpatico.memorizeasy.engine.Database.init(Database.java:477) >>> at >>> com.mysimpatico.memorizeasy.executables.Setup.main(Setup.java:70) >>> at >>> com.mysimpatico.memorizeasy.DatabaseTest.setUp(DatabaseTest.java:111) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) >>> at >>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) >>> at >>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) >>> at >>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) >>> at >>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) >>> at >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) >>> at >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) >>> at >>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) >>> at >>> org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) >>> at >>> org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) >>> at >>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) >>> at >>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:220) >>> at >>> junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) >>> at >>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) >>> Caused by: java.sql.SQLException: Java exception: ': >>> java.nio.channels.OverlappingFileLockException'. >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown >>> Source) >>> at >>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown >>> Source) >>> ... 41 more >>> Caused by: java.nio.channels.OverlappingFileLockException >>> at >>> sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileChannelImpl.java:1170) >>> at >>> sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelImpl.java:1072) >>> at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:878) >>> at java.nio.channels.FileChannel.tryLock(FileChannel.java:962) >>> at >>> org.apache.derby.impl.io.DirFile4.getExclusiveFileLock(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.privGetJBMSLockOnDB(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unknown >>> Source) >>> at java.security.AccessController.doPrivileged(Native Method) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.getJBMSLockOnDB(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown >>> Source) >>> at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown >>> Source) >>> at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown >>> Source) >>> at >>> org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown >>> Source) >>> at >>> org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown >>> Source) >>> ... 34 more >>> Sat Mar 20 18:16:53 Gabriele-Kahlouts-MacBook.local java[6566] >>> <Error>: kCGErrorIllegalArgument: CGSOrderWindowList >>> Sat Mar 20 18:16:53 Gabriele-Kahlouts-MacBook.local java[6566] >>> <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to >>> catch errors as they are logged. >>> Test com.mysimpatico.memorizeasy.DatabaseTest FAILED (crashed) >>> /Volumes/STORE N GO 1/ws/MemorizEasy/nbproject/build-impl.xml:706: >>> Some tests failed; see details above. >>> >>> Any clues? >>> >>> >>> >>> 2010/3/20, Gabriele Kahlout <[email protected]>: >>>> Well, did u try it? The result is the same, run on the same code >>>> example I gave above but replacing it with you method. >>>> >>>> >>>> >>>> 2010/3/20, Peter Ondruška <[email protected]>: >>>>> IMHO your deleteDir method is not deleting anything. See >>>>> http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#delete() >>>>> >>>>> It should be something like: >>>>> >>>>> void delete(File f){ >>>>> if (f.isDirectory()) >>>>> for (File sf: f.listFiles()) delete(sf); >>>>> f.delete(); >>>>> } >>>>> >>>>> On Sat, Mar 20, 2010 at 1:05 PM, Gabriele Kahlout >>>>> <[email protected]> wrote: >>>>>> any updates? This is bogging me down. >>>>>> >>>>>> 2010/3/19, Gabriele Kahlout <[email protected]>: >>>>>>> Here is the code for wrapper methods that might be incorrect: >>>>>>> >>>>>>> public final static Connection connectToDerby(final File >>>>>>> parentPath, >>>>>>> final boolean create) throws InstantiationException, >>>>>>> IllegalAccessException, ClassNotFoundException, SQLException { >>>>>>> // Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); >>>>>>> final Connection con = >>>>>>> DriverManager.getConnection("jdbc:derby:" + parentPath.getPath() + >>>>>>> File.separator + "db.sqlwrapper;create=" + create); >>>>>>> return con; >>>>>>> } >>>>>>> >>>>>>> public static boolean shutDownDerby() { >>>>>>> try { >>>>>>> Connection con = connectToDerby(); >>>>>>> con.close(); >>>>>>> con = >>>>>>> DriverManager.getConnection("jdbc:derby:db.sqlwrapper;shutdown=true"); >>>>>>> >>>>>>> } catch (SQLException e) { // with throw exception on >>>>>>> successful deletion. >>>>>>> return true; >>>>>>> } >>>>>>> return false; >>>>>>> } >>>>>>> >>>>>>> 2010/3/19, Gabriele Kahlout <[email protected]>: >>>>>>>> Here is the shortest test that shows the problem: >>>>>>>> >>>>>>>> import com.mysimpatico.sqlwrapper.*; >>>>>>>> import java.io.File; >>>>>>>> import java.sql.*; >>>>>>>> >>>>>>>> /* >>>>>>>> * To change this template, choose Tools | Templates >>>>>>>> * and open the template in the editor. >>>>>>>> */ >>>>>>>> /** >>>>>>>> * >>>>>>>> * @author simpatico >>>>>>>> */ >>>>>>>> public class DbDeletionTest { >>>>>>>> >>>>>>>> public static boolean deleteDir(File dir) { >>>>>>>> if (dir.isDirectory()) { >>>>>>>> String[] children = dir.list(); >>>>>>>> for (int i = 0; i < children.length; i++) { >>>>>>>> boolean success = deleteDir(new File(dir, >>>>>>>> children[i])); >>>>>>>> if (!success) { >>>>>>>> return false; >>>>>>>> } >>>>>>>> } // The directory is now empty so delete it return >>>>>>>> dir.delete(); } >>>>>>>> } >>>>>>>> return dir.delete(); >>>>>>>> } >>>>>>>> >>>>>>>> public static void test() throws Exception { >>>>>>>> final File dir = new File("test"); >>>>>>>> dir.mkdir(); >>>>>>>> final Connection con = SqlWrapper.connectToDerby(dir, >>>>>>>> true); >>>>>>>> final Statement st = con.createStatement(); >>>>>>>> SqlWrapper.setVendor(SqlWrapper.vendor.JAVADB); >>>>>>>> >>>>>>>> final String expTableName = "Expressions"; >>>>>>>> final String exp = "expression"; >>>>>>>> final ReferencedColumn expColumn = new >>>>>>>> ReferencedColumn(exp, >>>>>>>> SqlWrapper.VARCHAR, 100); >>>>>>>> final Table expTable = new Table(expTableName, expColumn, >>>>>>>> expColumn); >>>>>>>> st.executeUpdate(SqlWrapper.create(expTable)); >>>>>>>> con.close(); >>>>>>>> SqlWrapper.shutDownDerby(); >>>>>>>> deleteDir(dir); >>>>>>>> System.out.println("test executed."); >>>>>>>> >>>>>>>> } >>>>>>>> >>>>>>>> public static void main(String[] args) { >>>>>>>> try { >>>>>>>> test(); >>>>>>>> test(); >>>>>>>> } >>>>>>>> catch (Exception e) { >>>>>>>> e.printStackTrace(); >>>>>>>> } >>>>>>>> } >>>>>>>> } >>>>>>>> The libraries needed are: derby.jar, SqlWrapper.jar (just wraps >>>>>>>> around >>>>>>>> sql statements, u can replace it with sql strings). >>>>>>>> http://memorizeasy.googlecode.com/svn/tags/live/lib/derby.jar >>>>>>>> http://memorizeasy.googlecode.com/svn/tags/live/lib/sqlwrapper.jar >>>>>>>> >>>>>>>> The output is: >>>>>>>> test executed. >>>>>>>> Shutting down due to severe error. >>>>>>>> java.sql.SQLException: Table/View 'EXPRESSIONS' already exists in >>>>>>>> Schema >>>>>>>> 'APP'. >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown >>>>>>>> Source) >>>>>>>> at DbDeletionTest.test(DbDeletionTest.java:42) >>>>>>>> at DbDeletionTest.main(DbDeletionTest.java:53) >>>>>>>> Caused by: java.sql.SQLException: Table/View 'EXPRESSIONS' already >>>>>>>> exists in Schema 'APP'. >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown >>>>>>>> Source) >>>>>>>> at >>>>>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown >>>>>>>> Source) >>>>>>>> >>>>>>>> 2010/3/19, Gabriele Kahlout <[email protected]>: >>>>>>>>> 'rm -R myDbDirectory' in *nix' >>>>>>>>> How do you programmatically, from java do that (OS independent)? >>>>>>>>> What I do is I iterate over the db folder and delete all contents, >>>>>>>>> as >>>>>>>>> returned by the java.io API. >>>>>>>>> >>>>>>>>> However, even doing that seems not sufficient. >>>>>>>>> I see that the test folder (the one that contains db.sqlwrapper) >>>>>>>>> is >>>>>>>>> deleted after the first test, and created in the setup of the >>>>>>>>> next. >>>>>>>>> However, I get: >>>>>>>>> >>>>>>>>> Caused by: ERROR X0Y32: Table/View 'EXPRESSIONS' already exists in >>>>>>>>> Schema >>>>>>>>> 'APP'. >>>>>>>>> >>>>>>>>> I think it has to do with the copy in memory not being updated >>>>>>>>> with >>>>>>>>> the disk. That is because through the debugger, I've even manually >>>>>>>>> deleted the db, but to no avail. >>>>>>>>> Maybe this is more of a Java question now: >>>>>>>>> How do I make sure the memory is flushed/sync with the disk? Or >>>>>>>>> that >>>>>>>>> derby, when creating a connection is not fooled by the cache in >>>>>>>>> memory? >>>>>>>>> >>>>>>>>> >>>>>>>>> 2010/3/19, Kristian Waagan <[email protected]>: >>>>>>>>>> On 19.03.10 10:11, Gabriele Kahlout wrote: >>>>>>>>>>> Also, I've copied from the code what I seem to need, and then >>>>>>>>>>> end >>>>>>>>>>> up >>>>>>>>>>> with when I use the db again in a 2nd method. >>>>>>>>>>> >>>>>>>>>>> Caused by: java.sql.SQLException: Database '/Volumes/STORE N >>>>>>>>>>> GO/ws/MemorizEasy/test/db.sqlwrapper' not found. >>>>>>>>>>> >>>>>>>>>>> Note that after destroying the schemas, I shut down the db, and >>>>>>>>>>> delete >>>>>>>>>>> the test folder of the previous method. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Hi Gabriele, >>>>>>>>>> >>>>>>>>>> I don't know the requirements of your application, but note that >>>>>>>>>> in >>>>>>>>>> general you have three options: >>>>>>>>>> >>>>>>>>>> - clean the database and reuse it >>>>>>>>>> This is what we're doing in the Derby test framework (see the >>>>>>>>>> class >>>>>>>>>> that Bryan pointed to), because it would take much longer to >>>>>>>>>> actually >>>>>>>>>> delete and recreate the database files all the time. Here we use >>>>>>>>>> meta-data to detect all objects added to the database during the >>>>>>>>>> test, >>>>>>>>>> and then we drop them. >>>>>>>>>> >>>>>>>>>> - simply just delete the database on disk (i.e. 'rm -R >>>>>>>>>> myDbDirectory' >>>>>>>>>> in *nix) and create a new one for the next test (through JDBC, >>>>>>>>>> using >>>>>>>>>> 'jdbc:derby:...;create=true'). >>>>>>>>>> You should shut down the database before deleting the files >>>>>>>>>> on >>>>>>>>>> disk. >>>>>>>>>> >>>>>>>>>> - if you just need a database for a short period of time or >>>>>>>>>> similar, >>>>>>>>>> use an in-memory db. >>>>>>>>>> Remember to drop it [1] to free up the memory. >>>>>>>>>> >>>>>>>>>> It's hard to tell exactly what went wrong above, but are you sure >>>>>>>>>> the >>>>>>>>>> database is still on disk? >>>>>>>>>> Can you locate the directory? (you should see the directories >>>>>>>>>> db.sqlwrapper, db.sqlwrapper/seg0 and db.sqlwrapper/log) >>>>>>>>>> If not, why did it get deleted? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Kristian >>>>>>>>>> >>>>>>>>>> [1] Note that proper support for this is added in 10.6, by using >>>>>>>>>> the >>>>>>>>>> "drop=true" attribute. In 10.5, the mechanism is different. >>>>>>>>>> >>>>>>>>>>> 2010/3/18, Gabriele Kahlout<[email protected]>: >>>>>>>>>>> >>>>>>>>>>>> I reached here: >>>>>>>>>>>> http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/CleanDatabaseTestSetup.java?view=markup >>>>>>>>>>>> >>>>>>>>>>>> But then what do I do? The code relies on some other class, and >>>>>>>>>>>> it >>>>>>>>>>>> seems like I'd have to import the whole package to use it. Is >>>>>>>>>>>> that >>>>>>>>>>>> it? >>>>>>>>>>>> Besides that one cannot delete the APP schema (which is the one >>>>>>>>>>>> i >>>>>>>>>>>> use), while the code seems to want to do that. >>>>>>>>>>>> If not, is there how I can use this without concerning myself >>>>>>>>>>>> with >>>>>>>>>>>> the >>>>>>>>>>>> impl. details? >>>>>>>>>>>> >>>>>>>>>>>> 2010/3/18, Gabriele Kahlout<[email protected]>: >>>>>>>>>>>> >>>>>>>>>>>>> Can you provide a link to it? Also, is it in some library I >>>>>>>>>>>>> could >>>>>>>>>>>>> use? >>>>>>>>>>>>> >>>>>>>>>>>>> 2010/3/18, Bryan Pendleton<[email protected]>: >>>>>>>>>>>>> >>>>>>>>>>>>>>> For testing, how can I make sure the tearDown completely >>>>>>>>>>>>>>> deletes >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>> db, and setUp creates a completely new copy, without using >>>>>>>>>>>>>>> in-memory >>>>>>>>>>>>>>> db? >>>>>>>>>>>>>>> >>>>>>>>>>>>>> We do this in the Derby regression test suite. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Have a look at >>>>>>>>>>>>>> org.apache.derbyTesting.functionTests.junit.CleanDatabaseTestSetup.java >>>>>>>>>>>>>> >>>>>>>>>>>>>> thanks, >>>>>>>>>>>>>> >>>>>>>>>>>>>> bryan >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Regards, >>>>>>>>>>>>> K. Gabriele >>>>>>>>>>>>> >>>>>>>>>>>>> --- unchanged since 25/1/10 --- >>>>>>>>>>>>> P.S. Unless a notification (LON), please reply either with an >>>>>>>>>>>>> answer >>>>>>>>>>>>> OR with " ACK" appended to this subject within 48 hours. >>>>>>>>>>>>> Otherwise, >>>>>>>>>>>>> I >>>>>>>>>>>>> might resend. >>>>>>>>>>>>> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ >>>>>>>>>>>>> IsAnswerTo(x, >>>>>>>>>>>>> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >>>>>>>>>>>>> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >>>>>>>>>>>>> >>>>>>>>>>>>> Also note that correspondence may be received only from >>>>>>>>>>>>> specified >>>>>>>>>>>>> a >>>>>>>>>>>>> priori senders, or if the subject of this email ends with a >>>>>>>>>>>>> code, >>>>>>>>>>>>> eg. >>>>>>>>>>>>> -LICHT01X, then also from senders whose reply contains it. >>>>>>>>>>>>> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ >>>>>>>>>>>>> (∃y. >>>>>>>>>>>>> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Regards, >>>>>>>>>>>> K. Gabriele >>>>>>>>>>>> >>>>>>>>>>>> --- unchanged since 25/1/10 --- >>>>>>>>>>>> P.S. Unless a notification (LON), please reply either with an >>>>>>>>>>>> answer >>>>>>>>>>>> OR with " ACK" appended to this subject within 48 hours. >>>>>>>>>>>> Otherwise, >>>>>>>>>>>> I >>>>>>>>>>>> might resend. >>>>>>>>>>>> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ >>>>>>>>>>>> IsAnswerTo(x, >>>>>>>>>>>> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >>>>>>>>>>>> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >>>>>>>>>>>> >>>>>>>>>>>> Also note that correspondence may be received only from >>>>>>>>>>>> specified >>>>>>>>>>>> a >>>>>>>>>>>> priori senders, or if the subject of this email ends with a >>>>>>>>>>>> code, >>>>>>>>>>>> eg. >>>>>>>>>>>> -LICHT01X, then also from senders whose reply contains it. >>>>>>>>>>>> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ >>>>>>>>>>>> (∃y. >>>>>>>>>>>> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Regards, >>>>>>>>> K. Gabriele >>>>>>>>> >>>>>>>>> --- unchanged since 25/1/10 --- >>>>>>>>> P.S. Unless a notification (LON), please reply either with an >>>>>>>>> answer >>>>>>>>> OR with " ACK" appended to this subject within 48 hours. >>>>>>>>> Otherwise, >>>>>>>>> I >>>>>>>>> might resend. >>>>>>>>> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ >>>>>>>>> IsAnswerTo(x, >>>>>>>>> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >>>>>>>>> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >>>>>>>>> >>>>>>>>> Also note that correspondence may be received only from specified >>>>>>>>> a >>>>>>>>> priori senders, or if the subject of this email ends with a code, >>>>>>>>> eg. >>>>>>>>> -LICHT01X, then also from senders whose reply contains it. >>>>>>>>> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. >>>>>>>>> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Regards, >>>>>>>> K. Gabriele >>>>>>>> >>>>>>>> --- unchanged since 25/1/10 --- >>>>>>>> P.S. Unless a notification (LON), please reply either with an >>>>>>>> answer >>>>>>>> OR with " ACK" appended to this subject within 48 hours. Otherwise, >>>>>>>> I >>>>>>>> might resend. >>>>>>>> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ >>>>>>>> IsAnswerTo(x, >>>>>>>> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >>>>>>>> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >>>>>>>> >>>>>>>> Also note that correspondence may be received only from specified a >>>>>>>> priori senders, or if the subject of this email ends with a code, >>>>>>>> eg. >>>>>>>> -LICHT01X, then also from senders whose reply contains it. >>>>>>>> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. >>>>>>>> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Regards, >>>>>>> K. Gabriele >>>>>>> >>>>>>> --- unchanged since 25/1/10 --- >>>>>>> P.S. Unless a notification (LON), please reply either with an answer >>>>>>> OR with " ACK" appended to this subject within 48 hours. Otherwise, >>>>>>> I >>>>>>> might resend. >>>>>>> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ >>>>>>> IsAnswerTo(x, >>>>>>> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >>>>>>> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >>>>>>> >>>>>>> Also note that correspondence may be received only from specified a >>>>>>> priori senders, or if the subject of this email ends with a code, >>>>>>> eg. >>>>>>> -LICHT01X, then also from senders whose reply contains it. >>>>>>> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. >>>>>>> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Regards, >>>>>> K. Gabriele >>>>>> >>>>>> --- unchanged since 25/1/10 --- >>>>>> P.S. Unless a notification (LON), please reply either with an answer >>>>>> OR with " ACK" appended to this subject within 48 hours. Otherwise, I >>>>>> might resend. >>>>>> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ IsAnswerTo(x, >>>>>> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >>>>>> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >>>>>> >>>>>> Also note that correspondence may be received only from specified a >>>>>> priori senders, or if the subject of this email ends with a code, eg. >>>>>> -LICHT01X, then also from senders whose reply contains it. >>>>>> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. >>>>>> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >>>>>> >>>>> >>>> >>>> >>>> -- >>>> Regards, >>>> K. Gabriele >>>> >>>> --- unchanged since 25/1/10 --- >>>> P.S. Unless a notification (LON), please reply either with an answer >>>> OR with " ACK" appended to this subject within 48 hours. Otherwise, I >>>> might resend. >>>> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ IsAnswerTo(x, >>>> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >>>> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >>>> >>>> Also note that correspondence may be received only from specified a >>>> priori senders, or if the subject of this email ends with a code, eg. >>>> -LICHT01X, then also from senders whose reply contains it. >>>> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. >>>> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >>>> >>> >>> >>> -- >>> Regards, >>> K. Gabriele >>> >>> --- unchanged since 25/1/10 --- >>> P.S. Unless a notification (LON), please reply either with an answer >>> OR with " ACK" appended to this subject within 48 hours. Otherwise, I >>> might resend. >>> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ IsAnswerTo(x, >>> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >>> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >>> >>> Also note that correspondence may be received only from specified a >>> priori senders, or if the subject of this email ends with a code, eg. >>> -LICHT01X, then also from senders whose reply contains it. >>> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. >>> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >>> >> >> >> -- >> Regards, >> K. Gabriele >> >> --- unchanged since 25/1/10 --- >> P.S. Unless a notification (LON), please reply either with an answer >> OR with " ACK" appended to this subject within 48 hours. Otherwise, I >> might resend. >> In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ IsAnswerTo(x, >> this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ >> ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). >> >> Also note that correspondence may be received only from specified a >> priori senders, or if the subject of this email ends with a code, eg. >> -LICHT01X, then also from senders whose reply contains it. >> ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. >> In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). >> > > > -- > Regards, > K. Gabriele > > --- unchanged since 25/1/10 --- > P.S. Unless a notification (LON), please reply either with an answer > OR with " ACK" appended to this subject within 48 hours. Otherwise, I > might resend. > In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ IsAnswerTo(x, > this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ > ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). > > Also note that correspondence may be received only from specified a > priori senders, or if the subject of this email ends with a code, eg. > -LICHT01X, then also from senders whose reply contains it. > ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. > In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ). > -- Regards, K. Gabriele --- unchanged since 25/1/10 --- P.S. Unless a notification (LON), please reply either with an answer OR with " ACK" appended to this subject within 48 hours. Otherwise, I might resend. In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ IsAnswerTo(x, this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this). Also note that correspondence may be received only from specified a priori senders, or if the subject of this email ends with a code, eg. -LICHT01X, then also from senders whose reply contains it. ∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ).
