I wanted to see the insert speed of siaqodb so I set up a simple project.
OS: Windows 7 64 Bit
Memory: 8 GB
public class Employee
{
public int OID { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
and my code to insert into the db
public void InsertToDb()
{
var siaqodb = new Siaqodb(@"C:\testdb\");
var transaction = siaqodb.BeginTransaction();
for (var i = 0; i < 300000; i++)
{
var employee = new Employee
{
FirstName = $"First {i}",
LastName = $"Last {i}",
Age = i,
City = "New York"
};
siaqodb.StoreObject(employee, transaction);
}
transaction.Commit();
}
and I end up getting this exception:
************** Exception Text **************
LightningDB.LightningException: MDB_MAP_FULL: Environment mapsize limit reached
at LightningDB.Native.NativeMethods.ExecuteHelper(Func`2 action, Func`2 shouldThrow)
at LightningDB.Native.NativeMethods.Execute(Func`2 action)
at LightningDB.LightningTransaction.Put(LightningDatabase db, Byte[] key, Byte[] value, PutOptions options)
at #=qVasPneouG3a2VEMh3CXSJTT3iFBHppwpNfmZM5Us1lM=.#=q8O7pgv0rvyEQcQC444si2A==(Object #=qcH_CAVTMNa9weqXmFvPUWw==, #=q0ff40JNLc6qMwoy7V2vgPmRx_YsoRjBL311LTWPo6b8= #=qMiu_U0fDvTxWzO1NNl41sQ==, #=qtTOnNFVme6LlSQ92pA9O4N0r8UDaRpl6U6Qi9pZGePE= #=qbMwAzzDcPxxKGEpmtkndrA==, LightningTransaction #=qXOIx3SoLWlYlWfxYAGTZBg==)
at Sqo.Siaqodb.StoreObject(Object obj, ITransaction transaction)