1<?php
2
3/** @generate-class-entries */
4
5namespace Pdo;
6
7/**
8 * @strict-properties
9 * @not-serializable
10 */
11class Sqlite extends PDO
12{
13#ifdef SQLITE_DETERMINISTIC
14    /** @cvalue SQLITE_DETERMINISTIC */
15    public const int DETERMINISTIC = UNKNOWN;
16#endif
17
18    /** @cvalue SQLITE_OPEN_READONLY */
19    public const int OPEN_READONLY = UNKNOWN;
20
21    /** @cvalue SQLITE_OPEN_READWRITE */
22    public const int OPEN_READWRITE = UNKNOWN;
23
24    /** @cvalue SQLITE_OPEN_CREATE */
25    public const int OPEN_CREATE = UNKNOWN;
26
27    /** @cvalue PDO_SQLITE_ATTR_OPEN_FLAGS */
28    public const int ATTR_OPEN_FLAGS = UNKNOWN;
29
30    /** @cvalue PDO_SQLITE_ATTR_READONLY_STATEMENT */
31    public const int ATTR_READONLY_STATEMENT = UNKNOWN;
32
33    /** @cvalue PDO_SQLITE_ATTR_EXTENDED_RESULT_CODES */
34    public const int ATTR_EXTENDED_RESULT_CODES = UNKNOWN;
35
36    // Registers an aggregating User Defined Function for use in SQL statements
37    public function createAggregate(
38        string $name,
39        callable $step,
40        callable $finalize,
41        int $numArgs = -1
42    ): bool {}
43
44    // Registers a User Defined Function for use as a collating function in SQL statements
45    public function createCollation(string $name, callable $callback): bool {}
46
47    public function createFunction(
48        string $function_name,
49        callable $callback,
50        int $num_args = -1,
51        int $flags = 0
52    ): bool {}
53
54// PDO_SQLITE_OMIT_LOAD_EXTENSION might be defined by ext/pdo_sqlite/config.m4
55// if Sqlite3 did not have the sqlite3_load_extension function present
56// which can depend on how SQLite was compiled: https://www.sqlite.org/compile.html
57#ifndef PDO_SQLITE_OMIT_LOAD_EXTENSION
58    public function loadExtension(string $name): void {}
59#endif
60
61    /** @return resource|false */
62    public function openBlob(
63        string $table,
64        string $column,
65        int $rowid,
66        ?string $dbname = "main",
67        int $flags = \Pdo\Sqlite::OPEN_READONLY
68    ) {}
69}
70