]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add HTML and INSERT modes.
authordrh <>
Thu, 23 Oct 2025 16:40:29 +0000 (16:40 +0000)
committerdrh <>
Thu, 23 Oct 2025 16:40:29 +0000 (16:40 +0000)
FossilOrigin-Name: 6d695ecdfdc5dca78b430263fc298bb6c8182a2406dc79b70f159abd37463f1e

ext/qrf/qrf.c
manifest
manifest.uuid

index 9d0facdc17691a27683178d15e673750ad828816..756d97f4e794a1ee4c67f63d0836a8f1d133ae18 100644 (file)
@@ -1138,6 +1138,19 @@ static void qrfInitialize(
       p->spec.zNull = "null";
       break;
     }
+    case QRF_MODE_Html: {
+      p->spec.eQuote = QRF_TXT_Html;
+      p->spec.zNull = "null";
+      break;
+    }
+    case QRF_MODE_Insert: {
+      p->spec.eQuote = QRF_TXT_Sql;
+      p->spec.eBlob = QRF_BLOB_Sql;
+      if( p->spec.zTableName==0 || p->spec.zTableName[0]==0 ){
+        p->spec.zTableName = "tab";
+      }
+      break;
+    }
   }
   if( p->spec.eBlob==QRF_BLOB_Auto ){
     switch( p->spec.eQuote ){
@@ -1184,6 +1197,35 @@ static void qrfOneSimpleRow(Qrf *p){
       qrfWrite(p);
       break;
     }
+    case QRF_MODE_Html: {
+      if( p->nRow==0 && p->spec.bShowCNames ){
+        sqlite3_str_append(p->pOut, "<TR>", 4);
+        for(i=0; i<p->nCol; i++){
+          const char *zCName = sqlite3_column_name(p->pStmt, i);
+          sqlite3_str_append(p->pOut, "\n<TH>", 5);
+          qrfEncodeText(p, p->pOut, zCName);
+        }
+        sqlite3_str_append(p->pOut, "\n</TR>\n", 7);
+      }
+      sqlite3_str_append(p->pOut, "<TR>", 4);
+      for(i=0; i<p->nCol; i++){
+        sqlite3_str_append(p->pOut, "\n<TD>", 5);
+        qrfRenderValue(p, p->pOut, i);
+      }
+      sqlite3_str_append(p->pOut, "\n</TR>\n", 7);
+      qrfWrite(p);
+      break;
+    }
+    case QRF_MODE_Insert: {
+      sqlite3_str_appendf(p->pOut,"INSERT INTO %s VALUES(",p->spec.zTableName);
+      for(i=0; i<p->nCol; i++){
+        if( i>0 ) sqlite3_str_append(p->pOut, ",", 1);
+        qrfRenderValue(p, p->pOut, i);
+      }
+      sqlite3_str_append(p->pOut, ");\n", 3);
+      qrfWrite(p);
+      break;
+    }
     default: {  /* QRF_MODE_List */
       if( p->nRow==0 && p->spec.bShowCNames ){
         for(i=0; i<p->nCol; i++){
index 3d00988def8dd388a6f40cede7043ff43b916822..c9c7f8ed3fa3f1797a4563908ef03f3e163d8dfb 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Implement\sJSON\smode.
-D 2025-10-23T16:22:01.504
+C Add\sHTML\sand\sINSERT\smodes.
+D 2025-10-23T16:40:29.012
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -417,7 +417,7 @@ F ext/misc/windirent.h 02211ce51f3034c675f2dbf4d228194d51b3ee05734678bad5106fff6
 F ext/misc/zipfile.c 09e6e3a3ff40a99677de3c0bc6569bd5f4709b1844ac3d1c1452a456c5a62f1c
 F ext/misc/zorder.c bddff2e1b9661a90c95c2a9a9c7ecd8908afab5763256294dd12d609d4664eee
 F ext/qrf/qrf-tester.c 4212d01e1408591c6e6b081d119e125c97efea5a2f97f4ff05c28b8a5e1272bc
-F ext/qrf/qrf.c a28c67a3b94877c622f089a70b2b5229460dcc4efb14cf4fd46320a1b8a24ee5
+F ext/qrf/qrf.c e707e7fd3cce002b03b3e4cc6d29f9db361868bee4477a5877808ce50151a341
 F ext/qrf/qrf.h 8ad45ac2a8661010c936778bb017cb691fddf2fe27546feb28ca67a0f88967e3
 F ext/qrf/qrf.md 4eea619191dab7bbf483eff3fe3b074a07d7c8c50bc86070a4485797d386d1ff
 F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8
@@ -2175,8 +2175,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P f6359f2fa776ef04449660a3452fdf7ee943523bf3290f3c0e15693962bca1db
-R e501606c5f55a19731b28d802dbcbb18
+P c3b6339162a4feb6de9828d613bf2c5a43f2b0e5dead9cf5c24cf78ac821b305
+R 1d591d00c80d336feb41c54837a446e3
 U drh
-Z 064a6cc1daa2659726b38baf8932124c
+Z a4468ebf3d445598a251697367a39c5a
 # Remove this line to create a well-formed Fossil manifest.
index c553b7708d62842869a8c83194b942805aa482dd..86ac249fd08ceba3590669da7cba5fe7d907d83b 100644 (file)
@@ -1 +1 @@
-c3b6339162a4feb6de9828d613bf2c5a43f2b0e5dead9cf5c24cf78ac821b305
+6d695ecdfdc5dca78b430263fc298bb6c8182a2406dc79b70f159abd37463f1e