public static void DeleteDatabase(string filename)
        {
            // TODO: Consider passing in vfs name
            var ptrVfs      = NativeMethods.sqlite3_vfs_find(IntPtr.Zero);
            var ptrFilename = MarshalEx.StringToHGlobalUTF8(filename);

            try
            {
                var vfs = Marshal.PtrToStructure <sqlite3_vfs>(ptrVfs);
                vfs.xDelete(ptrVfs, ptrFilename, 1);
            }
            finally
            {
                if (ptrFilename != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(ptrFilename);
                }
            }
        }