Пример #1
0
 public void Test2EnsureCollection()
 {
     EJDB jb = new EJDB("testdb1", EJDB.DEFAULT_OPEN_MODE | EJDB.JBOTRUNC);
     EJDBCollectionOptionsN co = new EJDBCollectionOptionsN();
     co.large = true;
     co.compressed = false;
     co.records = 50000;
     Assert.IsTrue(jb.EnsureCollection("mycoll2", co));
     jb.Dispose();
 }
Пример #2
0
        internal static IntPtr _ejdbcreatecoll(IntPtr db, String cname, EJDBCollectionOptionsN?opts)
        {
            IntPtr cptr = Native.NativeUtf8FromString(cname);            //UnixMarshal.StringToHeap(cname, Encoding.UTF8);

            try {
                if (opts == null)
                {
                    return(_ejdbcreatecoll(db, cptr, IntPtr.Zero));
                }
                else
                {
                    EJDBCollectionOptionsN nopts = (EJDBCollectionOptionsN)opts;
                    return(_ejdbcreatecoll(db, cptr, ref nopts));
                }
            } finally {
                Marshal.FreeHGlobal(cptr);                 //UnixMarshal.FreeHeap(cptr);
            }
        }
Пример #3
0
 internal static IntPtr _ejdbcreatecoll(IntPtr db, String cname, EJDBCollectionOptionsN? opts)
 {
     IntPtr cptr = UnixMarshal.StringToHeap(cname, Encoding.UTF8);
     try {
         if (opts == null) {
             return _ejdbcreatecoll(db, cptr, IntPtr.Zero);
         } else {
             EJDBCollectionOptionsN nopts = (EJDBCollectionOptionsN) opts;
             return _ejdbcreatecoll(db, cptr, ref nopts);
         }
     } finally {
         UnixMarshal.FreeHeap(cptr);
     }
 }
Пример #4
0
 internal static extern IntPtr _ejdbcreatecoll([In] IntPtr db, [In] IntPtr cname, ref EJDBCollectionOptionsN opts);
Пример #5
0
 /// <summary>
 /// Automatically creates new collection if it does't exists.
 /// </summary>
 /// <remarks>
 /// Collection options <c>copts</c> are applied only for newly created collection.
 /// For existing collections <c>copts</c> has no effect.
 /// </remarks>
 /// <returns><c>false</c> error ocurried.</returns>
 /// <param name="cname">Name of collection.</param>
 /// <param name="copts">Collection options.</param>
 public bool EnsureCollection(string cname, EJDBCollectionOptionsN? copts = null)
 {
     CheckDisposed();
     IntPtr cptr = _ejdbcreatecoll(_db, cname, copts);
     bool rv = (cptr != IntPtr.Zero);
     if (_throwonfail && !rv) {
         throw new EJDBException(this);
     }
     return rv;
 }
Пример #6
0
 internal static extern IntPtr _ejdbcreatecoll([In] IntPtr db, [In] IntPtr cname, ref EJDBCollectionOptionsN opts);