]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a problem with SQLITE_OS_WINRT builds.
authordan <Dan Kennedy>
Mon, 2 Dec 2024 20:48:17 +0000 (20:48 +0000)
committerdan <Dan Kennedy>
Mon, 2 Dec 2024 20:48:17 +0000 (20:48 +0000)
FossilOrigin-Name: baf43e8c7da6aacce874ec30d0c9e1dcb44c5ed9de2214099d42fbbd335d2e93

manifest
manifest.uuid
src/os_win.c
src/test1.c
src/test_quota.c

index c411fc8ac92058a5d475f3d754597ac86a667c07..916afd3b58604cc9ac2c2f71b9123b676d947bbe 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C On\swindows,\suse\sa\sseparate\shandle\sfor\seach\sconnection\sfor\sxShmLock()\slocks.
-D 2024-11-30T20:00:54.166
+C Fix\sa\sproblem\swith\sSQLITE_OS_WINRT\sbuilds.
+D 2024-12-02T20:48:17.522
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -759,7 +759,7 @@ F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e
 F src/os_kv.c 4d39e1f1c180b11162c6dc4aa8ad34053873a639bac6baae23272fc03349986a
 F src/os_setup.h 6011ad7af5db4e05155f385eb3a9b4470688de6f65d6166b8956e58a3d872107
 F src/os_unix.c d4a33e8fbd1c6eb722a21b6ce1eee1213ec856170a2f256d99f3d2978f054f5a
-F src/os_win.c 723fde7bfc915a3651620337788a7c2120b216e057d1c70ffad15b6389a59ff1
+F src/os_win.c 87a6590fa43efbf64b58269fef10df5b766841603b6ac0bf025fac74901f45c7
 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
 F src/pager.c 9656ad4e8331efb8a4f94f7a0c6440b98caea073950a367ea0c728a53b8e62c9
 F src/pager.h 4b1140d691860de0be1347474c51fee07d5420bd7f802d38cbab8ea4ab9f538a
@@ -785,7 +785,7 @@ F src/status.c cb11f8589a6912af2da3bb1ec509a94dd8ef27df4d4c1a97e0bcf2309ece972b
 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
 F src/tclsqlite.c 1c2f697cb12a1d49f5e0b448327f7cf614809423bb43753b2d97f87354298113
 F src/tclsqlite.h 65e2c761446e1c9fa0342b7d2612a703483643c8b6a316d12a65b745a4727395
-F src/test1.c 2d507751bfb4aa254dc22588ef1e3c5c5cfcb2e636d0e6e1fa0bbd307669c2a8
+F src/test1.c 2c63b1f57d86104dcb12a722063b193031ed9e27268eacfc029c1a3c2997bc76
 F src/test2.c 7ebc518e6735939d8979273a6f7b1d9b5702babf059f6ad62499f7f60a9eb9a3
 F src/test3.c e7573aa0f78ee4e070a4bc8c3493941c1aa64d5c66d4825c74c0f055451f432b
 F src/test4.c 13e57ae7ec7a959ee180970aef09deed141252fe9bb07c61054f0dfa4f1dfd5d
@@ -818,7 +818,7 @@ F src/test_mutex.c f10fcbc2086b19c7b0ddf2752caf2095e42be74d8d7f6093619445b43b1f7
 F src/test_onefile.c f31e52e891c5fef6709b9fcef54ce660648a34172423a9cbdf4cbce3ba0049f4
 F src/test_osinst.c 7aa3feaa3a1da1b5f75bde2ce958dbfe14ec484f065bb2b5b9727d8851fa089b
 F src/test_pcache.c 496da3f7e2ca66aefbc36bbf22138b1eff43ba0dff175c228b760fa020a37bd0
-F src/test_quota.c 07369655d24c3f3fbdbd8fd8f42e856a054a7497846ca1c83ed4be68152a251f
+F src/test_quota.c 744552848d9c5c5de3920d1c44b03d425a4123a223310567a199c7e0d3fe80bf
 F src/test_quota.h 2a8ad1952d1d2ca9af0ce0465e56e6c023b5e15d
 F src/test_rtree.c d844d746a3cc027247318b970025a927f14772339c991f40e7911583ea5ed0d9
 F src/test_schema.c b06d3ddc3edc173c143878f3edb869dd200d57d918ae2f38820534f9a5e3d7d9
@@ -2199,8 +2199,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 7a32b497ab16774021924a8536e1025a0a01740a6484f0de17623a69713511d8
-R aa1565a5ee340c089d18e4ebbcdc312d
+P 272d552f126357d7bc16d84f13a4bea823abc6ef7faf90e3cffcedb68210f52a
+R e892c1228a636d88e5e0280f26d48ad6
 U dan
