Skip to content

Declare ext/sqlite3 constants in stubs #9181

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 2 additions & 63 deletions ext/sqlite3/sqlite3.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@
#include "ext/standard/info.h"
#include "php_sqlite3.h"
#include "php_sqlite3_structs.h"
#include "sqlite3_arginfo.h"
#include "main/SAPI.h"

#include <sqlite3.h>

#include "zend_exceptions.h"
#include "SAPI.h"
#include "sqlite3_arginfo.h"

ZEND_DECLARE_MODULE_GLOBALS(sqlite3)

Expand Down Expand Up @@ -2390,68 +2390,7 @@ PHP_MINIT_FUNCTION(sqlite3)

REGISTER_INI_ENTRIES();

REGISTER_LONG_CONSTANT("SQLITE3_ASSOC", PHP_SQLITE3_ASSOC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SQLITE3_NUM", PHP_SQLITE3_NUM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SQLITE3_BOTH", PHP_SQLITE3_BOTH, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("SQLITE3_INTEGER", SQLITE_INTEGER, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SQLITE3_FLOAT", SQLITE_FLOAT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SQLITE3_TEXT", SQLITE3_TEXT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SQLITE3_BLOB", SQLITE_BLOB, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SQLITE3_NULL", SQLITE_NULL, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("SQLITE3_OPEN_READONLY", SQLITE_OPEN_READONLY, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SQLITE3_OPEN_READWRITE", SQLITE_OPEN_READWRITE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SQLITE3_OPEN_CREATE", SQLITE_OPEN_CREATE, CONST_CS | CONST_PERSISTENT);

/* Class constants */
zend_declare_class_constant_long(php_sqlite3_sc_entry, "OK", sizeof("OK") - 1, SQLITE_OK);

/* Constants for authorizer return */
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DENY", sizeof("DENY") - 1, SQLITE_DENY);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "IGNORE", sizeof("IGNORE") - 1, SQLITE_IGNORE);

/* Constants for authorizer actions */
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_INDEX", sizeof("CREATE_INDEX") - 1, SQLITE_CREATE_INDEX);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_TABLE", sizeof("CREATE_TABLE") - 1, SQLITE_CREATE_TABLE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_TEMP_INDEX", sizeof("CREATE_TEMP_INDEX") - 1, SQLITE_CREATE_TEMP_INDEX);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_TEMP_TABLE", sizeof("CREATE_TEMP_TABLE") - 1, SQLITE_CREATE_TEMP_TABLE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_TEMP_TRIGGER", sizeof("CREATE_TEMP_TRIGGER") - 1, SQLITE_CREATE_TEMP_TRIGGER);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_TEMP_VIEW", sizeof("CREATE_TEMP_VIEW") - 1, SQLITE_CREATE_TEMP_VIEW);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_TRIGGER", sizeof("CREATE_TRIGGER") - 1, SQLITE_CREATE_TRIGGER);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_VIEW", sizeof("CREATE_VIEW") - 1, SQLITE_CREATE_VIEW);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DELETE", sizeof("DELETE") - 1, SQLITE_DELETE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_INDEX", sizeof("DROP_INDEX") - 1, SQLITE_DROP_INDEX);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_TABLE", sizeof("DROP_TABLE") - 1, SQLITE_DROP_TABLE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_TEMP_INDEX", sizeof("DROP_TEMP_INDEX") - 1, SQLITE_DROP_TEMP_INDEX);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_TEMP_TABLE", sizeof("DROP_TEMP_TABLE") - 1, SQLITE_DROP_TEMP_TABLE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_TEMP_TRIGGER", sizeof("DROP_TEMP_TRIGGER") - 1, SQLITE_DROP_TEMP_TRIGGER);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_TEMP_VIEW", sizeof("DROP_TEMP_VIEW") - 1, SQLITE_DROP_TEMP_VIEW);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_TRIGGER", sizeof("DROP_TRIGGER") - 1, SQLITE_DROP_TRIGGER);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_VIEW", sizeof("DROP_VIEW") - 1, SQLITE_DROP_VIEW);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "INSERT", sizeof("INSERT") - 1, SQLITE_INSERT);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "PRAGMA", sizeof("PRAGMA") - 1, SQLITE_PRAGMA);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "READ", sizeof("READ") - 1, SQLITE_READ);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "SELECT", sizeof("SELECT") - 1, SQLITE_SELECT);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "TRANSACTION", sizeof("TRANSACTION") - 1, SQLITE_TRANSACTION);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "UPDATE", sizeof("UPDATE") - 1, SQLITE_UPDATE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "ATTACH", sizeof("ATTACH") - 1, SQLITE_ATTACH);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DETACH", sizeof("DETACH") - 1, SQLITE_DETACH);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "ALTER_TABLE", sizeof("ALTER_TABLE") - 1, SQLITE_ALTER_TABLE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "REINDEX", sizeof("REINDEX") - 1, SQLITE_REINDEX);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "ANALYZE", sizeof("ANALYZE") - 1, SQLITE_ANALYZE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "CREATE_VTABLE", sizeof("CREATE_VTABLE") - 1, SQLITE_CREATE_VTABLE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "DROP_VTABLE", sizeof("DROP_VTABLE") - 1, SQLITE_DROP_VTABLE);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "FUNCTION", sizeof("FUNCTION") - 1, SQLITE_FUNCTION);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "SAVEPOINT", sizeof("SAVEPOINT") - 1, SQLITE_SAVEPOINT);
zend_declare_class_constant_long(php_sqlite3_sc_entry, "COPY", sizeof("COPY") - 1, SQLITE_COPY);
#ifdef SQLITE_RECURSIVE
zend_declare_class_constant_long(php_sqlite3_sc_entry, "RECURSIVE", sizeof("RECURSIVE") - 1, SQLITE_RECURSIVE);
#endif

#ifdef SQLITE_DETERMINISTIC
REGISTER_LONG_CONSTANT("SQLITE3_DETERMINISTIC", SQLITE_DETERMINISTIC, CONST_CS | CONST_PERSISTENT);
#endif
register_sqlite3_symbols(module_number);

return SUCCESS;
}
Expand Down
260 changes: 260 additions & 0 deletions ext/sqlite3/sqlite3.stub.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,269 @@

/** @generate-class-entries */

/**
* @var int
* @cvalue PHP_SQLITE3_ASSOC
*/
const SQLITE3_ASSOC = UNKNOWN;
/**
* @var int
* @cvalue PHP_SQLITE3_NUM
*/
const SQLITE3_NUM = UNKNOWN;
/**
* @var int
* @cvalue PHP_SQLITE3_BOTH
*/
const SQLITE3_BOTH = UNKNOWN;

/**
* @var int
* @cvalue SQLITE_INTEGER
*/
const SQLITE3_INTEGER = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_FLOAT
*/
const SQLITE3_FLOAT = UNKNOWN;
/**
* @var int
* @cvalue SQLITE3_TEXT
*/
const SQLITE3_TEXT = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_BLOB
*/
const SQLITE3_BLOB = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_NULL
*/
const SQLITE3_NULL = UNKNOWN;

/**
* @var int
* @cvalue SQLITE_OPEN_READONLY
*/
const SQLITE3_OPEN_READONLY = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_OPEN_READWRITE
*/
const SQLITE3_OPEN_READWRITE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_OPEN_CREATE
*/
const SQLITE3_OPEN_CREATE = UNKNOWN;

#ifdef SQLITE_DETERMINISTIC
/**
* @var int
* @cvalue SQLITE_DETERMINISTIC
*/
const SQLITE3_DETERMINISTIC = UNKNOWN;
#endif

/** @not-serializable */
class SQLite3
{
/**
* @var int
* @cvalue SQLITE_OK
*/
public const OK = UNKNOWN;

/* Constants for authorizer return */

/**
* @var int
* @cvalue SQLITE_DENY
*/
public const DENY = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_IGNORE
*/
public const IGNORE = UNKNOWN;

/* Constants for authorizer actions */

/**
* @var int
* @cvalue SQLITE_CREATE_INDEX
*/
public const CREATE_INDEX = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_CREATE_TABLE
*/
public const CREATE_TABLE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_CREATE_TEMP_INDEX
*/
public const CREATE_TEMP_INDEX = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_CREATE_TEMP_TABLE
*/
public const CREATE_TEMP_TABLE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_CREATE_TEMP_TRIGGER
*/
public const CREATE_TEMP_TRIGGER = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_CREATE_TEMP_VIEW
*/
public const CREATE_TEMP_VIEW = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_CREATE_TRIGGER
*/
public const CREATE_TRIGGER = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_CREATE_VIEW
*/
public const CREATE_VIEW = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DELETE
*/
public const DELETE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_INDEX
*/
public const DROP_INDEX = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_TABLE
*/
public const DROP_TABLE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_TEMP_INDEX
*/
public const DROP_TEMP_INDEX = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_TEMP_TABLE
*/
public const DROP_TEMP_TABLE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_TEMP_TRIGGER
*/
public const DROP_TEMP_TRIGGER = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_TEMP_VIEW
*/
public const DROP_TEMP_VIEW = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_TRIGGER
*/
public const DROP_TRIGGER = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_VIEW
*/
public const DROP_VIEW = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_INSERT
*/
public const INSERT = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_PRAGMA
*/
public const PRAGMA = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_READ
*/
public const READ = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_SELECT
*/
public const SELECT = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_TRANSACTION
*/
public const TRANSACTION = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_UPDATE
*/
public const UPDATE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_ATTACH
*/
public const ATTACH = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DETACH
*/
public const DETACH = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_ALTER_TABLE
*/
public const ALTER_TABLE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_REINDEX
*/
public const REINDEX = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_ANALYZE
*/
public const ANALYZE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_CREATE_VTABLE
*/
public const CREATE_VTABLE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_DROP_VTABLE
*/
public const DROP_VTABLE = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_FUNCTION
*/
public const FUNCTION = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_SAVEPOINT
*/
public const SAVEPOINT = UNKNOWN;
/**
* @var int
* @cvalue SQLITE_COPY
*/
public const COPY = UNKNOWN;
#ifdef SQLITE_RECURSIVE
/**
* @var int
* @cvalue SQLITE_RECURSIVE
*/
public const RECURSIVE = UNKNOWN;
#endif

/**
* @implementation-alias SQLite3::open
* @no-verify SQLite3::open should really be static
Expand Down
Loading