Return-Path: Delivered-To: apmail-db-derby-user-archive@www.apache.org Received: (qmail 40022 invoked from network); 20 Mar 2010 18:20:26 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 20 Mar 2010 18:20:26 -0000 Received: (qmail 24467 invoked by uid 500); 20 Mar 2010 17:20:26 -0000 Delivered-To: apmail-db-derby-user-archive@db.apache.org Received: (qmail 24416 invoked by uid 500); 20 Mar 2010 17:20:26 -0000 Mailing-List: contact derby-user-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Discussion" Delivered-To: mailing list derby-user@db.apache.org Received: (qmail 24409 invoked by uid 99); 20 Mar 2010 17:20:26 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 20 Mar 2010 17:20:26 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [209.85.220.226] (HELO mail-fx0-f226.google.com) (209.85.220.226) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 20 Mar 2010 17:20:17 +0000 Received: by fxm26 with SMTP id 26so1293076fxm.15 for ; Sat, 20 Mar 2010 10:19:57 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.81.89 with SMTP id w25mr1397877fak.25.1269105596968; Sat, 20 Mar 2010 10:19:56 -0700 (PDT) X-Originating-IP: [193.206.186.101] In-Reply-To: <1f5d398f1003200807n2e4366e8qf67423faded7ade1@mail.gmail.com> References: <1f5d398f1003011116n663ac9e1i151c26601215cf83@mail.gmail.com> <1f5d398f1003180927o52c621b2k8ef897c5cecf30b8@mail.gmail.com> <1f5d398f1003190211h3fe6bffcsa141d8edcfb75fbc@mail.gmail.com> <4BA34785.2030205@Sun.COM> <1f5d398f1003190736m4ba4624el63807787c7fc4bf4@mail.gmail.com> <1f5d398f1003190823o27f94c3bna76f152cd830a8f1@mail.gmail.com> <1f5d398f1003190828q1b844075yc518d5a2c5b1ced8@mail.gmail.com> <1f5d398f1003200505h3025c000hb8405be01d3451b2@mail.gmail.com> <4d2670741003200513s4b4059ata63874e750d473e5@mail.gmail.com> <1f5d398f1003200807n2e4366e8qf67423faded7ade1@mail.gmail.com> Date: Sat, 20 Mar 2010 18:19:56 +0100 Message-ID: <1f5d398f1003201019o27fff3a0k78a0916b7c0767e3@mail.gmail.com> Subject: Re: cleaning database between test cases From: Gabriele Kahlout To: Derby Discussion Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org 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 Sou= rce) at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknow= n Source) at org.apache.derby.impl.jdbc.EmbedConnection.(Unknown Source= ) at org.apache.derby.impl.jdbc.EmbedConnection30.(Unknown Sour= ce) at org.apache.derby.impl.jdbc.EmbedConnection40.(Unknown Sour= ce) at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Sou= rce) 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:4= 77) 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(NativeMethodAccessor= Impl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod= AccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(Fram= eworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(Reflecti= veCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(Framew= orkMethod.java:41) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBef= ores.java:27) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfte= rs.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4Cla= ssRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4Cla= ssRunner.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(RunBef= ores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfte= rs.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.lau= nch(JUnitTestRunner.java:1031) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.mai= n(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(U= nknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTran= sportAcrossDRDA(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(U= nknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTran= sportAcrossDRDA(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException= (Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Sou= rce) at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLExce= ption(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleExcepti= on(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unkno= wn Source) ... 34 more Caused by: java.sql.SQLException: Java exception: ': java.nio.channels.OverlappingFileLockException'. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(U= nknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTran= sportAcrossDRDA(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException= (Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Sou= rce) at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLExce= ption(Unknown Source) ... 37 more Caused by: java.nio.channels.OverlappingFileLockException at sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileCha= nnelImpl.java:1170) at sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelIm= pl.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.privGet= JBMSLockOnDB(Unknown Source) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unk= nown Source) at java.security.AccessController.doPrivileged(Native Method) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.getJBMS= LockOnDB(Unknown Source) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Un= known Source) at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source) at org.apache.derby.impl.services.monitor.TopService.bootModule(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(U= nknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.createPersist= entService(Unknown Source) at org.apache.derby.iapi.services.monitor.Monitor.createPersistentS= ervice(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 Sou= rce) at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLExce= ption(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleExcepti= on(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unkno= wn Source) at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknow= n Source) at org.apache.derby.impl.jdbc.EmbedConnection.(Unknown Source= ) at org.apache.derby.impl.jdbc.EmbedConnection30.(Unknown Sour= ce) at org.apache.derby.impl.jdbc.EmbedConnection40.(Unknown Sour= ce) at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Sou= rce) 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:4= 77) 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(NativeMethodAccessor= Impl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod= AccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(Fram= eworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(Reflecti= veCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(Framew= orkMethod.java:41) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBef= ores.java:27) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfte= rs.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4Cla= ssRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4Cla= ssRunner.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(RunBef= ores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfte= rs.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.lau= nch(JUnitTestRunner.java:1031) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.mai= n(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(U= nknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTran= sportAcrossDRDA(Unknown Source) ... 40 more Caused by: java.sql.SQLException: Java exception: ': java.nio.channels.OverlappingFileLockException'. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(U= nknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTran= sportAcrossDRDA(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException= (Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Sou= rce) at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLExce= ption(Unknown Source) ... 37 more Caused by: java.nio.channels.OverlappingFileLockException at sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileCha= nnelImpl.java:1170) at sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelIm= pl.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.privGet= JBMSLockOnDB(Unknown Source) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unk= nown Source) at java.security.AccessController.doPrivileged(Native Method) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.getJBMS= LockOnDB(Unknown Source) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Un= known Source) at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source) at org.apache.derby.impl.services.monitor.TopService.bootModule(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(U= nknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.createPersist= entService(Unknown Source) at org.apache.derby.iapi.services.monitor.Monitor.createPersistentS= ervice(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 Sou= rce) at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLExce= ption(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLExce= ption(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleExcepti= on(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unkno= wn Source) at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknow= n Source) at org.apache.derby.impl.jdbc.EmbedConnection.(Unknown Source= ) at org.apache.derby.impl.jdbc.EmbedConnection30.(Unknown Sour= ce) at org.apache.derby.impl.jdbc.EmbedConnection40.(Unknown Sour= ce) at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Sou= rce) 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:4= 77) 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(NativeMethodAccessor= Impl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod= AccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(Fram= eworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(Reflecti= veCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(Framew= orkMethod.java:41) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBef= ores.java:27) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfte= rs.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4Cla= ssRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4Cla= ssRunner.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(RunBef= ores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfte= rs.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.lau= nch(JUnitTestRunner.java:1031) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.mai= n(JUnitTestRunner.java:888) Caused by: java.sql.SQLException: Java exception: ': java.nio.channels.OverlappingFileLockException'. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(U= nknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTran= sportAcrossDRDA(Unknown Source) ... 41 more Caused by: java.nio.channels.OverlappingFileLockException at sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileCha= nnelImpl.java:1170) at sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelIm= pl.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.privGet= JBMSLockOnDB(Unknown Source) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(Unk= nown Source) at java.security.AccessController.doPrivileged(Native Method) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.getJBMS= LockOnDB(Unknown Source) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Un= known Source) at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source) at org.apache.derby.impl.services.monitor.TopService.bootModule(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(U= nknown 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(Unk= nown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(U= nknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.createPersist= entService(Unknown Source) at org.apache.derby.iapi.services.monitor.Monitor.createPersistentS= ervice(Unknown Source) ... 34 more Sat Mar 20 18:16:53 Gabriele-Kahlouts-MacBook.local java[6566] : kCGErrorIllegalArgument: CGSOrderWindowList Sat Mar 20 18:16:53 Gabriele-Kahlouts-MacBook.local java[6566] : 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 : > 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=C5=A1ka : >> 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 >> wrote: >>> any updates? This is bogging me down. >>> >>> 2010/3/19, Gabriele Kahlout : >>>> Here is the code for wrapper methods that might be incorrect: >>>> >>>> =C2=A0public final static Connection connectToDerby(final File parentP= ath, >>>> final boolean create) throws InstantiationException, >>>> IllegalAccessException, ClassNotFoundException, SQLException { >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 // =C2=A0Class.forName("org.apache.derby.j= dbc.EmbeddedDriver"); >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 final Connection con =3D >>>> DriverManager.getConnection("jdbc:derby:" + parentPath.getPath() + >>>> File.separator + "db.sqlwrapper;create=3D" + create); >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 return con; >>>> =C2=A0 =C2=A0 } >>>> >>>> public static boolean shutDownDerby() { >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 try { >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Connection con =3D connectTo= Derby(); >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 con.close(); >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 con =3D >>>> DriverManager.getConnection("jdbc:derby:db.sqlwrapper;shutdown=3Dtrue"= ); >>>> >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 } catch (SQLException e) { // with throw e= xception on >>>> successful deletion. >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return true; >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 } >>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 return false; >>>> =C2=A0 =C2=A0 } >>>> >>>> 2010/3/19, Gabriele Kahlout : >>>>> Here is the shortest test that shows the problem: >>>>> >>>>> import com.mysimpatico.sqlwrapper.*; >>>>> import java.io.File; >>>>> import java.sql.*; >>>>> >>>>> /* >>>>> =C2=A0* To change this template, choose Tools | Templates >>>>> =C2=A0* and open the template in the editor. >>>>> =C2=A0*/ >>>>> /** >>>>> =C2=A0* >>>>> =C2=A0* @author simpatico >>>>> =C2=A0*/ >>>>> public class DbDeletionTest { >>>>> >>>>> =C2=A0 =C2=A0 public static boolean deleteDir(File dir) { >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (dir.isDirectory()) { >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 String[] children =3D dir.l= ist(); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 for (int i =3D 0; i < child= ren.length; i++) { >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 boolean succe= ss =3D deleteDir(new File(dir, >>>>> children[i])); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!success)= { >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= return false; >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } // The directory is now e= mpty so delete it return >>>>> dir.delete(); } >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 } >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 return dir.delete(); >>>>> =C2=A0 =C2=A0 } >>>>> >>>>> =C2=A0 =C2=A0 public static void test() throws Exception { >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 final File dir =3D new File("test"); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 dir.mkdir(); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 final Connection con =3D SqlWrapper.conne= ctToDerby(dir, true); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 final Statement st =3D con.createStatemen= t(); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 SqlWrapper.setVendor(SqlWrapper.vendor.JA= VADB); >>>>> >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 final String expTableName =3D "Expression= s"; >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 final String exp =3D "expression"; >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 final ReferencedColumn expColumn =3D new = ReferencedColumn(exp, >>>>> SqlWrapper.VARCHAR, 100); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 final Table expTable =3D new Table(expTab= leName, expColumn, >>>>> expColumn); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 st.executeUpdate(SqlWrapper.create(expTab= le)); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 con.close(); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 SqlWrapper.shutDownDerby(); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 deleteDir(dir); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 System.out.println("test executed."); >>>>> >>>>> =C2=A0 =C2=A0 } >>>>> >>>>> =C2=A0 =C2=A0 public static void main(String[] args) { >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 try { >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 test(); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 test(); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 } >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 catch (Exception e) { >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 e.printStackTrace(); >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 } >>>>> =C2=A0 =C2=A0 } >>>>> } >>>>> The libraries needed are: derby.jar, SqlWrapper.jar (just wraps aroun= d >>>>> 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'. >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unkn= own >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException= (Unknown >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Un= known >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.derby.impl.jdbc.EmbedStatem= ent.execute(Unknown >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at DbDeletionTest.test(DbDeletionTest.jav= a:42) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at DbDeletionTest.main(DbDeletionTest.jav= a:53) >>>>> Caused by: java.sql.SQLException: Table/View 'EXPRESSIONS' already >>>>> exists in Schema 'APP'. >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknow= n >>>>> Source) >>>>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 at >>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransport= AcrossDRDA(Unknown >>>>> Source) >>>>> >>>>> 2010/3/19, Gabriele Kahlout : >>>>>> '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, a= s >>>>>> 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 : >>>>>>> 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: >>>>>>> >>>>>>> =C2=A0 - clean the database and reuse it >>>>>>> =C2=A0 =C2=A0 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. >>>>>>> >>>>>>> =C2=A0 - 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, usin= g >>>>>>> 'jdbc:derby:...;create=3Dtrue'). >>>>>>> =C2=A0 =C2=A0 You should shut down the database before deleting the= files on >>>>>>> disk. >>>>>>> >>>>>>> =C2=A0 - if you just need a database for a short period of time or >>>>>>> similar, >>>>>>> use an in-memory db. >>>>>>> =C2=A0 =C2=A0 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 th= e >>>>>>> "drop=3Dtrue" attribute. In 10.5, the mechanism is different. >>>>>>> >>>>>>>> 2010/3/18, Gabriele Kahlout: >>>>>>>> >>>>>>>>> I reached here: >>>>>>>>> http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org= /apache/derbyTesting/junit/CleanDatabaseTestSetup.java?view=3Dmarkup >>>>>>>>> >>>>>>>>> But then what do I do? The code relies on some other class, and i= t >>>>>>>>> seems like I'd have to import the whole package to use it. Is tha= t >>>>>>>>> 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 wit= h >>>>>>>>> the >>>>>>>>> impl. details? >>>>>>>>> >>>>>>>>> 2010/3/18, Gabriele Kahlout: >>>>>>>>> >>>>>>>>>> Can you provide a link to it? Also, is it in some library I coul= d >>>>>>>>>> use? >>>>>>>>>> >>>>>>>>>> 2010/3/18, Bryan Pendleton: >>>>>>>>>> >>>>>>>>>>>> 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.CleanDatabaseTestSe= tup.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) =E2=88=A8 In(48h, TimeNow) =E2=88=A8 =E2=88=83x. I= n(x, MyInbox) =E2=88=A7 >>>>>>>>>> IsAnswerTo(x, >>>>>>>>>> this) =E2=88=A8 (In(subject(this), subject(x)) =E2=88=A7 In(ACK,= subject(x)) =E2=88=A7 >>>>>>>>>> =C2=ACIsAnswerTo(x,this)) =E2=87=92 =C2=ACIResend(this). >>>>>>>>>> >>>>>>>>>> Also note that correspondence may be received only from specifie= d >>>>>>>>>> a >>>>>>>>>> priori senders, or if the subject of this email ends with a code= , >>>>>>>>>> eg. >>>>>>>>>> -LICHT01X, then also from senders whose reply contains it. >>>>>>>>>> =E2=88=80x. In(x, MyInbox) =E2=87=92 In(senderAddress(x), MySafe= SenderList) =E2=88=A8 >>>>>>>>>> (=E2=88=83y. >>>>>>>>>> In(y, subject(this) ) =E2=88=A7 In(y,x) =E2=88=A7 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) =E2=88=A8 In(48h, TimeNow) =E2=88=A8 =E2=88=83x. In= (x, MyInbox) =E2=88=A7 >>>>>>>>> IsAnswerTo(x, >>>>>>>>> this) =E2=88=A8 (In(subject(this), subject(x)) =E2=88=A7 In(ACK, = subject(x)) =E2=88=A7 >>>>>>>>> =C2=ACIsAnswerTo(x,this)) =E2=87=92 =C2=ACIResend(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. >>>>>>>>> =E2=88=80x. In(x, MyInbox) =E2=87=92 In(senderAddress(x), MySafeS= enderList) =E2=88=A8 (=E2=88=83y. >>>>>>>>> In(y, subject(this) ) =E2=88=A7 In(y,x) =E2=88=A7 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) =E2=88=A8 In(48h, TimeNow) =E2=88=A8 =E2=88=83x. In(x,= MyInbox) =E2=88=A7 IsAnswerTo(x, >>>>>> this) =E2=88=A8 (In(subject(this), subject(x)) =E2=88=A7 In(ACK, sub= ject(x)) =E2=88=A7 >>>>>> =C2=ACIsAnswerTo(x,this)) =E2=87=92 =C2=ACIResend(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. >>>>>> =E2=88=80x. In(x, MyInbox) =E2=87=92 In(senderAddress(x), MySafeSend= erList) =E2=88=A8 (=E2=88=83y. >>>>>> In(y, subject(this) ) =E2=88=A7 In(y,x) =E2=88=A7 isCodeLike(y, -LIC= HT01X) ). >>>>>> >>>>> >>>>> >>>>> -- >>>>> 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) =E2=88=A8 In(48h, TimeNow) =E2=88=A8 =E2=88=83x. In(x, = MyInbox) =E2=88=A7 IsAnswerTo(x, >>>>> this) =E2=88=A8 (In(subject(this), subject(x)) =E2=88=A7 In(ACK, subj= ect(x)) =E2=88=A7 >>>>> =C2=ACIsAnswerTo(x,this)) =E2=87=92 =C2=ACIResend(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. >>>>> =E2=88=80x. In(x, MyInbox) =E2=87=92 In(senderAddress(x), MySafeSende= rList) =E2=88=A8 (=E2=88=83y. >>>>> In(y, subject(this) ) =E2=88=A7 In(y,x) =E2=88=A7 isCodeLike(y, -LICH= T01X) ). >>>>> >>>> >>>> >>>> -- >>>> 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) =E2=88=A8 In(48h, TimeNow) =E2=88=A8 =E2=88=83x. In(x, M= yInbox) =E2=88=A7 IsAnswerTo(x, >>>> this) =E2=88=A8 (In(subject(this), subject(x)) =E2=88=A7 In(ACK, subje= ct(x)) =E2=88=A7 >>>> =C2=ACIsAnswerTo(x,this)) =E2=87=92 =C2=ACIResend(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. >>>> =E2=88=80x. In(x, MyInbox) =E2=87=92 In(senderAddress(x), MySafeSender= List) =E2=88=A8 (=E2=88=83y. >>>> In(y, subject(this) ) =E2=88=A7 In(y,x) =E2=88=A7 isCodeLike(y, -LICHT= 01X) ). >>>> >>> >>> >>> -- >>> 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) =E2=88=A8 In(48h, TimeNow) =E2=88=A8 =E2=88=83x. In(x, My= Inbox) =E2=88=A7 IsAnswerTo(x, >>> this) =E2=88=A8 (In(subject(this), subject(x)) =E2=88=A7 In(ACK, subjec= t(x)) =E2=88=A7 >>> =C2=ACIsAnswerTo(x,this)) =E2=87=92 =C2=ACIResend(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. >>> =E2=88=80x. In(x, MyInbox) =E2=87=92 In(senderAddress(x), MySafeSenderL= ist) =E2=88=A8 (=E2=88=83y. >>> In(y, subject(this) ) =E2=88=A7 In(y,x) =E2=88=A7 isCodeLike(y, -LICHT0= 1X) ). >>> >> > > > -- > 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) =E2=88=A8 In(48h, TimeNow) =E2=88=A8 =E2=88=83x. In(x, MyIn= box) =E2=88=A7 IsAnswerTo(x, > this) =E2=88=A8 (In(subject(this), subject(x)) =E2=88=A7 In(ACK, subject(= x)) =E2=88=A7 > =C2=ACIsAnswerTo(x,this)) =E2=87=92 =C2=ACIResend(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. > =E2=88=80x. In(x, MyInbox) =E2=87=92 In(senderAddress(x), MySafeSenderLis= t) =E2=88=A8 (=E2=88=83y. > In(y, subject(this) ) =E2=88=A7 In(y,x) =E2=88=A7 isCodeLike(y, -LICHT01X= ) ). > --=20 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) =E2=88=A8 In(48h, TimeNow) =E2=88=A8 =E2=88=83x. In(x, MyInbo= x) =E2=88=A7 IsAnswerTo(x, this) =E2=88=A8 (In(subject(this), subject(x)) =E2=88=A7 In(ACK, subject(x)= ) =E2=88=A7 =C2=ACIsAnswerTo(x,this)) =E2=87=92 =C2=ACIResend(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. =E2=88=80x. In(x, MyInbox) =E2=87=92 In(senderAddress(x), MySafeSenderList)= =E2=88=A8 (=E2=88=83y. In(y, subject(this) ) =E2=88=A7 In(y,x) =E2=88=A7 isCodeLike(y, -LICHT01X) = ).