Sign In
ESE/ESENT Database Stuff
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
No tags have been created or used yet.
Archive
Archives
February 2011
(1)
June 2010
(1)
March 2010
(1)
September 2009
(1)
August 2009
(2)
May 2009
(1)
April 2009
(4)
March 2009
(3)
February 2009
(2)
January 2009
(4)
December 2008
(2)
November 2008
(1)
October 2008
(5)
May 2007
(1)
MSDN Blogs
>
ESE/ESENT Database Stuff
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
ESE/ESENT Database Stuff
ManagedEsent 1.6 released. LINQ support for PersistentDictionary.
Posted
11 months ago
by
Laurion Burchall
0
Comments
There is a new release of ManagedEsent on Codeplex. There are some new APIs, bugfixes and performance improvements. The PersistentDictionary class now supports LINQ -- it can examine a query and retrieve only matching records from the database. Some...
ESE/ESENT Database Stuff
ESENT Multivalue tutorial
Posted
over 2 years ago
by
Laurion Burchall
0
Comments
Multivalued columns can be very useful for simplifying data schema and improving performance, but they can be complex to use (they also make Data Normalization geeks feel uneasy). I put a multi-value tutorial up on the ManagedEsent wiki. It uses the managed...
ESE/ESENT Database Stuff
Using ManagedEsent from F#
Posted
over 2 years ago
by
Laurion Burchall
0
Comments
Cameron Taggart has a blog entry on using ManagedEsent from F#: http://blog.ctaggart.com/2010/02/microsofts-extensible-storage-engine.html The ESENT programming model centers around a database cursor (JET_TABLEID). The cursor is located on a record...
ESE/ESENT Database Stuff
Version 1.5 of ManagedEsent released. PersistentDictionary goodness
Posted
over 3 years ago
by
Laurion Burchall
1
Comments
There is a new release of ManagedEsent on Codeplex . There are some new APIs, constants for the new Windows 7 ESENT features, bugfixes and performance improvements. There is also a new Esent.Collections.dll which contains a PersistentDictionary generic...
ESE/ESENT Database Stuff
6 New ESENT features in Windows 7
Posted
over 3 years ago
by
Laurion Burchall
1
Comments
A quick look at some of the new features that are available in the Windows 7 version of ESENT. You'll need esent.h from the Windows 7 SDK to see these definitions: 1. Column Compression Columns of type JET_coltypLongBinary and JET_coltypLongText...
ESE/ESENT Database Stuff
Multimethods in C# 4.0 with 'dynamic'
Posted
over 3 years ago
by
Laurion Burchall
4
Comments
(Continuing from the post on implementing the Visitor pattern in C# 4.0) A virtual method is polymorphic in one dimension (the runtime class of the object the method is attached to). Multimethods (multiple dispatch) are polymorphic in multiple dimensions...
ESE/ESENT Database Stuff
Implementing the Visitor pattern with the 'dynamic' feature of C# 4.0
Posted
over 3 years ago
by
Laurion Burchall
1
Comments
A lot of the talk around the new dynamic keyword in C# 4.0 (available in the beta of Visual Studio 2010 ) is around interaction with external components (dynamic languages, HTML DOM, COM) but I'm most excited about being able to stragetically add dynamic...
ESE/ESENT Database Stuff
Kobe - the Web 2.0 application that wasn't
Posted
over 3 years ago
by
Laurion Burchall
0
Comments
Microsoft has released Kobe , "a getting started resource kit for planning, architecting, and implementing Web 2.0 applications and services using the Microsoft Platform" and a lot of the response has been quite critical ( Ayende , Karl Seguin ). While...
ESE/ESENT Database Stuff
iiobo C++ ESE library
Posted
over 3 years ago
by
Laurion Burchall
0
Comments
(I saw a link to this from the Wikipedia entry on esent) A company called iiobo has released a C++ toolkit for using esent (I'm guessing they developed it for internal use). I haven't looked at the code, but their website says that they have: "C...
ESE/ESENT Database Stuff
Version 1.2 of ManagedEsent available on CodePlex
Posted
over 3 years ago
by
Laurion Burchall
0
Comments
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 ...
ESE/ESENT Database Stuff
Why does JET_coltypBit return 0xFF when set to true?
Posted
over 3 years ago
by
Laurion Burchall
0
Comments
On our internal mailing list a user asked "When I retrieve a column of type JET_coltypBit that is set to true, why do I get 0xFF and not 0x1"? My co-worker Ketan had to reach deep into his memory for the answer :-) In the very old days, the...
ESE/ESENT Database Stuff
Unsigned considered harmful
Posted
over 3 years ago
by
Laurion Burchall
5
Comments
(or is "xxx considered harmful" completely worn out as a meme?) I believe that, in general, people should avoid unsigned variables, even when dealing with quantities which should only be positive. I have three major problems with unsigned variables...
ESE/ESENT Database Stuff
JET_COLUMNID scope
Posted
over 3 years ago
by
Laurion Burchall
0
Comments
A JET_COLUMNID identifies a column inside of a table (it is actually an index into an internal per-table array of column definition structures). The database meta-data provides a mapping from column name to columnid. The mapping of column names to columnids...
ESE/ESENT Database Stuff
What does a failing Assert() mean?
Posted
over 3 years ago
by
Laurion Burchall
1
Comments
When an assert goes off what does it mean? In the codebases I work in, a failing assert doesn't always indicate that the code is about to fail. There actually are several conditions that we want to check with asserts. The first three are from Meyer...
ESE/ESENT Database Stuff
Immutable objects in Fluent Interfaces: a lesson from Functional Programming
Posted
over 3 years ago
by
Laurion Burchall
1
Comments
Fluent interfaces are a nice way of building up an API which reads very nicely. Chaining methods together is often a big part of fluent interfaces, but doing so isn't always as straightforward as it looks, especially for configuration objects. Suppose...
ESE/ESENT Database Stuff
Cheaply estimating the number of records in a table
Posted
over 3 years ago
by
Laurion Burchall
1
Comments
Counting the number of records in a table can be extremely expensive, as it requires reading all the database pages off disk. It is possible to get a reasonably accurate estimate the number of records in a table by using the JetGetRecordPosition API....
ESE/ESENT Database Stuff
A dbm-like interface for Esent on IronPython
Posted
over 3 years ago
by
Laurion Burchall
0
Comments
I've wanted to be able to use Esent as a simple, fast, reliable and persistent key/value store. The Python standard libraries contain that kind of functionality in the *dbm modules. I've been working on providing identical functionality layered on top...
ESE/ESENT Database Stuff
A C++ Refactoring Trick for "Encapsulate Field"
Posted
over 3 years ago
by
Laurion Burchall
1
Comments
I was working on some old code that had a structure that looked like this struct Foo { bool fOptionEnabled; }; Tons of places in the code would check to see if the option was enabled, and do something based on it. The change I needed to make required...
ESE/ESENT Database Stuff
Memcmp in C#
Posted
over 3 years ago
by
Laurion Burchall
2
Comments
I confess that, for some years now, I've wondered what the managed equivalent of memcmp() was, usually when I wanted to compare two byte arrays for equality. It turns out that Linq provides a SequenceEquals() extension method which does exactly what I...
ESE/ESENT Database Stuff
Inserting a record does NOT move the cursor
Posted
over 3 years ago
by
Laurion Burchall
0
Comments
Inserting a record into a table doesn't change the location of the JET_TABLEID used to insert the record. At one level this makes sense because a JET_TABLEID is an iterator on a table and inserting a record into a table shouldn't change the position of...
ESE/ESENT Database Stuff
Ayende's DivanDB (also, is esent the most widely used database engine?)
Posted
over 4 years ago
by
Laurion Burchall
2
Comments
Besides providing lots of great input on the new managed layer, Ayende Rahien has found time to start using esent in a new project to store JSON (JavaScript Object Notation) objects . Esent is an important part of the Windows Server story, providing...
ESE/ESENT Database Stuff
Managed interface to Esent released
Posted
over 4 years ago
by
Laurion Burchall
7
Comments
I just published the first release of the Esent .NET managed interface on Codeplex. http://www.codeplex.com/ManagedEsent This is an interop layer can be used to write managed applications that use esent. There is a straightforward translation of...
ESE/ESENT Database Stuff
Some basic ESENT performance measurements
Posted
over 4 years ago
by
Laurion Burchall
1
Comments
I was reading a performance whitepaper about another embedded database engine and decided to write a program with similar parameters to get an idea of how quickly ESENT would run on my laptop. First, the warnings I ran the test under real-world...
ESE/ESENT Database Stuff
ESENT technology explained through Wikipedia
Posted
over 4 years ago
by
Laurion Burchall
1
Comments
(All links go to the named Wikipedia article) ESE/ESENT is an embedded database engine providing ACID (Atomic, Consistent, Isolated, Durable) transactions with snapshot isolation using multi-version concurrency control and the ARIES variant of write...
ESE/ESENT Database Stuff
My post on the Windows SDK blog
Posted
over 4 years ago
by
Laurion Burchall
2
Comments
Although the ESENT API has been available in the Windows SDK for several years, I don't think enough people are aware of it. I have a blog post on the Windows SDK blog that gives an overview of ESENT and has a tiny 'hello world' program. http://blogs...
Page 1 of 2 (29 items)
1
2