private void OpenDatabaseNegative() { Upscaledb.Environment env = new Upscaledb.Environment(); try { env.Create("ntest.db"); Database db = env.OpenDatabase((short)99); } catch (DatabaseException e) { Assert.AreEqual(UpsConst.UPS_DATABASE_NOT_FOUND, e.ErrorCode); } env.Close(); }
private Database OpenDatabase(string file) { List <Parameter> list = new List <Parameter>(); Parameter param1 = new Parameter(); param1.name = UpsConst.UPS_PARAM_CACHESIZE; param1.value = 768 * 1024 * 1024; list.Add(param1); Upscaledb.Environment env = new Upscaledb.Environment(); Database db = new Database(); env.Open(file, 0, list.ToArray()); db = env.OpenDatabase(1); db.SetCompareFunc(new CompareFunc(NumericalCompareFunc)); return(db); }
private void CreateString() { Database db = new Database(); Upscaledb.Environment env = new Upscaledb.Environment(); try { env.Create("ntest.db"); db = env.CreateDatabase(1); db.Close(); env.Close(); env.Open("ntest.db"); db = env.OpenDatabase(1); db.Close(); env.Close(); } catch (DatabaseException e) { Assert.Fail("Unexpected exception " + e); } }
private void Cursor10000Test() { //create database Upscaledb.Environment env = new Upscaledb.Environment(); env.Create("ntest.db"); Parameter[] param = new Parameter[1]; param[0] = new Parameter(); param[0].name = UpsConst.UPS_PARAM_KEY_TYPE; param[0].value = UpsConst.UPS_TYPE_UINT64; Database db = env.CreateDatabase(1, 0, param); //insert records for (ulong i = 0; i < 10000; i++) { byte[] key = BitConverter.GetBytes(i); byte[] record = new byte[20]; db.Insert(key, record); } //close database db.Close(); //reopen again db = env.OpenDatabase(1); Cursor cursor = new Cursor(db); cursor.MoveFirst(); ulong firstKey = BitConverter.ToUInt64(cursor.GetKey(), 0); Assert.AreEqual((ulong)0, firstKey); cursor.MoveLast(); ulong lastKey = BitConverter.ToUInt64(cursor.GetKey(), 0); Assert.AreEqual((ulong)9999, lastKey); //close database cursor.Close(); db.Close(); env.Close(); }
private void EraseDatabase() { Upscaledb.Environment env = new Upscaledb.Environment(); byte[] k = new byte[5]; byte[] r = new byte[5]; env.Create("ntest.db"); Database db = env.CreateDatabase((short)13); db.Insert(k, r); db.Close(); env.EraseDatabase((short)13); try { db = env.OpenDatabase((short)15); } catch (DatabaseException e) { Assert.AreEqual(UpsConst.UPS_DATABASE_NOT_FOUND, e.ErrorCode); } env.Close(); }
private void CreateDatabaseShort() { Upscaledb.Environment env = new Upscaledb.Environment(); byte[] k = new byte[5]; byte[] r = new byte[5]; try { env.Create("ntest.db"); Database db = env.CreateDatabase((short)13); db.Insert(k, r); db.Close(); db = env.OpenDatabase((short)13); byte[] f = db.Find(k); checkEqual(r, f); // db.Close(); env.Close(); } catch (DatabaseException e) { Assert.Fail("unexpected exception " + e); } }
private Database OpenDatabase(string file) { List<Parameter> list = new List<Parameter>(); Parameter param1 = new Parameter(); param1.name = UpsConst.UPS_PARAM_CACHESIZE; param1.value = 768 * 1024 * 1024; list.Add(param1); Upscaledb.Environment env = new Upscaledb.Environment(); Database db = new Database(); env.Open(file, 0, list.ToArray()); db = env.OpenDatabase(1); db.SetCompareFunc(new CompareFunc(NumericalCompareFunc)); return db; }
static void Main(string[] args) { byte[] key = new byte[5]; byte[] record = new byte[5]; Upscaledb.Environment env = new Upscaledb.Environment(); Database db = new Database(); /* * first, create a new Database */ env.Create("test.db"); db = env.CreateDatabase(1); /* * now we can insert, delete or lookup values in the Database * * for our test program, we just insert a few values, then look them * up, then delete them and try to look them up again (which will fail). */ for (int i = 0; i < LOOP; i++) { key[0] = (byte)i; record[0] = (byte)i; db.Insert(key, record); } /* * now look up all values */ for (int i = 0; i < LOOP; i++) { key[0] = (byte)i; byte[] r = db.Find(key); /* * check if the value is ok */ if (r[0] != (byte)i) { Console.Out.WriteLine("db.Find() returned bad value"); return; } } /* * close the Database handle, then re-open it (just to demonstrate how * to open a Database file) */ db.Close(); env.Close(); env.Open("test.db"); db = env.OpenDatabase(1); /* * now erase all values */ for (int i = 0; i < LOOP; i++) { key[0] = (byte)i; db.Erase(key); } /* * once more we try to find all values... every db.Find() call must * now fail with HAM_KEY_NOT_FOUND */ for (int i = 0; i < LOOP; i++) { key[0] = (byte)i; try { byte[] r = db.Find(key); } catch (DatabaseException e) { if (e.ErrorCode != UpsConst.UPS_KEY_NOT_FOUND) { Console.Out.WriteLine("db.Find() returned error " + e); return; } } } /* * We're done! No need to close the Database handle - it's closed automatically */ Console.Out.WriteLine("Success!"); }
private void RenameDatabase() { Upscaledb.Environment env = new Upscaledb.Environment(); byte[] k = new byte[5]; byte[] r = new byte[5]; try { env.Create("ntest.db"); Database db = env.CreateDatabase((short)13); db.Insert(k, r); db.Close(); env.RenameDatabase((short)13, (short)15); db = env.OpenDatabase((short)15); byte[] f = db.Find(k); checkEqual(r, f); // db.Close(); env.Close(); } catch (DatabaseException e) { Assert.Fail("unexpected exception " + e); } }