@@ -579,6 +579,61 @@ Module constants
579
579
.. deprecated-removed :: 3.12 3.14
580
580
The :data: `!version ` and :data: `!version_info ` constants.
581
581
582
+ .. _sqlite3-fcntl-constants :
583
+
584
+ .. data :: SQLITE_FCNTL_LOCKSTATE
585
+ SQLITE_FCNTL_GET_LOCKPROXYFILE
586
+ SQLITE_FCNTL_SET_LOCKPROXYFILE
587
+ SQLITE_FCNTL_LAST_ERRNO
588
+ SQLITE_FCNTL_SIZE_HINT
589
+ SQLITE_FCNTL_CHUNK_SIZE
590
+ SQLITE_FCNTL_FILE_POINTER
591
+ SQLITE_FCNTL_SYNC_OMITTED
592
+ SQLITE_FCNTL_WIN32_AV_RETRY
593
+ SQLITE_FCNTL_PERSIST_WAL
594
+ SQLITE_FCNTL_OVERWRITE
595
+ SQLITE_FCNTL_POWERSAFE_OVERWRITE
596
+ SQLITE_FCNTL_PRAGMA
597
+ SQLITE_FCNTL_BUSYHANDLER
598
+ SQLITE_FCNTL_MMAP_SIZE
599
+ SQLITE_FCNTL_TRACE
600
+ SQLITE_FCNTL_HAS_MOVED
601
+ SQLITE_FCNTL_SYNC
602
+ SQLITE_FCNTL_COMMIT_PHASETWO
603
+ SQLITE_FCNTL_WIN32_SET_HANDLE
604
+ SQLITE_FCNTL_WAL_BLOCK
605
+ SQLITE_FCNTL_ZIPVFS
606
+ SQLITE_FCNTL_RBU
607
+ SQLITE_FCNTL_VFS_POINTER
608
+ SQLITE_FCNTL_JOURNAL_POINTER
609
+ SQLITE_FCNTL_WIN32_GET_HANDLE
610
+ SQLITE_FCNTL_PDB
611
+ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE
612
+ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE
613
+ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE
614
+ SQLITE_FCNTL_LOCK_TIMEOUT
615
+ SQLITE_FCNTL_DATA_VERSION
616
+ SQLITE_FCNTL_SIZE_LIMIT
617
+ SQLITE_FCNTL_CKPT_DONE
618
+ SQLITE_FCNTL_RESERVE_BYTES
619
+ SQLITE_FCNTL_CKPT_START
620
+ SQLITE_FCNTL_EXTERNAL_READER
621
+ SQLITE_FCNTL_CKSM_FILE
622
+ SQLITE_FCNTL_RESET_CACHE
623
+ SQLITE_FCNTL_NULL_IO
624
+
625
+ These constants are used for the :meth: `Connection.file_control ` method.
626
+
627
+ The availability of these constants varies depending on the version of SQLite
628
+ Python was compiled with.
629
+
630
+ .. versionadded :: 3.14
631
+
632
+ .. seealso ::
633
+
634
+ https://www.sqlite.org/c3ref/c_fcntl_begin_atomic_write.html
635
+ SQLite docs: Standard File Control Opcodes
636
+
582
637
.. _sqlite3-connection-objects :
583
638
584
639
Connection objects
@@ -1288,6 +1343,24 @@ Connection objects
1288
1343
1289
1344
.. versionadded :: 3.12
1290
1345
1346
+ .. method :: file_control(op, val, /, name="main")
1347
+
1348
+ Invoke a file control method on the database.
1349
+ Opcodes which take non-integer arguments are not supported.
1350
+
1351
+ :param int op:
1352
+ The :ref: `SQLITE_FCNTL_* constant <sqlite3-fcntl-constants >` to invoke.
1353
+
1354
+ :param int arg:
1355
+ The argument to pass to the operation.
1356
+
1357
+ :param str name:
1358
+ the database name to operate against.
1359
+
1360
+ :rtype: int
1361
+
1362
+ .. versionadded :: 3.14
1363
+
1291
1364
.. method :: serialize(*, name="main")
1292
1365
1293
1366
Serialize a database into a :class: `bytes ` object. For an
0 commit comments