martinc

Mostly about ESENT, the database engine.

Posts
  • martinc

    Sparse Files: ESE can now give space back to the file system

    • 0 Comments
    A long-standing limitation of ESE is that database files never shrink, even after deleting substantial amounts of the data. While the space is freed and is re-usable within the database, the on-disk size does not change. The main limitation is that the...
  • martinc

    cbKeyMost when indexing needs additional overhead

    • 0 Comments
    I recently helped someone track down why they were getting JET_errKeyTruncated. They declared an index over a JET_coltypLongBinary column with cbMax = 0x20c, and when they created the index, they specified cbKeyMost = 0x20c, and also passed in VistaGrbits...
  • martinc

    ManagedEsent is in Windows 8.1 and on MSDN.

    • 5 Comments
    I'm super excited to share this: ManagedEsent is documented on MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/dn375980.aspx And it's part of Windows 8.1. No need to download from CodePlex! Here's what's on my 8.1 machine: C...
  • martinc

    Cost of JetIntersectIndexes

    • 0 Comments
    We recently had a question about JetIntersectIndexes()'s performance. Here's what Brett wrote up: Intersect is to save disk IO at the cost of CPU time. The cost of intersect indices, is the cost of iterating over ALL the index ranges (choice...
  • martinc

    JetGetObjectInfo() does not get record count by default

    • 0 Comments
    We recently had the following question: I am trying to get the space occupied by each table that we have by using JetGetObjectInfo. The api succeeds but it returns 0 for both number of cRecords and cPages.   JET_OBJECTINFO tableInfo = {0};...
  • martinc

    Introduction to Indices

    • 0 Comments
    ESE is an ISAM engine -- Indexed Sequential Access Method. Wikipedia has an article on ISAMs: http://en.wikipedia.org/wiki/ISAM . ESE allows you to insert data in a structured manner, with data types such as integer or strings. Then you need to be...
  • martinc

    Sharp Corner: Close a table after creating it

    • 0 Comments
    The ESENT API has existed for a while, so there are quite a few oddities to it. After creating a database with ESENT, you need to close the returned JET_TABLEID. The original way to create a usable table was to create the table with JetCreateTable...
  • martinc

    ManagedEsent is Metro Compliant

    • 0 Comments
    I'm inaugurating this blog with an announcement: ManagedEsent is Metro Compliant. What does this mean to you? If you write a Metro program in C#, you can grab ManagedEsent from CodePlex ( http://managedesent.codeplex.com ) and you can use your favourite...
Page 1 of 1 (8 items)