//Creates collection with specified name
        public CollectionHandle(Database database, string name, CollectionOptions options)
            : base(false)
        {
            _database = database;

            var libraryHandle = DatabaseHandle.LibraryHandle;

            var createCollection = libraryHandle.GetUnmanagedDelegate<CreateCollectionDelegate>();

            IntPtr unmanagedName = Native.NativeUtf8FromString(name);//UnixMarshal.StringToHeap(name, Encoding.UTF8);
            try
            {
                handle = createCollection(DatabaseHandle, unmanagedName, ref options);

                if (IsInvalid)
                {
                    throw EjdbException.FromDatabase(database, "Unknown error on collection creation");
                }
            }
            finally
            {
                Marshal.FreeHGlobal(unmanagedName); //UnixMarshal.FreeHeap(cptr);
            }
        }