db4o Developer Community
Developer Community db4o open source object database, native to Java and .NET
Register   |  Login
  Search
  • Forums
  • Documentation
  • Resources
  • Downloads
  • Blogs
  • About
Unanswered Active Topics Forums
Forums > English Forums > db4o User Forum
Bug: ReadOnly mode and class refactorings
Last Post 18 Nov 2008 08:47 AM by Marek Istvanek. 0 Replies.
AddThis - Bookmarking and Sharing Button Printer Friendly
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
Marek Istvanek
New Member
New Member
Marek Istvanek

--
18 Nov 2008 08:47 AM  

I have found a bug dealing with class refactorings and read only database mode.

When I save a database, refactor saved class and open the database in read only mode and do a query, CachedIoAdapter.ValidateReadOnly throws an exception. Here is the stack trace:

   v Db4objects.Db4o.IO.CachedIoAdapter.ValidateReadOnly()
   v Db4objects.Db4o.IO.CachedIoAdapter.Write(Byte[] buffer, Int32 length)
   v Db4objects.Db4o.Internal.IoAdaptedObjectContainer.WriteBytes(ByteArrayBuffer buffer, Int32 blockedAddress, Int32 addressOffset)
   v Db4objects.Db4o.Internal.StatefulBuffer.Write()
   v Db4objects.Db4o.Internal.LocalTransaction.WritePointer(Int32 id, Slot slot)
   v Db4objects.Db4o.Internal.LocalTransaction.WriteZeroPointer(Int32 id)
   v Db4objects.Db4o.Internal.LocalObjectContainer.GetPointerSlot()
   v Db4objects.Db4o.Internal.LocalObjectContainer.NewSlot(Int32 length)
   v Db4objects.Db4o.Internal.PersistentBase.Write(Transaction trans)
   v Db4objects.Db4o.Internal.Btree.BTree..ctor(Transaction trans, Int32 id, IIndexable4 keyHandler, Int32 treeNodeSize, Int32 treeCacheHeight)
   v Db4objects.Db4o.Internal.Btree.BTree..ctor(Transaction trans, Int32 id, IIndexable4 keyHandler)
   v Db4objects.Db4o.Internal.LocalObjectContainer.CreateBTreeClassIndex(Int32 id)
   v Db4objects.Db4o.Internal.Classindex.BTreeClassIndexStrategy.CreateBTreeIndex(ObjectContainerBase stream, Int32 btreeID)
   v Db4objects.Db4o.Internal.Classindex.BTreeClassIndexStrategy.Initialize(ObjectContainerBase stream)
   v Db4objects.Db4o.Internal.ClassMetadata.Init(ObjectContainerBase a_stream, ClassMetadata a_ancestor, IReflectClass claxx)
   v Db4objects.Db4o.Internal.PartialObjectContainer.CreateClassMetadata(ClassMetadata classMeta, IReflectClass clazz, ClassMetadata superClassMeta)
   v Db4objects.Db4o.Internal.ClassMetadataRepository.CreateClassMetadata(ClassMetadata clazz, IReflectClass reflectClazz)
   v Db4objects.Db4o.Internal.ClassMetadataRepository.ProduceClassMetadata(IReflectClass reflectClazz)
   v Db4objects.Db4o.Internal.PartialObjectContainer.FieldHandlerForClass(IReflectClass claxx)
   v Db4objects.Db4o.Internal.ClassMetadata.CollectReflectFields(ObjectContainerBase container, Collection4 collectedFields)
   v Db4objects.Db4o.Internal.ClassMetadata.AddMembers(ObjectContainerBase container)
   v Db4objects.Db4o.Internal.ClassMetadata.CheckChanges()
   v Db4objects.Db4o.Internal.ClassMetadataRepository.ReadClassMetadata(ClassMetadata classMetadata, IReflectClass clazz)
   v Db4objects.Db4o.Internal.ClassMetadataRepository.GetClassMetadata(Int32 id)
   v Db4objects.Db4o.Internal.PartialObjectContainer.ClassMetadataForId(Int32 id)
   v Db4objects.Db4o.Internal.PartialObjectContainer.FieldHandlerForId(Int32 id)
   v Db4objects.Db4o.Internal.FieldMetadata.LoadHandlerById(ObjectContainerBase container)
   v Db4objects.Db4o.Internal.Marshall.FieldMarshaller0.FromSpec(RawFieldSpec spec, ObjectContainerBase stream, FieldMetadata field)
   v Db4objects.Db4o.Internal.Marshall.FieldMarshaller1.FromSpec(RawFieldSpec spec, ObjectContainerBase stream, FieldMetadata field)
   v Db4objects.Db4o.Internal.Marshall.FieldMarshaller0.Read(ObjectContainerBase stream, FieldMetadata field, ByteArrayBuffer reader)
   v Db4objects.Db4o.Internal.Marshall.ClassMarshaller.ReadFields(ObjectContainerBase stream, ByteArrayBuffer reader, FieldMetadata[] fields)
   v Db4objects.Db4o.Internal.Marshall.ClassMarshaller.Read(ObjectContainerBase stream, ClassMetadata clazz, ByteArrayBuffer reader)
   v Db4objects.Db4o.Internal.ClassMetadata.ForceRead()
   v Db4objects.Db4o.Internal.ClassMetadata.ReadThis()
   v Db4objects.Db4o.Internal.ClassMetadataRepository.ReadClassMetadata(ClassMetadata classMetadata, IReflectClass clazz)
   v Db4objects.Db4o.Internal.ClassMetadataIterator.Map(Object current)
   v Db4objects.Db4o.Foundation.MappingIterator.MoveNext()
   v Db4objects.Db4o.Internal.ClassMetadataRepository.ForInterface(IReflectClass claxx)
   v Db4objects.Db4o.Internal.Query.Processor.QQueryBase.AddInterfaceConstraint(IReflectClass claxx)
   v Db4objects.Db4o.Internal.Query.Processor.QQueryBase.AddClassConstraint(IReflectClass claxx)
   v Db4objects.Db4o.Internal.Query.Processor.QQueryBase.Constrain(Object example)
   v Db4objects.Db4o.Internal.PartialObjectContainer.Query[ElementType](Transaction trans, Type extent, IComparer`1 comparer)
   v Db4objects.Db4o.Internal.PartialObjectContainer.Query[ElementType](Type extent)
   v Db4objects.Db4o.Internal.PartialObjectContainer.Query[Extent]()
   v Astra92.Db4o.Db4oDocumentFactory.DoOpen(String filePath, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Db4o\Db4oDocumentFactory.cs:řádek 61
   v Astra92.Db4o.WPF.Db4oOpcDocumentFactory.OpenDocument(Package package, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Db4o.WPF\Db4oOpcDocumentFactory.cs:řádek 163
   v Astra92.Db4o.WPF.Db4oOpcDocumentFactory.DoOpen(String filePath, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Db4o.WPF\Db4oOpcDocumentFactory.cs:řádek 69
   v Astra92.Collections.FileDocumentFactory.DoOpenIt(Uri uri, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Collections\FileDocumentFactory.cs:řádek 131
   v Astra92.Collections.DocumentFactory.DoOpen(Uri uri, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Collections\DocumentFactory.cs:řádek 621
   v Astra92.Collections.DocumentFactory.Open(Uri uri, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Collections\DocumentFactory.cs:řádek 335
   v Astra92.Collections.DocumentFactory.Open(Uri uri, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Collections\DocumentFactory.cs:řádek 333
   v Astra92.Collections.DocumentFactory.Open(Uri uri, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Collections\DocumentFactory.cs:řádek 333
   v Astra92.Collections.DocumentFactory.Open(Uri uri, Boolean& readOnly) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Collections\DocumentFactory.cs:řádek 333
   v Astra92.Collections.Documents.Open(Boolean readOnly, IList`1 uris) v D:\Data\Code\Current\Astra92.Libraries.OpenSource\Astra92.Collections\Documents.cs:řádek 456

You are not authorized to post a reply.
Forums > English Forums > db4o User Forum

Active Forums 4.2
Close
Copyright ©2000-2010 by Versant Corp.
Privacy Policy