Version 1.2 of the ManagedEsent interop layer for the ESENT database engine is now available on CodePlex. The three most useful additions here are:

  • JetEscrowUpdate
  • JetIntersectIndexes
  • Helper functions to set/retrieve columns as DateTime

JetEscrowUpdate works like Interlocked.Add, allowing a column to be updated in an atomic fashion by mutliple sessions without conflicts. There are several restrictions -- the column must have a default value, has to be JET_coltypLong and cannot be indexed.

JetIntersectIndexes takes a set of  index ranges and returns the records which are found in all the index ranges. This can be used to select records that meet multiple criteria. The StockSample.cs sample application shows how to use JetIntersectIndexes.

The release is up on Codeplex.

The source code now contains the source code for Pixie which is a 'work in progress' managed object layer for ESENT. It is nowhere near complete and will be changing a lot over the coming months.