-Z 8c1e110aa2184c18c39efa79a8266428
+Z cbe84d70a2ef7e0a156c55e07ebb1ddb
 # Remove this line to create a well-formed Fossil manifest.
index 2963ba4d75c84664a473b9df5e02dfcce37f32e2..93f35d5ecb89ad08ab577ae9ab80143e511893df 100644 (file)
@@ -1 +1 @@
-272d552f126357d7bc16d84f13a4bea823abc6ef7faf90e3cffcedb68210f52a
+baf43e8c7da6aacce874ec30d0c9e1dcb44c5ed9de2214099d42fbbd335d2e93
index 82ec15f3b9e465f962a08581e53e10b5c46a4584..a02b0c5358bebffb39dc9f2375b71d0cad860bf1 100644 (file)
@@ -4093,6 +4093,22 @@ static int winOpenFile(
   /* TODO: platforms.
   ** TODO: retry-on-ioerr.
   */
+#if SQLITE_OS_WINRT
+  {
+    CREATEFILE2_EXTENDED_PARAMETERS extendedParameters;
+    memset(&extendedParameters, 0, sizeof(extendedParameters));
+    extendedParameters.dwSize = sizeof(extendedParameters);
+    extendedParameters.dwFileAttributes = FILE_ATTRIBUTE_NORMAL;
+    extendedParameters.dwFileFlags = FILE_FLAG_OVERLAPPED;
+    extendedParameters.dwSecurityQosFlags = SECURITY_ANONYMOUS;
+    h = osCreateFile2((LPCWSTR)zConverted,
+        (GENERIC_READ | (bReadonly ? 0 : GENERIC_WRITE)),/* dwDesiredAccess */
+        FILE_SHARE_READ | FILE_SHARE_WRITE,      /* dwShareMode */
+        OPEN_ALWAYS,                             /* dwCreationDisposition */
+        &extendedParameters
+    );
+  }
+#else
   h = osCreateFileW((LPCWSTR)zConverted,         /* lpFileName */
       (GENERIC_READ | (bReadonly ? 0 : GENERIC_WRITE)),  /* dwDesiredAccess */
       FILE_SHARE_READ | FILE_SHARE_WRITE,        /* dwShareMode */
@@ -4101,6 +4117,7 @@ static int winOpenFile(
       FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,
       NULL
   );
+#endif
   if( h==INVALID_HANDLE_VALUE ){
     if( bReadonly==0 ){
       bReadonly = 1;
index cf5d484e9ec372d9b100e8117ca2718a6d322e85..613e8ca137bb4e17549326e546cff66628685fa2 100644 (file)
@@ -7979,6 +7979,10 @@ static int SQLITE_TCLAPI win32_file_lock(
   int objc,
   Tcl_Obj *CONST objv[]
 ){
+#ifdef SQLITE_OS_WINRT
+  Tcl_AppendResult(interp, "unsupported test command", (char*)0);
+  return TCL_ERROR;
+#else
   static struct win32FileLocker x = { "win32_file_lock", 0, 0, 0, 0, 0 };
   const char *zFilename;
   char zBuf[200];
@@ -8029,6 +8033,7 @@ static int SQLITE_TCLAPI win32_file_lock(
   }
   CloseHandle(ev);
   return TCL_OK;
+#endif   /* !SQLITE_OS_WINRT */
 }
 #endif
 
index 1bfc5ce11c17892ceed13ac9aba59a48f3b6c152..62d808a22bb14cdfeedf762dacc42c48ae1a6d41 100644 (file)
@@ -389,7 +389,11 @@ static char *quota_utf8_to_mbcs(const char *zUtf8){
   zTmpWide = (LPWSTR)sqlite3_malloc( (nWide+1)*sizeof(zTmpWide[0]) );
   if( zTmpWide==0 ) return 0;
   MultiByteToWideChar(CP_UTF8, 0, zUtf8, -1, zTmpWide, nWide);
+#ifdef SQLITE_OS_WINRT
+  codepage = CP_ACP;
+#else
   codepage = AreFileApisANSI() ? CP_ACP : CP_OEMCP;
+#endif
   nMbcs = WideCharToMultiByte(codepage, 0, zTmpWide, nWide, 0, 0, 0, 0);
   zMbcs = nMbcs ? (char*)sqlite3_malloc( nMbcs+1 ) : 0;
   if( zMbcs ){