Added
QuickStart, WebApi and WebApiClient projects to VelocityDB.sln (part of product
download/installation). The WebApi, as is, is a starting point for a full RESTful
interface to VelocityDB and VelocityGraph. Please suggest to us what you would
like us to add to this http interface.
Fix
VelocityDBMono.dll to run correctly on Linux with QuickStart sample
Merged
ImdbImport sample into KevinBaconNumbers sample and updated it to use simple
Persist (as recommended). Some updates to User’s Guide.
Moved RTree source code from VelocityDB.dll to open source in VelocityDBExtensions project which is part of the sample solution VelocityDB.sln. We currently don’t have an RTree sample project. Help us improve the RTtree code or create a sample!
VelocityGraph
update: Add missing parenthesis when bit shifting for GetEdges and other
function – found by visualizing graph with Alchemy.
Upgrade to use Frontenac Blueprints 2.4 including support for GraphJson. Fix a string persist issue related to import of GraphJson graph.
Improved performance by eliminating some lookups. Updated Wikipedia sample. Fix for database dispose in server sessions
Updated
TextIndexer sample
Des encryption fix. Fixes to samples. Json export and import support added in separate extensions DLL, VelocityDBExtensions.dll. Added JsonExportImport sample.
Eliminate compiler warnings from sample project build
Updated
all samples to build with changed compression API.
We have now updated all license databases to use new page format that includes page uncompressed size and uses lz4 compression instead of slower gzip compression. It is recommended that you replace your old 4.odb license databases with a new one, go to page https://www.velocitydb.com/Secure/License.aspx to download updated license file. Use with VelocityDB 4.7 or newer.
Added lz4 as a new page compression option. PageInfo now
also contains info about size of page bytes uncompressed. Fix for optimistic
locking with SessionNoserver. Fixes for recovery.
Warning: older versions of VelocityDB can NOT read data created with this
release. Backup your data before using this release.
Move all thread locking code from SessionBase and SessionNoServer to SessionNoServerShared. Improves performance of SessionNoServer.
Fix a regression where threading support code assumed session object created in same thread as main thread running it.
Added
GraphJson export/import functions for VelocityGraph class Graph. Use with graph
visualizer Alchemy
java script tool. Updated SupplierTracking sample end by exporting and
importing graph.
Slightly improved performance of worker threads in SessionNoServerShared, especially with pessimistic locking. Cleanup in server locking code and avoid exception in server when attempting to create a database that already exist.
Reduce writer threads in SessionNoServerShared to 1. Fix for regression in delete page and fix for null ptr in AllObjects Count().
Added option (on by default) to do object byte encoding and page writes in separate worker threads, one per database (only for SessionNoServerShared at this time). Indexing in a separate thread now also requires using SessionNoServerShared. SessionBase.Compact() improved and now should be run outside scope of a transaction.
Performance
boost, added option (on by default) to handle add to indexes in a separate
worker thread (only for SessionNoServer at this time).
Performance boost, optimize byte encoding for empty arrays and lists.
Performance
boost by caching indexing attributes in database schema instead of querying
field for indexing attributes every time.
Fix
regression in use of SessionBase. BaseDatabasePath and fix AutoIncrement to
work with non UInt64 fields like a UInt32 field. Updated Indexes sample.
Speed
up SessionNoServer constructor (avoid some Dns host name checks).
EdgeType/VertexType unpersist fixes.
Enabled more Linq queries to use fast path by using direct index BTree lookups instead of iterating entire index.
Add
check for invalid use of edge/vertex property type.
Enable search for vertices in sub classes by optional extra parameter when using VertexType.GetPropertyVertex and VertexType.GetPropertyVertices.
Enabled more Linq queries to use fast path by using direct BTree lookups instead of iterating index. Added SessionBase.TraceIndexUsage as a way to debug incorrect index usage. Added MaximumMemoryUse to VelocityDBServer.exe.config file. Made SessionBase.Persist less recursive by limiting persist to object itself and its direct fields (not anything reachable from object).
Fixed regression in LINQ driver (due to session constructor api change)
Revert change to call session.FlushUpdates() in session.Index. It is too inefficient – see index section in User’s Guide. Added OptimizedPersistent.Write(). Removed unused parameter “readOnly” from SessionNoServer constructor.