?? changes
字號:
the database.
2. Add SpatialIndexR2 and RectangleR2 classes for spatial objects with floating point coordinates.
Also new spatial index is more efficient for large collections (it doesn't pin all its pages in memory).
SpatialIndexR2 class provides iterator to accessed overlaped object one-by-one.
3. Add SpatialIndex.WrappingRectangle and SpatialIndexR2.WrappingRectangle properties
4. Add set method to Link.Length property.
--- Release version 2.30 15.07.2004 -------------------------------------
1. Invoke Win32 FlushFileBuffers in addition to System.FileStream.Flush to
really flush changes to the disk.
2. Port to Mono compiler
--- Release version 2.31 06.08.2004 -------------------------------------
1. Add L2List and L2ListElem classes
2. Fix bug in importing/exporting of raw fields introduced in version 2.23
3. Fix critical sycnhronization bug in writing modified objects to the disk
--- Release version 2.32 21.08.2004 -------------------------------------
1. Fix critical synchronization bug in writing modified objects to the disk
2. Support new kind of per-thread transactions: serializable transactions
3. Alternative B-Tree implementation (as normal C# object and not using direct access
database pages). New implementation of B-Tree will be used instead of old implementation
if "perst.alternative.btree" property is set. New B-Tree has incompatible format with
old B-Tree, so you could not use old database or XML export file with new indices.
Alternative B-Tree is needed to provide serializable transaction (old one could not be used).
Also it provides better performance (about 3 times comaring with old implementation) because
of object caching. And B-Tree supports keys of user defined types.
4. Fix bug in Index.set method
5. Fix bug in packing array of string
6. Fields of System.Object type are now serialized decpite to whether
"perst.serialize.transient.objects" property was set or not
7. Add Persistent OnStore method which is invoked before object is stored in the database
--- Release version 2.33 27.08.2004 -------------------------------------
1. Background garbage collection
2. Add Storage.UsedSize and Storage.DatabaseSize properties
--- Release version 2.34 16.09.2004 -------------------------------------
1. Add "perst.file.noflush" property. When it is assigne true value,
Perst will not perform flush of file during transaction commit. It will greatly increase performance because
eliminate synchronous write to the disk (when program has to wait until all changed
are actually written to the disk). But it can cause database corruption in case of
OS or power failure (but abnormal termination of application itself should not cause
the problem, because all data which were written to the file, but is not yet saved to the disk is
stored in OS file buffers and sooner or later them will be written to the disk)
2. Fix possible problems with GC memory consistency verification for T-Tree and R-Tree classes
--- Release version 2.35 02.10.2004 -------------------------------------
1. Fix problem with supporting compund keys in alternative implementation of B-Tree
2. Fix bug (cuase inefficient execution) in TimeSeries.Contains method.
--- Release version 2.36 07.10.2004 -------------------------------------
1. Make it possible to specify encoding for storing string
2. Add StorageListener class
3. Fix compilation problem with Compact.Net framework and multifield alternative indices
--- Release version 2.37 10.10.2004 -------------------------------------
1. Add PATRICIA Trie container
2. Fix problem with generated pack/unpack functions introduced in 2.36 version
--- Release version 2.38 29.10.2004 -------------------------------------
1. Fix bugs in XML import/export
2. Fix check for invalid OID in Storage.getPos method
3. Change BLOB implementation to support work with very large BLOBs
(done by Mikhail Kotelnikov <mikhail@kotelnikov.com>)
4. Fix bug with restoring autoincrement counter in XML import
5. Add TimeSeries.Deallocate wethod
6. Fix bug in backup with compactification (incorrect setting of bitmap end)
--- Release version 2.39 14.11.2004 -------------------------------------
1. Fix problems with handling weak references and finalization
2. Replace elements of Link with stubs after storing Link in the database
to avoid memory overflow caused by pinning objects in memory.
3. Stop pack/unpack code generation thread in Storage.Close method
4. Add Ttree.Deallocate method
5. Support per-thread transactions for Compact.Net framework
--- Release version 2.40 16.11.2004 -------------------------------------
1. Add LRU object cache. Make it possible for user to selcet between "weak", "soft" and "lru"
cache implementation.
2. Add PersistentString class to be able to store string in the database as independent object.
3. Fix bug in Persistent.assignOid method introduced in version 2.39
4. Fix bug in Link.indexOf method introduced in version 2.39
5. Fix synchronization problem (deadlock) in background GC activation
--- Release version 2.41 28.11.2004 -------------------------------------
1. Fix bug in comparison of int keys in multifield index
2. Fix problems with supporting more than 2^28 objects
--- Release version 2.42 06.12.2004 -------------------------------------
1. Fix bug in range search implementation in T-Tree (SortedCollection)
2. Make it possible to specify different range types (inclusive/exclusive) in SortedCollection search methods
--- Release version 2.43 10.12.2004 -------------------------------------
1. Add BitIndex collection (allowing to select object by bit vector of boolean properties)
--- Release version 2.44 14.12.2004 -------------------------------------
1. Implement yet another transparent API to the database based on virtual properties.
Now it is possible to transparently load and modify persistent objects
by accessing persistent object components through virtual properties.
It is not needed any more to explicitly invoke IPersistent.Modify method
or redefine IPersistent.RecursiveLoading method. You only need to replace
components of your objects with definition of abstract properties.
Perst will automatically generate class which will provide implementations
of these properties. You only have to use IStorage.CreateClass method to construct objects
instead of direct invocation of constructors. See "PropGuess" sample.
2. Add file locking to prevent modification of database file by more than one application
--- Release version 2.45 16.12.2004 -------------------------------------
1. Derive Index and FieldIndex interface from common base GenericIndex
2. Add StreamFile
3. Make it possible to toggle "perst.file.noflush" property on the fly (not only before storage open).
4. Fix bugs in virtual property based transparent API implementation
5. Add PArray class to be used instead of array of references in virtual property based transparent API
6. Change semantic of IPersistent.MakePersistent method, now it doesn't store transparent object
in the storage, it just assigns OID and marks it as modified
--- Release version 2.46 19.12.2004 -------------------------------------
1. Add Storage.createThickIndex method for efficient support of indices with a lot of duplicate
values of of the key
2. Add Storage.createScalableSet method for efficient (space and speed) support of set of references
small as well as large number of members
3. Fix bugs in virtual proxy transparent API implementation
--- Release version 2.47 28.12.2004 -------------------------------------
1. Support C# 2.0 generics. When Perst.NET is build with USE_GENERICS defined,
all Perst collections will be provided as parameterized classes implementing
System.Collections.Generic.ICollection<T>
--- Release version 2.48 03.01.2005 -------------------------------------
1. Replication support. Now Perst supports master-slaves replication model.
Single master node replicates changes to one or more slave nodes.
It is possible to access database at slave nodes in read-only mode.
Look at TestReplic example.
--- Release version 2.49 09.01.2005 -------------------------------------
1. Change implementation of Link to automatically set modified bit in contaning object.
Now it is not necessary to explicitly call modify() for object which Link component is updated.
--- Release version 2.50 25.02.2005 -------------------------------------
1. Change Perst license. Starting from this version Perst it is necessary to buy
commercial license for using Perst in commercial products.
2. Fix race condition problem in Persistent.load method
--- Release version 2.51 07.02.2005 -------------------------------------
1. Integrate JSQL - make it possible to select collection members using SQL-like queries
2. Fix bug in fetching classes with privite fields declared in base classes
--- Release version 2.52 11.02.2005 -------------------------------------
1. Add Database class emulating object-relational database on top of Perst
--- Release version 2.53 22.02.2005 -------------------------------------
1. Support concurrent iterators (recover iterator state instead of throwing
ConcurrentModificationException if underlying collection is modified outside iterator)
2. Support generics for the latest release of Visual Studion 2005.
--- Release version 2.54 2.03.2005 -------------------------------------
1. Fix bugs in AltBtree iterators introduced in 2.53 version
--- Release version 2.55 21.03.2005 -------------------------------------
1. Add versioning support (Version and VersionHistory classes)
2. Avoid false ambiguity exceptions if same assembly is specified twice in assembly list
--- Release version 2.56 19.05.2005 -------------------------------------
1. Add "perst.slave.connection.timeout" storage property allowing to specify connection timeout for
replicated model.
2. Do not insert entries in object cache during finalization
--- Release version 2.57 08.06.2005 -------------------------------------
1. Add Storage.merge(Iterator[]) and Storage.join(Iterator[]) to efficiently merge and join
results of several index searches. It allows efficient implementation of complex search conditions.
2. Force assignment of OID to objects referenced by fields used as a key in FieldIndex
when object is inserted in index.
3. Fix problem with interference of explicit deallocation of objects and garbage collection
--- Release version 2.58 19.06.2005 -------------------------------------
1. Support compound indices (before Perst supports only compound multi-field indices)
2. Support RDF data model (http://www.w3.org/RDF/): store/fetch/searching RDF data, XML based queries
3. Change Database class to support table inheritance and polymorphic queries.
--- Release version 2.59 29.06.2005 -------------------------------------
1. Advanced replication model: support adding of new slave nodes to running master
and background replication of the database to new nodes
2. Fix problem with execution of read-only transactions at slave nodes
3. Support elements with non-unique timestamps in TimeSeries class
4. Fix problem with commit and rollback of serializable per-thread transactions
5. Properly handle event fields in persistent objects
6. Fix problem with prefix search implementation in AltBtree
7. Add multithreading support to Database class
8. Fix problem with AltPersistentSet
--- Release version 2.60 06.07.2005 -------------------------------------
1. Support custom memory allocators and page caching limit.
Please see "What is the most efficient way of storing multimedia data?"
section of "Tricks and tips" chapter of Perst manual for more information.
2. Add multifile support
3. Make it possible to pass null in Storage.setRoot
--- Release version 2.61 01.08.2005 -------------------------------------
1. Make it possible to perfrom select for update in Database class (set exclusive lock)
2. Add IPerisistentMap class implementing IDictionary interface and efficiently handle
both small and large number of members
3. Correctly handle rollback of deallocated objects in case of using per-thread
serializable transactions
4. Fix bug in extracting string key in AltBtreeFieldIndex
5. Fix bugs in locking implementation in Compact.Net serializable trasactio mode.
6. Replace methods deprecated in .Net framework 2.0
7. Add IPersistentList interface which implementation is based on B-Tree and provides
efficient random access for large lists.
8. Add scalable list container which is able to efficently handle both small and large lists.
Until size of list is small, Link implementation is used. When number of elements
exceeds some threshold, B-Tree based implementation of list is used. (JDK 1.5 version only)
9. Catch JSQLRuntimeExceptions in QueryImpl.FilterItertator
10. Change implementation of Blob to avoid stack overflow when large files are storied
--- Release version 2.62 09.09.2005 -------------------------------------
1. Make it possible to choose in Perst.Net synchronous or asynchronous generation
of pack/unpack methods.
2. Add IBidirectionalIterator returned by implementation of IPeristentList interface
and IPersistentList.GetEnumerator(int i) method allowing to start iteration from element
with specified index.
3. Add random access index: index optimized for access to elements by position
4. Add GenericIndex.GetDictionaryEnumerator(int start, IterationOrder order) method
5. Fix bug in XML import of array of strings
--- Release version 2.63 31.10.2005 -------------------------------------
1. Fix bug in PersistentListImpl.remove method
--- Release version 2.64 18.01.2006 -------------------------------------
--- Release version 2.65 28.02.2006 -------------------------------------
1. Fix bug in Patricia Trie implementation
--- Release version 2.66 11.05.2006 -------------------------------------
1. Fix bug in XMLExporter
2. Add support of custmor serializers (CustomSerialize and CustomSerializable interfaces)
3. Fix bug in Btree [int i] operator
--- Release version 2.67 15.09.2006 -------------------------------------
1. Fix bug in object cache reallocation
2. Add pinned weak object cache (to make it possible to eliminate object finalization)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -