PHP  
 PHP: Test and Code Coverage Analysis
downloads | QA | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
 

LCOV - code coverage report
Current view: top level - ext/sqlite3 - php_sqlite3_structs.h (source / functions) Hit Total Coverage
Test: PHP Code Coverage Lines: 6 6 100.0 %
Date: 2021-12-03 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :    +----------------------------------------------------------------------+
       3             :    | PHP Version 7                                                        |
       4             :    +----------------------------------------------------------------------+
       5             :    | Copyright (c) 1997-2018 The PHP Group                                |
       6             :    +----------------------------------------------------------------------+
       7             :    | This source file is subject to version 3.01 of the PHP license,      |
       8             :    | that is bundled with this package in the file LICENSE, and is        |
       9             :    | available through the world-wide-web at the following url:           |
      10             :    | http://www.php.net/license/3_01.txt                                  |
      11             :    | If you did not receive a copy of the PHP license and are unable to   |
      12             :    | obtain it through the world-wide-web, please send a note to          |
      13             :    | license@php.net so we can mail you a copy immediately.               |
      14             :    +----------------------------------------------------------------------+
      15             :    | Authors: Scott MacVicar <scottmac@php.net>                           |
      16             :    +----------------------------------------------------------------------+
      17             : */
      18             : 
      19             : #ifndef PHP_SQLITE_STRUCTS_H
      20             : #define PHP_SQLITE_STRUCTS_H
      21             : 
      22             : #include <sqlite3.h>
      23             : 
      24             : /* for backwards compatibility reasons */
      25             : #ifndef SQLITE_OPEN_READONLY
      26             : #define SQLITE_OPEN_READONLY 0x00000001
      27             : #endif
      28             : 
      29             : #ifndef SQLITE_OPEN_READWRITE
      30             : #define SQLITE_OPEN_READWRITE 0x00000002
      31             : #endif
      32             : 
      33             : #ifndef SQLITE_OPEN_CREATE
      34             : #define SQLITE_OPEN_CREATE 0x00000004
      35             : #endif
      36             : 
      37             : /* Structure for SQLite Statement Parameter. */
      38             : struct php_sqlite3_bound_param  {
      39             :         zend_long param_number;
      40             :         zend_string *name;
      41             :         zend_long type;
      42             :         zval parameter;
      43             : };
      44             : 
      45             : struct php_sqlite3_fci {
      46             :         zend_fcall_info fci;
      47             :         zend_fcall_info_cache fcc;
      48             : };
      49             : 
      50             : /* Structure for SQLite function. */
      51             : typedef struct _php_sqlite3_func {
      52             :         struct _php_sqlite3_func *next;
      53             : 
      54             :         const char *func_name;
      55             :         int argc;
      56             : 
      57             :         zval func, step, fini;
      58             :         struct php_sqlite3_fci afunc, astep, afini;
      59             : } php_sqlite3_func;
      60             : 
      61             : /* Structure for SQLite collation function */
      62             : typedef struct _php_sqlite3_collation {
      63             :         struct _php_sqlite3_collation *next;
      64             : 
      65             :         const char *collation_name;
      66             :         zval cmp_func;
      67             :         struct php_sqlite3_fci fci;
      68             : } php_sqlite3_collation;
      69             : 
      70             : /* Structure for SQLite Database object. */
      71             : typedef struct _php_sqlite3_db_object  {
      72             :         int initialised;
      73             :         sqlite3 *db;
      74             :         php_sqlite3_func *funcs;
      75             :         php_sqlite3_collation *collations;
      76             : 
      77             :         zend_bool exception;
      78             : 
      79             :         zend_llist free_list;
      80             :         zend_object zo;
      81             : } php_sqlite3_db_object;
      82             : 
      83         477 : static inline php_sqlite3_db_object *php_sqlite3_db_from_obj(zend_object *obj) {
      84         477 :         return (php_sqlite3_db_object*)((char*)(obj) - XtOffsetOf(php_sqlite3_db_object, zo));
      85             : }
      86             : 
      87             : #define Z_SQLITE3_DB_P(zv)  php_sqlite3_db_from_obj(Z_OBJ_P((zv)))
      88             : 
      89             : /* Structure for SQLite Database object. */
      90             : typedef struct _php_sqlite3_agg_context  {
      91             :         zval zval_context;
      92             :         zend_long row_count;
      93             : } php_sqlite3_agg_context;
      94             : 
      95             : typedef struct _php_sqlite3_stmt_object php_sqlite3_stmt;
      96             : typedef struct _php_sqlite3_result_object php_sqlite3_result;
      97             : 
      98             : /* sqlite3 objects to be destroyed */
      99             : typedef struct _php_sqlite3_free_list {
     100             :         zval stmt_obj_zval;
     101             :         php_sqlite3_stmt *stmt_obj;
     102             : } php_sqlite3_free_list;
     103             : 
     104             : /* Structure for SQLite Result object. */
     105             : struct _php_sqlite3_result_object  {
     106             :         php_sqlite3_db_object *db_obj;
     107             :         php_sqlite3_stmt *stmt_obj;
     108             :         zval stmt_obj_zval;
     109             : 
     110             :         int is_prepared_statement;
     111             :         int complete; // unused
     112             :         zend_object zo;
     113             : };
     114             : 
     115         238 : static inline php_sqlite3_result *php_sqlite3_result_from_obj(zend_object *obj) {
     116         238 :         return (php_sqlite3_result*)((char*)(obj) - XtOffsetOf(php_sqlite3_result, zo));
     117             : }
     118             : 
     119             : #define Z_SQLITE3_RESULT_P(zv)  php_sqlite3_result_from_obj(Z_OBJ_P((zv)))
     120             : 
     121             : /* Structure for SQLite Statement object. */
     122             : struct _php_sqlite3_stmt_object  {
     123             :         sqlite3_stmt *stmt;
     124             :         php_sqlite3_db_object *db_obj;
     125             :         zval db_obj_zval;
     126             : 
     127             :         int initialised;
     128             : 
     129             :         /* Keep track of the zvals for bound parameters */
     130             :         HashTable *bound_params;
     131             :         zend_object zo;
     132             : };
     133             : 
     134         232 : static inline php_sqlite3_stmt *php_sqlite3_stmt_from_obj(zend_object *obj) {
     135         232 :         return (php_sqlite3_stmt*)((char*)(obj) - XtOffsetOf(php_sqlite3_stmt, zo));
     136             : }
     137             : 
     138             : #define Z_SQLITE3_STMT_P(zv)  php_sqlite3_stmt_from_obj(Z_OBJ_P((zv)))
     139             : 
     140             : #endif
     141             : 
     142             : 
     143             : /*
     144             :  * Local variables:
     145             :  * tab-width: 4
     146             :  * c-basic-offset: 4
     147             :  * indent-tabs-mode: t
     148             :  * End:
     149             :  */

Generated by: LCOV version 1.10

Generated at Fri, 03 Dec 2021 18:13:36 +0000 (5 days ago)

Copyright © 2005-2021 The PHP Group
All rights reserved.