From 059ab60af5ac089a35ccb574f661fe6752aa5221 Mon Sep 17 00:00:00 2001 From: Timothy J Warren Date: Tue, 28 Feb 2017 16:37:16 -0500 Subject: [PATCH] Update docs --- docs/.htaccess | 5 + docs/classes.html | 320 -- docs/classes/Exception.html | 131 - docs/classes/Exception/__clone.html | 84 - docs/classes/Exception/__construct.html | 107 - docs/classes/Exception/__toString.html | 84 - docs/classes/Exception/getCode.html | 84 - docs/classes/Exception/getFile.html | 84 - docs/classes/Exception/getLine.html | 84 - docs/classes/Exception/getMessage.html | 84 - docs/classes/Exception/getPrevious.html | 84 - docs/classes/Exception/getTrace.html | 84 - docs/classes/Exception/getTraceAsString.html | 84 - docs/classes/InvalidArgumentException.html | 149 - .../InvalidArgumentException/__clone.html | 84 - .../InvalidArgumentException/__toString.html | 84 - .../InvalidArgumentException/getCode.html | 84 - .../InvalidArgumentException/getFile.html | 84 - .../InvalidArgumentException/getLine.html | 84 - .../InvalidArgumentException/getMessage.html | 84 - .../InvalidArgumentException/getPrevious.html | 84 - .../InvalidArgumentException/getTrace.html | 84 - .../getTraceAsString.html | 84 - docs/classes/LogicException.html | 149 - docs/classes/LogicException/__clone.html | 84 - docs/classes/LogicException/__toString.html | 84 - docs/classes/LogicException/getCode.html | 84 - docs/classes/LogicException/getFile.html | 84 - docs/classes/LogicException/getLine.html | 84 - docs/classes/LogicException/getMessage.html | 84 - docs/classes/LogicException/getPrevious.html | 84 - docs/classes/LogicException/getTrace.html | 84 - .../LogicException/getTraceAsString.html | 84 - docs/classes/PDO.html | 153 - docs/classes/PDO/__construct.html | 115 - docs/classes/PDO/beginTransaction.html | 86 - docs/classes/PDO/commit.html | 86 - docs/classes/PDO/errorCode.html | 86 - docs/classes/PDO/errorInfo.html | 86 - docs/classes/PDO/exec.html | 97 - docs/classes/PDO/getAttribute.html | 97 - docs/classes/PDO/getAvailableDrivers.html | 86 - docs/classes/PDO/inTransaction.html | 86 - docs/classes/PDO/lastInsertId.html | 97 - docs/classes/PDO/prepare.html | 103 - docs/classes/PDO/query.html | 97 - docs/classes/PDO/quote.html | 103 - docs/classes/PDO/rollBack.html | 86 - docs/classes/PDO/setAttribute.html | 103 - docs/classes/PDOStatement.html | 191 - docs/classes/PDOStatement/bindColumn.html | 121 - docs/classes/PDOStatement/bindParam.html | 121 - docs/classes/PDOStatement/bindValue.html | 109 - docs/classes/PDOStatement/closeCursor.html | 86 - docs/classes/PDOStatement/columnCount.html | 86 - .../classes/PDOStatement/debugDumpParams.html | 86 - docs/classes/PDOStatement/errorCode.html | 86 - docs/classes/PDOStatement/errorInfo.html | 86 - docs/classes/PDOStatement/execute.html | 97 - docs/classes/PDOStatement/fetch.html | 109 - docs/classes/PDOStatement/fetchAll.html | 109 - docs/classes/PDOStatement/fetchColumn.html | 97 - docs/classes/PDOStatement/fetchObject.html | 101 - docs/classes/PDOStatement/getAttribute.html | 97 - docs/classes/PDOStatement/getColumnMeta.html | 97 - docs/classes/PDOStatement/nextRowset.html | 86 - docs/classes/PDOStatement/rowCount.html | 86 - docs/classes/PDOStatement/setAttribute.html | 103 - docs/classes/PDOStatement/setFetchMode.html | 97 - docs/classes/Query.AbstractQueryBuilder.html | 1677 ++++++++ docs/classes/Query.BadDBDriverException.html | 442 ++ docs/classes/Query.ConnectionManager.html | 833 ++++ docs/classes/Query.DriverFactory.html | 440 ++ .../classes/Query.Drivers.AbstractDriver.html | 1844 ++++++++ docs/classes/Query.Drivers.AbstractSQL.html | 495 +++ docs/classes/Query.Drivers.AbstractUtil.html | 765 ++++ .../Query.Drivers.DriverInterface.html | 1847 ++++++++ .../Query.Drivers.Firebird.Driver.html | 2540 +++++++++++ .../Query.Drivers.Firebird.Result.html | 1062 +++++ docs/classes/Query.Drivers.Firebird.SQL.html | 933 ++++ docs/classes/Query.Drivers.Firebird.Util.html | 787 ++++ docs/classes/Query.Drivers.Mysql.Driver.html | 1930 +++++++++ docs/classes/Query.Drivers.Mysql.SQL.html | 941 +++++ docs/classes/Query.Drivers.Mysql.Util.html | 786 ++++ docs/classes/Query.Drivers.PDOInterface.html | 964 +++++ .../Query.Drivers.PDOStatementInterface.html | 1074 +++++ docs/classes/Query.Drivers.Pgsql.Driver.html | 1930 +++++++++ docs/classes/Query.Drivers.Pgsql.SQL.html | 935 ++++ docs/classes/Query.Drivers.Pgsql.Util.html | 786 ++++ docs/classes/Query.Drivers.SQLInterface.html | 911 ++++ docs/classes/Query.Drivers.Sqlite.Driver.html | 1925 +++++++++ docs/classes/Query.Drivers.Sqlite.SQL.html | 935 ++++ docs/classes/Query.Drivers.Sqlite.Util.html | 860 ++++ docs/classes/Query.QueryBuilder.html | 3746 +++++++++++++++++ docs/classes/Query.QueryBuilderInterface.html | 2247 ++++++++++ docs/classes/Query.QueryParser.html | 671 +++ docs/classes/Query.State.html | 803 ++++ docs/classes/Query_AbstractDriver.html | 505 --- docs/classes/Query_AbstractDriver/__call.html | 116 - .../Query_AbstractDriver/__construct.html | 129 - .../_load_sub_classes.html | 110 - .../classes/Query_AbstractDriver/_prefix.html | 370 -- docs/classes/Query_AbstractDriver/_quote.html | 362 -- .../Query_AbstractDriver/affected_rows.html | 112 - .../Query_AbstractDriver/driver_query.html | 200 - .../Query_AbstractDriver/get_columns.html | 126 - .../classes/Query_AbstractDriver/get_dbs.html | 114 - .../classes/Query_AbstractDriver/get_fks.html | 126 - .../Query_AbstractDriver/get_functions.html | 115 - .../Query_AbstractDriver/get_indexes.html | 126 - .../Query_AbstractDriver/get_last_query.html | 157 - .../Query_AbstractDriver/get_procedures.html | 115 - .../Query_AbstractDriver/get_schemas.html | 104 - .../Query_AbstractDriver/get_sequences.html | 115 - .../classes/Query_AbstractDriver/get_sql.html | 186 - .../get_system_tables.html | 115 - .../Query_AbstractDriver/get_tables.html | 149 - .../Query_AbstractDriver/get_triggers.html | 115 - .../Query_AbstractDriver/get_types.html | 115 - .../Query_AbstractDriver/get_util.html | 127 - .../Query_AbstractDriver/get_views.html | 115 - .../Query_AbstractDriver/insert_batch.html | 132 - .../Query_AbstractDriver/num_rows.html | 123 - .../Query_AbstractDriver/prefix_table.html | 379 -- .../Query_AbstractDriver/prepare_execute.html | 243 -- .../Query_AbstractDriver/prepare_query.html | 260 -- .../Query_AbstractDriver/quote_ident.html | 371 -- .../Query_AbstractDriver/quote_table.html | 371 -- .../Query_AbstractDriver/set_last_query.html | 337 -- .../set_table_prefix.html | 117 - .../Query_AbstractDriver/truncate.html | 118 - docs/classes/Query_AbstractQueryBuilder.html | 436 -- .../_append_map.html | 266 -- .../_append_query.html | 349 -- .../Query_AbstractQueryBuilder/_compile.html | 351 -- .../_compile_type.html | 351 -- .../_get_compile.html | 142 - .../Query_AbstractQueryBuilder/_having.html | 134 - .../Query_AbstractQueryBuilder/_like.html | 162 - .../_mixed_set.html | 259 -- .../Query_AbstractQueryBuilder/_run.html | 355 -- .../Query_AbstractQueryBuilder/_select.html | 139 - .../Query_AbstractQueryBuilder/_where.html | 227 - .../Query_AbstractQueryBuilder/_where_in.html | 148 - .../_where_string.html | 226 - docs/classes/Query_AbstractSQL.html | 254 -- docs/classes/Query_AbstractSQL/limit.html | 168 - docs/classes/Query_AbstractUtil.html | 300 -- .../Query_AbstractUtil/__construct.html | 112 - .../Query_AbstractUtil/backup_data.html | 99 - .../Query_AbstractUtil/backup_structure.html | 99 - .../Query_AbstractUtil/create_table.html | 134 - .../Query_AbstractUtil/delete_table.html | 114 - .../Query_AbstractUtil/get_driver.html | 115 - docs/classes/Query_BadDBDriverException.html | 305 -- docs/classes/Query_ConnectionManager.html | 316 -- .../Query_ConnectionManager/__clone.html | 107 - .../Query_ConnectionManager/__construct.html | 91 - .../Query_ConnectionManager/__sleep.html | 107 - .../Query_ConnectionManager/__wakeup.html | 107 - .../Query_ConnectionManager/connect.html | 121 - .../Query_ConnectionManager/create_dsn.html | 116 - .../get_connection.html | 136 - .../Query_ConnectionManager/get_instance.html | 115 - .../Query_ConnectionManager/parse_params.html | 133 - .../Query_Drivers_Firebird_Driver.html | 585 --- .../__construct.html | 136 - .../__destruct.html | 91 - .../beginTransaction.html | 126 - .../Query_Drivers_Firebird_Driver/commit.html | 124 - .../errorCode.html | 124 - .../errorInfo.html | 124 - .../Query_Drivers_Firebird_Driver/exec.html | 134 - .../getAttribute.html | 134 - .../get_service.html | 103 - .../inTransaction.html | 115 - .../insert_batch.html | 140 - .../lastInsertId.html | 125 - .../prepare.html | 180 - .../prepare_execute.html | 176 - .../prepare_query.html | 141 - .../Query_Drivers_Firebird_Driver/query.html | 192 - .../Query_Drivers_Firebird_Driver/quote.html | 147 - .../rollBack.html | 116 - .../setAttribute.html | 141 - .../Query_Drivers_Firebird_Result.html | 449 -- .../__construct.html | 201 - .../bindColumn.html | 150 - .../bindParam.html | 150 - .../bindValue.html | 138 - .../errorCode.html | 114 - .../errorInfo.html | 114 - .../execute.html | 162 - .../Query_Drivers_Firebird_Result/fetch.html | 174 - .../fetchAll.html | 173 - .../fetchColumn.html | 126 - .../fetchObject.html | 132 - .../rowCount.html | 115 - docs/classes/Query_Drivers_Firebird_SQL.html | 332 -- .../column_list.html | 123 - .../Query_Drivers_Firebird_SQL/db_list.html | 113 - .../Query_Drivers_Firebird_SQL/explain.html | 123 - .../Query_Drivers_Firebird_SQL/fk_list.html | 123 - .../function_list.html | 112 - .../index_list.html | 123 - .../Query_Drivers_Firebird_SQL/limit.html | 162 - .../procedure_list.html | 112 - .../Query_Drivers_Firebird_SQL/random.html | 112 - .../sequence_list.html | 112 - .../system_table_list.html | 112 - .../table_list.html | 143 - .../trigger_list.html | 112 - .../Query_Drivers_Firebird_SQL/type_list.html | 113 - .../Query_Drivers_Firebird_SQL/view_list.html | 112 - docs/classes/Query_Drivers_Firebird_Util.html | 312 -- .../backup_data.html | 131 - .../backup_structure.html | 114 - .../create_table.html | 139 - .../delete_table.html | 125 - docs/classes/Query_Drivers_Mysql_Driver.html | 499 --- .../__construct.html | 120 - docs/classes/Query_Drivers_Mysql_SQL.html | 332 -- .../Query_Drivers_Mysql_SQL/column_list.html | 123 - .../Query_Drivers_Mysql_SQL/db_list.html | 112 - .../Query_Drivers_Mysql_SQL/explain.html | 123 - .../Query_Drivers_Mysql_SQL/fk_list.html | 123 - .../function_list.html | 112 - .../Query_Drivers_Mysql_SQL/index_list.html | 123 - .../Query_Drivers_Mysql_SQL/limit.html | 162 - .../procedure_list.html | 112 - .../Query_Drivers_Mysql_SQL/random.html | 112 - .../sequence_list.html | 113 - .../system_table_list.html | 112 - .../Query_Drivers_Mysql_SQL/table_list.html | 125 - .../Query_Drivers_Mysql_SQL/trigger_list.html | 112 - .../Query_Drivers_Mysql_SQL/type_list.html | 112 - .../Query_Drivers_Mysql_SQL/view_list.html | 112 - docs/classes/Query_Drivers_Mysql_Util.html | 306 -- .../Query_Drivers_Mysql_Util/backup_data.html | 125 - .../backup_structure.html | 114 - docs/classes/Query_Drivers_Pgsql_Driver.html | 505 --- .../__construct.html | 120 - .../Query_Drivers_Pgsql_Driver/get_fks.html | 134 - .../get_schemas.html | 114 - docs/classes/Query_Drivers_Pgsql_SQL.html | 329 -- .../Query_Drivers_Pgsql_SQL/column_list.html | 123 - .../Query_Drivers_Pgsql_SQL/db_list.html | 112 - .../Query_Drivers_Pgsql_SQL/explain.html | 123 - .../Query_Drivers_Pgsql_SQL/fk_list.html | 123 - .../function_list.html | 113 - .../Query_Drivers_Pgsql_SQL/index_list.html | 123 - .../procedure_list.html | 112 - .../Query_Drivers_Pgsql_SQL/random.html | 112 - .../sequence_list.html | 112 - .../system_table_list.html | 112 - .../Query_Drivers_Pgsql_SQL/table_list.html | 114 - .../Query_Drivers_Pgsql_SQL/trigger_list.html | 112 - .../Query_Drivers_Pgsql_SQL/type_list.html | 112 - .../Query_Drivers_Pgsql_SQL/view_list.html | 112 - docs/classes/Query_Drivers_Pgsql_Util.html | 322 -- .../Query_Drivers_Pgsql_Util/backup_data.html | 125 - .../backup_structure.html | 129 - docs/classes/Query_Drivers_Sqlite_Driver.html | 523 --- .../__construct.html | 129 - .../Query_Drivers_Sqlite_Driver/get_fks.html | 134 - .../get_tables.html | 125 - .../insert_batch.html | 136 - docs/classes/Query_Drivers_Sqlite_SQL.html | 341 -- .../Query_Drivers_Sqlite_SQL/column_list.html | 123 - .../Query_Drivers_Sqlite_SQL/db_list.html | 112 - .../Query_Drivers_Sqlite_SQL/explain.html | 123 - .../Query_Drivers_Sqlite_SQL/fk_list.html | 123 - .../function_list.html | 114 - .../Query_Drivers_Sqlite_SQL/index_list.html | 123 - .../procedure_list.html | 114 - .../Query_Drivers_Sqlite_SQL/random.html | 112 - .../sequence_list.html | 114 - .../system_table_list.html | 113 - .../Query_Drivers_Sqlite_SQL/table_list.html | 114 - .../trigger_list.html | 112 - .../Query_Drivers_Sqlite_SQL/type_list.html | 113 - .../Query_Drivers_Sqlite_SQL/view_list.html | 112 - docs/classes/Query_Drivers_Sqlite_Util.html | 306 -- .../backup_data.html | 125 - .../backup_structure.html | 114 - docs/classes/Query_QueryBuilder.html | 601 --- docs/classes/Query_QueryBuilder/__call.html | 180 - .../Query_QueryBuilder/__construct.html | 114 - .../Query_QueryBuilder/__destruct.html | 91 - .../classes/Query_QueryBuilder/count_all.html | 126 - .../Query_QueryBuilder/count_all_results.html | 130 - docs/classes/Query_QueryBuilder/delete.html | 137 - docs/classes/Query_QueryBuilder/distinct.html | 116 - docs/classes/Query_QueryBuilder/explain.html | 116 - docs/classes/Query_QueryBuilder/from.html | 310 -- docs/classes/Query_QueryBuilder/get.html | 314 -- .../get_compiled_delete.html | 132 - .../get_compiled_insert.html | 132 - .../get_compiled_select.html | 133 - .../get_compiled_update.html | 132 - .../classes/Query_QueryBuilder/get_where.html | 145 - docs/classes/Query_QueryBuilder/group_by.html | 139 - .../classes/Query_QueryBuilder/group_end.html | 128 - .../Query_QueryBuilder/group_start.html | 128 - docs/classes/Query_QueryBuilder/having.html | 137 - docs/classes/Query_QueryBuilder/insert.html | 141 - .../Query_QueryBuilder/insert_batch.html | 133 - docs/classes/Query_QueryBuilder/join.html | 151 - docs/classes/Query_QueryBuilder/like.html | 159 - docs/classes/Query_QueryBuilder/limit.html | 197 - docs/classes/Query_QueryBuilder/not_like.html | 139 - .../Query_QueryBuilder/or_group_start.html | 116 - .../classes/Query_QueryBuilder/or_having.html | 133 - docs/classes/Query_QueryBuilder/or_like.html | 139 - .../or_not_group_start.html | 120 - .../Query_QueryBuilder/or_not_like.html | 139 - docs/classes/Query_QueryBuilder/or_where.html | 137 - .../Query_QueryBuilder/or_where_in.html | 133 - .../Query_QueryBuilder/or_where_not_in.html | 133 - docs/classes/Query_QueryBuilder/order_by.html | 145 - .../Query_QueryBuilder/reset_query.html | 348 -- docs/classes/Query_QueryBuilder/select.html | 195 - .../Query_QueryBuilder/select_avg.html | 133 - .../Query_QueryBuilder/select_max.html | 133 - .../Query_QueryBuilder/select_min.html | 133 - .../Query_QueryBuilder/select_sum.html | 137 - docs/classes/Query_QueryBuilder/set.html | 161 - docs/classes/Query_QueryBuilder/update.html | 141 - docs/classes/Query_QueryBuilder/where.html | 235 -- docs/classes/Query_QueryBuilder/where_in.html | 133 - .../Query_QueryBuilder/where_not_in.html | 133 - docs/classes/Query_QueryParser.html | 308 -- .../Query_QueryParser/__construct.html | 111 - .../Query_QueryParser/compile_join.html | 129 - .../Query_QueryParser/filter_array.html | 132 - .../classes/Query_QueryParser/parse_join.html | 132 - docs/css/bootstrap-combined.no-icons.min.css | 732 ++++ docs/css/font-awesome.min.css | 403 ++ docs/css/jquery.iviewer.css | 65 + .../css/phpdocumentor-clean-icons/Read Me.txt | 3 + .../fonts/phpdocumentor-clean-icons.dev.svg | 17 + .../fonts/phpdocumentor-clean-icons.eot | Bin 0 -> 2324 bytes .../fonts/phpdocumentor-clean-icons.svg | 17 + .../fonts/phpdocumentor-clean-icons.ttf | Bin 0 -> 2080 bytes .../fonts/phpdocumentor-clean-icons.woff | Bin 0 -> 1832 bytes docs/css/phpdocumentor-clean-icons/lte-ie7.js | 30 + docs/css/phpdocumentor-clean-icons/style.css | 48 + docs/css/prism.css | 204 + docs/css/source.css | 184 - docs/css/style.css | 435 -- docs/css/template.css | 429 ++ docs/files/Query.AbstractQueryBuilder.html | 391 ++ docs/files/Query.BadDBDriverException.html | 391 ++ docs/files/Query.ConnectionManager.html | 392 ++ docs/files/Query.DriverFactory.html | 391 ++ docs/files/Query.Drivers.AbstractDriver.html | 391 ++ docs/files/Query.Drivers.AbstractSQL.html | 391 ++ docs/files/Query.Drivers.AbstractUtil.html | 391 ++ docs/files/Query.Drivers.DriverInterface.html | 391 ++ docs/files/Query.Drivers.Firebird.Driver.html | 391 ++ docs/files/Query.Drivers.Firebird.Result.html | 392 ++ docs/files/Query.Drivers.Firebird.SQL.html | 391 ++ docs/files/Query.Drivers.Firebird.Util.html | 391 ++ docs/files/Query.Drivers.Mysql.Driver.html | 391 ++ docs/files/Query.Drivers.Mysql.SQL.html | 391 ++ docs/files/Query.Drivers.Mysql.Util.html | 391 ++ docs/files/Query.Drivers.PDOInterface.html | 391 ++ .../Query.Drivers.PDOStatementInterface.html | 391 ++ docs/files/Query.Drivers.Pgsql.Driver.html | 391 ++ docs/files/Query.Drivers.Pgsql.SQL.html | 391 ++ docs/files/Query.Drivers.Pgsql.Util.html | 391 ++ docs/files/Query.Drivers.SQLInterface.html | 391 ++ docs/files/Query.Drivers.Sqlite.Driver.html | 391 ++ docs/files/Query.Drivers.Sqlite.SQL.html | 391 ++ docs/files/Query.Drivers.Sqlite.Util.html | 391 ++ docs/files/Query.QueryBuilder.html | 391 ++ docs/files/Query.QueryBuilderInterface.html | 391 ++ docs/files/Query.QueryParser.html | 391 ++ docs/files/Query.State.html | 391 ++ docs/files/Query/AbstractQueryBuilder.php.txt | 611 +++ docs/files/Query/BadDBDriverException.php.txt | 26 + docs/files/Query/ConnectionManager.php.txt | 250 ++ docs/files/Query/DriverFactory.php.txt | 19 + .../Query/Drivers/AbstractDriver.php.txt | 642 +++ docs/files/Query/Drivers/AbstractSQL.php.txt | 46 + docs/files/Query/Drivers/AbstractUtil.php.txt | 126 + .../Query/Drivers/DriverInterface.php.txt | 230 + .../Query/Drivers/Firebird/Driver.php.txt | 370 ++ .../Query/Drivers/Firebird/Result.php.txt | 270 ++ docs/files/Query/Drivers/Firebird/SQL.php.txt | 287 ++ .../files/Query/Drivers/Firebird/Util.php.txt | 127 + docs/files/Query/Drivers/Mysql/Driver.php.txt | 66 + docs/files/Query/Drivers/Mysql/SQL.php.txt | 206 + docs/files/Query/Drivers/Mysql/Util.php.txt | 126 + docs/files/Query/Drivers/PDOInterface.php.txt | 147 + .../Drivers/PDOStatementInterface.php.txt | 176 + docs/files/Query/Drivers/Pgsql/Driver.php.txt | 94 + docs/files/Query/Drivers/Pgsql/SQL.php.txt | 276 ++ docs/files/Query/Drivers/Pgsql/Util.php.txt | 97 + docs/files/Query/Drivers/SQLInterface.php.txt | 139 + .../files/Query/Drivers/Sqlite/Driver.php.txt | 143 + docs/files/Query/Drivers/Sqlite/SQL.php.txt | 177 + docs/files/Query/Drivers/Sqlite/Util.php.txt | 122 + docs/files/Query/QueryBuilder.php.txt | 896 ++++ .../files/Query/QueryBuilderInterface.php.txt | 535 +++ docs/files/Query/QueryParser.php.txt | 127 + docs/files/Query/State.php.txt | 123 + docs/files/common.html | 676 +++ docs/files/common.php.txt | 186 + docs/font/FontAwesome.otf | Bin 0 -> 75188 bytes docs/font/fontawesome-webfont.eot | Bin 0 -> 72449 bytes docs/font/fontawesome-webfont.svg | 504 +++ docs/font/fontawesome-webfont.ttf | Bin 0 -> 141564 bytes docs/font/fontawesome-webfont.woff | Bin 0 -> 83760 bytes docs/graphs/class.html | 172 + docs/graphs/classes.svg | 325 ++ docs/images/apple-touch-icon-114x114.png | Bin 0 -> 28338 bytes docs/images/apple-touch-icon-72x72.png | Bin 0 -> 12751 bytes docs/images/apple-touch-icon.png | Bin 0 -> 8358 bytes docs/images/custom-icons.svg | 116 + docs/images/favicon.ico | Bin 0 -> 1150 bytes docs/images/hierarchy-item.png | Bin 0 -> 236 bytes docs/images/icon-class-13x13.png | Bin 0 -> 428 bytes docs/images/icon-class.svg | 77 + docs/images/icon-interface-13x13.png | Bin 0 -> 308 bytes docs/images/icon-interface.svg | 73 + docs/images/icon-trait-13x13.png | Bin 0 -> 340 bytes docs/images/icon-trait.svg | 73 + docs/images/iviewer/grab.cur | Bin 0 -> 1150 bytes docs/images/iviewer/hand.cur | Bin 0 -> 1150 bytes docs/images/iviewer/iviewer.rotate_left.png | Bin 0 -> 1493 bytes docs/images/iviewer/iviewer.rotate_right.png | Bin 0 -> 1482 bytes docs/images/iviewer/iviewer.zoom_fit.png | Bin 0 -> 1252 bytes docs/images/iviewer/iviewer.zoom_in.png | Bin 0 -> 1420 bytes docs/images/iviewer/iviewer.zoom_out.png | Bin 0 -> 1416 bytes docs/images/iviewer/iviewer.zoom_zero.png | Bin 0 -> 1091 bytes docs/interfaces.html | 90 - docs/interfaces/Query_DriverInterface.html | 184 - .../Query_DriverInterface/__construct.html | 108 - .../Query_DriverInterface/affected_rows.html | 87 - .../beginTransaction.html | 88 - .../Query_DriverInterface/commit.html | 88 - .../Query_DriverInterface/driver_query.html | 104 - .../Query_DriverInterface/errorCode.html | 87 - .../Query_DriverInterface/errorInfo.html | 87 - .../Query_DriverInterface/exec.html | 98 - .../Query_DriverInterface/getAttribute.html | 98 - .../Query_DriverInterface/get_columns.html | 98 - .../Query_DriverInterface/get_dbs.html | 87 - .../Query_DriverInterface/get_fks.html | 98 - .../Query_DriverInterface/get_functions.html | 87 - .../Query_DriverInterface/get_indexes.html | 98 - .../Query_DriverInterface/get_procedures.html | 87 - .../Query_DriverInterface/get_sequences.html | 87 - .../Query_DriverInterface/get_sql.html | 88 - .../get_system_tables.html | 87 - .../Query_DriverInterface/get_tables.html | 87 - .../Query_DriverInterface/get_triggers.html | 87 - .../Query_DriverInterface/get_types.html | 87 - .../Query_DriverInterface/get_util.html | 88 - .../Query_DriverInterface/get_views.html | 87 - .../Query_DriverInterface/insert_batch.html | 104 - .../Query_DriverInterface/num_rows.html | 87 - .../Query_DriverInterface/prefix_table.html | 98 - .../prepare_execute.html | 105 - .../Query_DriverInterface/prepare_query.html | 117 - .../Query_DriverInterface/quote_ident.html | 99 - .../Query_DriverInterface/quote_table.html | 99 - .../Query_DriverInterface/rollback.html | 88 - .../Query_DriverInterface/setAttribute.html | 105 - .../Query_QueryBuilderInterface.html | 214 - .../count_all.html | 98 - .../count_all_results.html | 98 - .../Query_QueryBuilderInterface/delete.html | 105 - .../Query_QueryBuilderInterface/distinct.html | 88 - .../Query_QueryBuilderInterface/explain.html | 88 - .../Query_QueryBuilderInterface/from.html | 99 - .../Query_QueryBuilderInterface/get.html | 111 - .../get_compiled_delete.html | 104 - .../get_compiled_insert.html | 104 - .../get_compiled_select.html | 104 - .../get_compiled_update.html | 104 - .../get_where.html | 117 - .../Query_QueryBuilderInterface/group_by.html | 99 - .../group_end.html | 88 - .../group_start.html | 88 - .../Query_QueryBuilderInterface/having.html | 105 - .../Query_QueryBuilderInterface/insert.html | 105 - .../insert_batch.html | 105 - .../Query_QueryBuilderInterface/join.html | 111 - .../Query_QueryBuilderInterface/like.html | 111 - .../Query_QueryBuilderInterface/limit.html | 105 - .../Query_QueryBuilderInterface/not_like.html | 111 - .../or_group_start.html | 88 - .../or_having.html | 105 - .../Query_QueryBuilderInterface/or_like.html | 111 - .../or_not_group_start.html | 88 - .../or_not_like.html | 111 - .../Query_QueryBuilderInterface/or_where.html | 105 - .../or_where_in.html | 105 - .../or_where_not_in.html | 105 - .../Query_QueryBuilderInterface/order_by.html | 105 - .../reset_query.html | 88 - .../Query_QueryBuilderInterface/select.html | 99 - .../select_avg.html | 105 - .../select_max.html | 105 - .../select_min.html | 105 - .../select_sum.html | 105 - .../Query_QueryBuilderInterface/set.html | 105 - .../Query_QueryBuilderInterface/update.html | 105 - .../Query_QueryBuilderInterface/where.html | 111 - .../Query_QueryBuilderInterface/where_in.html | 105 - .../where_not_in.html | 105 - docs/interfaces/Query_SQLInterface.html | 133 - .../Query_SQLInterface/column_list.html | 98 - .../Query_SQLInterface/db_list.html | 87 - .../Query_SQLInterface/explain.html | 98 - .../Query_SQLInterface/fk_list.html | 98 - .../Query_SQLInterface/function_list.html | 88 - .../Query_SQLInterface/index_list.html | 98 - docs/interfaces/Query_SQLInterface/limit.html | 110 - .../Query_SQLInterface/procedure_list.html | 87 - .../interfaces/Query_SQLInterface/random.html | 87 - .../Query_SQLInterface/sequence_list.html | 87 - .../Query_SQLInterface/system_table_list.html | 87 - .../Query_SQLInterface/table_list.html | 87 - .../Query_SQLInterface/trigger_list.html | 87 - .../Query_SQLInterface/type_list.html | 88 - .../Query_SQLInterface/view_list.html | 87 - docs/interfaces/Traversable.html | 72 - docs/js/bootstrap.min.js | 7 + docs/js/html5.js | 8 + docs/js/jquery-1.11.0.min.js | 4 + docs/js/jquery.dotdotdot-1.5.9.js | 602 +++ docs/js/jquery.dotdotdot-1.5.9.min.js | 15 + docs/js/jquery.iviewer.js | 1169 +++++ docs/js/jquery.iviewer.min.js | 47 + docs/js/jquery.mousewheel.js | 201 + docs/js/jquery.smooth-scroll.js | 32 + docs/js/prism.min.js | 16 + docs/js/ui/1.10.4/jquery-ui.min.js | 7 + docs/namespaces.html | 104 - docs/namespaces/Query.Drivers.Firebird.html | 345 ++ docs/namespaces/Query.Drivers.Mysql.html | 340 ++ docs/namespaces/Query.Drivers.Pgsql.html | 340 ++ docs/namespaces/Query.Drivers.Sqlite.html | 340 ++ docs/namespaces/Query.Drivers.html | 372 ++ docs/namespaces/Query.html | 366 ++ docs/namespaces/default.html | 617 +++ docs/reports/deprecated.html | 162 + docs/reports/errors.html | 951 +++++ docs/reports/markers.html | 161 + docs/source/Query/AbstractDriver.php.html | 259 -- .../Query/AbstractQueryBuilder.php.html | 311 -- docs/source/Query/AbstractSQL.php.html | 15 - docs/source/Query/AbstractUtil.php.html | 43 - .../Query/BadDBDriverException.php.html | 5 - docs/source/Query/ConnectionManager.php.html | 99 - docs/source/Query/DriverInterface.php.html | 3 - .../Query/Drivers/Firebird/Driver.php.html | 119 - .../Query/Drivers/Firebird/Result.php.html | 103 - .../Query/Drivers/Firebird/SQL.php.html | 55 - .../Query/Drivers/Firebird/Util.php.html | 67 - .../Query/Drivers/Mysql/Driver.php.html | 3 - docs/source/Query/Drivers/Mysql/SQL.php.html | 43 - docs/source/Query/Drivers/Mysql/Util.php.html | 81 - .../Query/Drivers/Pgsql/Driver.php.html | 29 - docs/source/Query/Drivers/Pgsql/SQL.php.html | 43 - docs/source/Query/Drivers/Pgsql/Util.php.html | 57 - .../Query/Drivers/Sqlite/Driver.php.html | 39 - docs/source/Query/Drivers/Sqlite/SQL.php.html | 33 - .../source/Query/Drivers/Sqlite/Util.php.html | 81 - docs/source/Query/QueryBuilder.php.html | 301 -- .../Query/QueryBuilderInterface.php.html | 3 - docs/source/Query/QueryParser.php.html | 51 - docs/source/Query/SQLInterface.php.html | 5 - docs/source/common.php.html | 3 - docs/traits.html | 38 - 578 files changed, 62770 insertions(+), 58493 deletions(-) create mode 100644 docs/.htaccess delete mode 100644 docs/classes.html delete mode 100644 docs/classes/Exception.html delete mode 100644 docs/classes/Exception/__clone.html delete mode 100644 docs/classes/Exception/__construct.html delete mode 100644 docs/classes/Exception/__toString.html delete mode 100644 docs/classes/Exception/getCode.html delete mode 100644 docs/classes/Exception/getFile.html delete mode 100644 docs/classes/Exception/getLine.html delete mode 100644 docs/classes/Exception/getMessage.html delete mode 100644 docs/classes/Exception/getPrevious.html delete mode 100644 docs/classes/Exception/getTrace.html delete mode 100644 docs/classes/Exception/getTraceAsString.html delete mode 100644 docs/classes/InvalidArgumentException.html delete mode 100644 docs/classes/InvalidArgumentException/__clone.html delete mode 100644 docs/classes/InvalidArgumentException/__toString.html delete mode 100644 docs/classes/InvalidArgumentException/getCode.html delete mode 100644 docs/classes/InvalidArgumentException/getFile.html delete mode 100644 docs/classes/InvalidArgumentException/getLine.html delete mode 100644 docs/classes/InvalidArgumentException/getMessage.html delete mode 100644 docs/classes/InvalidArgumentException/getPrevious.html delete mode 100644 docs/classes/InvalidArgumentException/getTrace.html delete mode 100644 docs/classes/InvalidArgumentException/getTraceAsString.html delete mode 100644 docs/classes/LogicException.html delete mode 100644 docs/classes/LogicException/__clone.html delete mode 100644 docs/classes/LogicException/__toString.html delete mode 100644 docs/classes/LogicException/getCode.html delete mode 100644 docs/classes/LogicException/getFile.html delete mode 100644 docs/classes/LogicException/getLine.html delete mode 100644 docs/classes/LogicException/getMessage.html delete mode 100644 docs/classes/LogicException/getPrevious.html delete mode 100644 docs/classes/LogicException/getTrace.html delete mode 100644 docs/classes/LogicException/getTraceAsString.html delete mode 100644 docs/classes/PDO.html delete mode 100644 docs/classes/PDO/__construct.html delete mode 100644 docs/classes/PDO/beginTransaction.html delete mode 100644 docs/classes/PDO/commit.html delete mode 100644 docs/classes/PDO/errorCode.html delete mode 100644 docs/classes/PDO/errorInfo.html delete mode 100644 docs/classes/PDO/exec.html delete mode 100644 docs/classes/PDO/getAttribute.html delete mode 100644 docs/classes/PDO/getAvailableDrivers.html delete mode 100644 docs/classes/PDO/inTransaction.html delete mode 100644 docs/classes/PDO/lastInsertId.html delete mode 100644 docs/classes/PDO/prepare.html delete mode 100644 docs/classes/PDO/query.html delete mode 100644 docs/classes/PDO/quote.html delete mode 100644 docs/classes/PDO/rollBack.html delete mode 100644 docs/classes/PDO/setAttribute.html delete mode 100644 docs/classes/PDOStatement.html delete mode 100644 docs/classes/PDOStatement/bindColumn.html delete mode 100644 docs/classes/PDOStatement/bindParam.html delete mode 100644 docs/classes/PDOStatement/bindValue.html delete mode 100644 docs/classes/PDOStatement/closeCursor.html delete mode 100644 docs/classes/PDOStatement/columnCount.html delete mode 100644 docs/classes/PDOStatement/debugDumpParams.html delete mode 100644 docs/classes/PDOStatement/errorCode.html delete mode 100644 docs/classes/PDOStatement/errorInfo.html delete mode 100644 docs/classes/PDOStatement/execute.html delete mode 100644 docs/classes/PDOStatement/fetch.html delete mode 100644 docs/classes/PDOStatement/fetchAll.html delete mode 100644 docs/classes/PDOStatement/fetchColumn.html delete mode 100644 docs/classes/PDOStatement/fetchObject.html delete mode 100644 docs/classes/PDOStatement/getAttribute.html delete mode 100644 docs/classes/PDOStatement/getColumnMeta.html delete mode 100644 docs/classes/PDOStatement/nextRowset.html delete mode 100644 docs/classes/PDOStatement/rowCount.html delete mode 100644 docs/classes/PDOStatement/setAttribute.html delete mode 100644 docs/classes/PDOStatement/setFetchMode.html create mode 100644 docs/classes/Query.AbstractQueryBuilder.html create mode 100644 docs/classes/Query.BadDBDriverException.html create mode 100644 docs/classes/Query.ConnectionManager.html create mode 100644 docs/classes/Query.DriverFactory.html create mode 100644 docs/classes/Query.Drivers.AbstractDriver.html create mode 100644 docs/classes/Query.Drivers.AbstractSQL.html create mode 100644 docs/classes/Query.Drivers.AbstractUtil.html create mode 100644 docs/classes/Query.Drivers.DriverInterface.html create mode 100644 docs/classes/Query.Drivers.Firebird.Driver.html create mode 100644 docs/classes/Query.Drivers.Firebird.Result.html create mode 100644 docs/classes/Query.Drivers.Firebird.SQL.html create mode 100644 docs/classes/Query.Drivers.Firebird.Util.html create mode 100644 docs/classes/Query.Drivers.Mysql.Driver.html create mode 100644 docs/classes/Query.Drivers.Mysql.SQL.html create mode 100644 docs/classes/Query.Drivers.Mysql.Util.html create mode 100644 docs/classes/Query.Drivers.PDOInterface.html create mode 100644 docs/classes/Query.Drivers.PDOStatementInterface.html create mode 100644 docs/classes/Query.Drivers.Pgsql.Driver.html create mode 100644 docs/classes/Query.Drivers.Pgsql.SQL.html create mode 100644 docs/classes/Query.Drivers.Pgsql.Util.html create mode 100644 docs/classes/Query.Drivers.SQLInterface.html create mode 100644 docs/classes/Query.Drivers.Sqlite.Driver.html create mode 100644 docs/classes/Query.Drivers.Sqlite.SQL.html create mode 100644 docs/classes/Query.Drivers.Sqlite.Util.html create mode 100644 docs/classes/Query.QueryBuilder.html create mode 100644 docs/classes/Query.QueryBuilderInterface.html create mode 100644 docs/classes/Query.QueryParser.html create mode 100644 docs/classes/Query.State.html delete mode 100644 docs/classes/Query_AbstractDriver.html delete mode 100644 docs/classes/Query_AbstractDriver/__call.html delete mode 100644 docs/classes/Query_AbstractDriver/__construct.html delete mode 100644 docs/classes/Query_AbstractDriver/_load_sub_classes.html delete mode 100644 docs/classes/Query_AbstractDriver/_prefix.html delete mode 100644 docs/classes/Query_AbstractDriver/_quote.html delete mode 100644 docs/classes/Query_AbstractDriver/affected_rows.html delete mode 100644 docs/classes/Query_AbstractDriver/driver_query.html delete mode 100644 docs/classes/Query_AbstractDriver/get_columns.html delete mode 100644 docs/classes/Query_AbstractDriver/get_dbs.html delete mode 100644 docs/classes/Query_AbstractDriver/get_fks.html delete mode 100644 docs/classes/Query_AbstractDriver/get_functions.html delete mode 100644 docs/classes/Query_AbstractDriver/get_indexes.html delete mode 100644 docs/classes/Query_AbstractDriver/get_last_query.html delete mode 100644 docs/classes/Query_AbstractDriver/get_procedures.html delete mode 100644 docs/classes/Query_AbstractDriver/get_schemas.html delete mode 100644 docs/classes/Query_AbstractDriver/get_sequences.html delete mode 100644 docs/classes/Query_AbstractDriver/get_sql.html delete mode 100644 docs/classes/Query_AbstractDriver/get_system_tables.html delete mode 100644 docs/classes/Query_AbstractDriver/get_tables.html delete mode 100644 docs/classes/Query_AbstractDriver/get_triggers.html delete mode 100644 docs/classes/Query_AbstractDriver/get_types.html delete mode 100644 docs/classes/Query_AbstractDriver/get_util.html delete mode 100644 docs/classes/Query_AbstractDriver/get_views.html delete mode 100644 docs/classes/Query_AbstractDriver/insert_batch.html delete mode 100644 docs/classes/Query_AbstractDriver/num_rows.html delete mode 100644 docs/classes/Query_AbstractDriver/prefix_table.html delete mode 100644 docs/classes/Query_AbstractDriver/prepare_execute.html delete mode 100644 docs/classes/Query_AbstractDriver/prepare_query.html delete mode 100644 docs/classes/Query_AbstractDriver/quote_ident.html delete mode 100644 docs/classes/Query_AbstractDriver/quote_table.html delete mode 100644 docs/classes/Query_AbstractDriver/set_last_query.html delete mode 100644 docs/classes/Query_AbstractDriver/set_table_prefix.html delete mode 100644 docs/classes/Query_AbstractDriver/truncate.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_append_map.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_append_query.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_compile.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_compile_type.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_get_compile.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_having.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_like.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_mixed_set.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_run.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_select.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_where.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_where_in.html delete mode 100644 docs/classes/Query_AbstractQueryBuilder/_where_string.html delete mode 100644 docs/classes/Query_AbstractSQL.html delete mode 100644 docs/classes/Query_AbstractSQL/limit.html delete mode 100644 docs/classes/Query_AbstractUtil.html delete mode 100644 docs/classes/Query_AbstractUtil/__construct.html delete mode 100644 docs/classes/Query_AbstractUtil/backup_data.html delete mode 100644 docs/classes/Query_AbstractUtil/backup_structure.html delete mode 100644 docs/classes/Query_AbstractUtil/create_table.html delete mode 100644 docs/classes/Query_AbstractUtil/delete_table.html delete mode 100644 docs/classes/Query_AbstractUtil/get_driver.html delete mode 100644 docs/classes/Query_BadDBDriverException.html delete mode 100644 docs/classes/Query_ConnectionManager.html delete mode 100644 docs/classes/Query_ConnectionManager/__clone.html delete mode 100644 docs/classes/Query_ConnectionManager/__construct.html delete mode 100644 docs/classes/Query_ConnectionManager/__sleep.html delete mode 100644 docs/classes/Query_ConnectionManager/__wakeup.html delete mode 100644 docs/classes/Query_ConnectionManager/connect.html delete mode 100644 docs/classes/Query_ConnectionManager/create_dsn.html delete mode 100644 docs/classes/Query_ConnectionManager/get_connection.html delete mode 100644 docs/classes/Query_ConnectionManager/get_instance.html delete mode 100644 docs/classes/Query_ConnectionManager/parse_params.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/__construct.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/__destruct.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/beginTransaction.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/commit.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/errorCode.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/errorInfo.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/exec.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/getAttribute.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/get_service.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/inTransaction.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/insert_batch.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/lastInsertId.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/prepare.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/prepare_execute.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/prepare_query.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/query.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/quote.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/rollBack.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Driver/setAttribute.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/__construct.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/bindColumn.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/bindParam.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/bindValue.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/errorCode.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/errorInfo.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/execute.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/fetch.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/fetchAll.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/fetchColumn.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/fetchObject.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Result/rowCount.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/column_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/db_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/explain.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/fk_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/function_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/index_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/limit.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/procedure_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/random.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/sequence_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/system_table_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/table_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/trigger_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/type_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_SQL/view_list.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Util.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Util/backup_data.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Util/backup_structure.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Util/create_table.html delete mode 100644 docs/classes/Query_Drivers_Firebird_Util/delete_table.html delete mode 100644 docs/classes/Query_Drivers_Mysql_Driver.html delete mode 100644 docs/classes/Query_Drivers_Mysql_Driver/__construct.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/column_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/db_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/explain.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/fk_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/function_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/index_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/limit.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/procedure_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/random.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/sequence_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/system_table_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/table_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/trigger_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/type_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_SQL/view_list.html delete mode 100644 docs/classes/Query_Drivers_Mysql_Util.html delete mode 100644 docs/classes/Query_Drivers_Mysql_Util/backup_data.html delete mode 100644 docs/classes/Query_Drivers_Mysql_Util/backup_structure.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_Driver.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_Driver/__construct.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_Driver/get_fks.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_Driver/get_schemas.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/column_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/db_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/explain.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/fk_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/function_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/index_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/procedure_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/random.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/sequence_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/system_table_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/table_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/trigger_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/type_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_SQL/view_list.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_Util.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_Util/backup_data.html delete mode 100644 docs/classes/Query_Drivers_Pgsql_Util/backup_structure.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_Driver.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_Driver/__construct.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_Driver/get_fks.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_Driver/get_tables.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_Driver/insert_batch.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/column_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/db_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/explain.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/fk_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/function_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/index_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/procedure_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/random.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/sequence_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/system_table_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/table_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/trigger_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/type_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_SQL/view_list.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_Util.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_Util/backup_data.html delete mode 100644 docs/classes/Query_Drivers_Sqlite_Util/backup_structure.html delete mode 100644 docs/classes/Query_QueryBuilder.html delete mode 100644 docs/classes/Query_QueryBuilder/__call.html delete mode 100644 docs/classes/Query_QueryBuilder/__construct.html delete mode 100644 docs/classes/Query_QueryBuilder/__destruct.html delete mode 100644 docs/classes/Query_QueryBuilder/count_all.html delete mode 100644 docs/classes/Query_QueryBuilder/count_all_results.html delete mode 100644 docs/classes/Query_QueryBuilder/delete.html delete mode 100644 docs/classes/Query_QueryBuilder/distinct.html delete mode 100644 docs/classes/Query_QueryBuilder/explain.html delete mode 100644 docs/classes/Query_QueryBuilder/from.html delete mode 100644 docs/classes/Query_QueryBuilder/get.html delete mode 100644 docs/classes/Query_QueryBuilder/get_compiled_delete.html delete mode 100644 docs/classes/Query_QueryBuilder/get_compiled_insert.html delete mode 100644 docs/classes/Query_QueryBuilder/get_compiled_select.html delete mode 100644 docs/classes/Query_QueryBuilder/get_compiled_update.html delete mode 100644 docs/classes/Query_QueryBuilder/get_where.html delete mode 100644 docs/classes/Query_QueryBuilder/group_by.html delete mode 100644 docs/classes/Query_QueryBuilder/group_end.html delete mode 100644 docs/classes/Query_QueryBuilder/group_start.html delete mode 100644 docs/classes/Query_QueryBuilder/having.html delete mode 100644 docs/classes/Query_QueryBuilder/insert.html delete mode 100644 docs/classes/Query_QueryBuilder/insert_batch.html delete mode 100644 docs/classes/Query_QueryBuilder/join.html delete mode 100644 docs/classes/Query_QueryBuilder/like.html delete mode 100644 docs/classes/Query_QueryBuilder/limit.html delete mode 100644 docs/classes/Query_QueryBuilder/not_like.html delete mode 100644 docs/classes/Query_QueryBuilder/or_group_start.html delete mode 100644 docs/classes/Query_QueryBuilder/or_having.html delete mode 100644 docs/classes/Query_QueryBuilder/or_like.html delete mode 100644 docs/classes/Query_QueryBuilder/or_not_group_start.html delete mode 100644 docs/classes/Query_QueryBuilder/or_not_like.html delete mode 100644 docs/classes/Query_QueryBuilder/or_where.html delete mode 100644 docs/classes/Query_QueryBuilder/or_where_in.html delete mode 100644 docs/classes/Query_QueryBuilder/or_where_not_in.html delete mode 100644 docs/classes/Query_QueryBuilder/order_by.html delete mode 100644 docs/classes/Query_QueryBuilder/reset_query.html delete mode 100644 docs/classes/Query_QueryBuilder/select.html delete mode 100644 docs/classes/Query_QueryBuilder/select_avg.html delete mode 100644 docs/classes/Query_QueryBuilder/select_max.html delete mode 100644 docs/classes/Query_QueryBuilder/select_min.html delete mode 100644 docs/classes/Query_QueryBuilder/select_sum.html delete mode 100644 docs/classes/Query_QueryBuilder/set.html delete mode 100644 docs/classes/Query_QueryBuilder/update.html delete mode 100644 docs/classes/Query_QueryBuilder/where.html delete mode 100644 docs/classes/Query_QueryBuilder/where_in.html delete mode 100644 docs/classes/Query_QueryBuilder/where_not_in.html delete mode 100644 docs/classes/Query_QueryParser.html delete mode 100644 docs/classes/Query_QueryParser/__construct.html delete mode 100644 docs/classes/Query_QueryParser/compile_join.html delete mode 100644 docs/classes/Query_QueryParser/filter_array.html delete mode 100644 docs/classes/Query_QueryParser/parse_join.html create mode 100644 docs/css/bootstrap-combined.no-icons.min.css create mode 100644 docs/css/font-awesome.min.css create mode 100644 docs/css/jquery.iviewer.css create mode 100644 docs/css/phpdocumentor-clean-icons/Read Me.txt create mode 100644 docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg create mode 100644 docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot create mode 100644 docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.svg create mode 100644 docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf create mode 100644 docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff create mode 100644 docs/css/phpdocumentor-clean-icons/lte-ie7.js create mode 100644 docs/css/phpdocumentor-clean-icons/style.css create mode 100644 docs/css/prism.css delete mode 100644 docs/css/source.css delete mode 100644 docs/css/style.css create mode 100644 docs/css/template.css create mode 100644 docs/files/Query.AbstractQueryBuilder.html create mode 100644 docs/files/Query.BadDBDriverException.html create mode 100644 docs/files/Query.ConnectionManager.html create mode 100644 docs/files/Query.DriverFactory.html create mode 100644 docs/files/Query.Drivers.AbstractDriver.html create mode 100644 docs/files/Query.Drivers.AbstractSQL.html create mode 100644 docs/files/Query.Drivers.AbstractUtil.html create mode 100644 docs/files/Query.Drivers.DriverInterface.html create mode 100644 docs/files/Query.Drivers.Firebird.Driver.html create mode 100644 docs/files/Query.Drivers.Firebird.Result.html create mode 100644 docs/files/Query.Drivers.Firebird.SQL.html create mode 100644 docs/files/Query.Drivers.Firebird.Util.html create mode 100644 docs/files/Query.Drivers.Mysql.Driver.html create mode 100644 docs/files/Query.Drivers.Mysql.SQL.html create mode 100644 docs/files/Query.Drivers.Mysql.Util.html create mode 100644 docs/files/Query.Drivers.PDOInterface.html create mode 100644 docs/files/Query.Drivers.PDOStatementInterface.html create mode 100644 docs/files/Query.Drivers.Pgsql.Driver.html create mode 100644 docs/files/Query.Drivers.Pgsql.SQL.html create mode 100644 docs/files/Query.Drivers.Pgsql.Util.html create mode 100644 docs/files/Query.Drivers.SQLInterface.html create mode 100644 docs/files/Query.Drivers.Sqlite.Driver.html create mode 100644 docs/files/Query.Drivers.Sqlite.SQL.html create mode 100644 docs/files/Query.Drivers.Sqlite.Util.html create mode 100644 docs/files/Query.QueryBuilder.html create mode 100644 docs/files/Query.QueryBuilderInterface.html create mode 100644 docs/files/Query.QueryParser.html create mode 100644 docs/files/Query.State.html create mode 100644 docs/files/Query/AbstractQueryBuilder.php.txt create mode 100644 docs/files/Query/BadDBDriverException.php.txt create mode 100644 docs/files/Query/ConnectionManager.php.txt create mode 100644 docs/files/Query/DriverFactory.php.txt create mode 100644 docs/files/Query/Drivers/AbstractDriver.php.txt create mode 100644 docs/files/Query/Drivers/AbstractSQL.php.txt create mode 100644 docs/files/Query/Drivers/AbstractUtil.php.txt create mode 100644 docs/files/Query/Drivers/DriverInterface.php.txt create mode 100644 docs/files/Query/Drivers/Firebird/Driver.php.txt create mode 100644 docs/files/Query/Drivers/Firebird/Result.php.txt create mode 100644 docs/files/Query/Drivers/Firebird/SQL.php.txt create mode 100644 docs/files/Query/Drivers/Firebird/Util.php.txt create mode 100644 docs/files/Query/Drivers/Mysql/Driver.php.txt create mode 100644 docs/files/Query/Drivers/Mysql/SQL.php.txt create mode 100644 docs/files/Query/Drivers/Mysql/Util.php.txt create mode 100644 docs/files/Query/Drivers/PDOInterface.php.txt create mode 100644 docs/files/Query/Drivers/PDOStatementInterface.php.txt create mode 100644 docs/files/Query/Drivers/Pgsql/Driver.php.txt create mode 100644 docs/files/Query/Drivers/Pgsql/SQL.php.txt create mode 100644 docs/files/Query/Drivers/Pgsql/Util.php.txt create mode 100644 docs/files/Query/Drivers/SQLInterface.php.txt create mode 100644 docs/files/Query/Drivers/Sqlite/Driver.php.txt create mode 100644 docs/files/Query/Drivers/Sqlite/SQL.php.txt create mode 100644 docs/files/Query/Drivers/Sqlite/Util.php.txt create mode 100644 docs/files/Query/QueryBuilder.php.txt create mode 100644 docs/files/Query/QueryBuilderInterface.php.txt create mode 100644 docs/files/Query/QueryParser.php.txt create mode 100644 docs/files/Query/State.php.txt create mode 100644 docs/files/common.html create mode 100644 docs/files/common.php.txt create mode 100644 docs/font/FontAwesome.otf create mode 100644 docs/font/fontawesome-webfont.eot create mode 100644 docs/font/fontawesome-webfont.svg create mode 100644 docs/font/fontawesome-webfont.ttf create mode 100644 docs/font/fontawesome-webfont.woff create mode 100644 docs/graphs/class.html create mode 100644 docs/graphs/classes.svg create mode 100644 docs/images/apple-touch-icon-114x114.png create mode 100644 docs/images/apple-touch-icon-72x72.png create mode 100644 docs/images/apple-touch-icon.png create mode 100644 docs/images/custom-icons.svg create mode 100644 docs/images/favicon.ico create mode 100644 docs/images/hierarchy-item.png create mode 100644 docs/images/icon-class-13x13.png create mode 100644 docs/images/icon-class.svg create mode 100644 docs/images/icon-interface-13x13.png create mode 100644 docs/images/icon-interface.svg create mode 100644 docs/images/icon-trait-13x13.png create mode 100644 docs/images/icon-trait.svg create mode 100644 docs/images/iviewer/grab.cur create mode 100644 docs/images/iviewer/hand.cur create mode 100644 docs/images/iviewer/iviewer.rotate_left.png create mode 100644 docs/images/iviewer/iviewer.rotate_right.png create mode 100644 docs/images/iviewer/iviewer.zoom_fit.png create mode 100644 docs/images/iviewer/iviewer.zoom_in.png create mode 100644 docs/images/iviewer/iviewer.zoom_out.png create mode 100644 docs/images/iviewer/iviewer.zoom_zero.png delete mode 100644 docs/interfaces.html delete mode 100644 docs/interfaces/Query_DriverInterface.html delete mode 100644 docs/interfaces/Query_DriverInterface/__construct.html delete mode 100644 docs/interfaces/Query_DriverInterface/affected_rows.html delete mode 100644 docs/interfaces/Query_DriverInterface/beginTransaction.html delete mode 100644 docs/interfaces/Query_DriverInterface/commit.html delete mode 100644 docs/interfaces/Query_DriverInterface/driver_query.html delete mode 100644 docs/interfaces/Query_DriverInterface/errorCode.html delete mode 100644 docs/interfaces/Query_DriverInterface/errorInfo.html delete mode 100644 docs/interfaces/Query_DriverInterface/exec.html delete mode 100644 docs/interfaces/Query_DriverInterface/getAttribute.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_columns.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_dbs.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_fks.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_functions.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_indexes.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_procedures.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_sequences.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_sql.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_system_tables.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_tables.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_triggers.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_types.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_util.html delete mode 100644 docs/interfaces/Query_DriverInterface/get_views.html delete mode 100644 docs/interfaces/Query_DriverInterface/insert_batch.html delete mode 100644 docs/interfaces/Query_DriverInterface/num_rows.html delete mode 100644 docs/interfaces/Query_DriverInterface/prefix_table.html delete mode 100644 docs/interfaces/Query_DriverInterface/prepare_execute.html delete mode 100644 docs/interfaces/Query_DriverInterface/prepare_query.html delete mode 100644 docs/interfaces/Query_DriverInterface/quote_ident.html delete mode 100644 docs/interfaces/Query_DriverInterface/quote_table.html delete mode 100644 docs/interfaces/Query_DriverInterface/rollback.html delete mode 100644 docs/interfaces/Query_DriverInterface/setAttribute.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/count_all.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/count_all_results.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/delete.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/distinct.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/explain.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/from.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/get.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/get_compiled_delete.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/get_compiled_insert.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/get_compiled_select.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/get_compiled_update.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/get_where.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/group_by.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/group_end.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/group_start.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/having.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/insert.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/insert_batch.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/join.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/like.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/limit.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/not_like.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/or_group_start.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/or_having.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/or_like.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/or_not_group_start.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/or_not_like.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/or_where.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/or_where_in.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/or_where_not_in.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/order_by.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/reset_query.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/select.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/select_avg.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/select_max.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/select_min.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/select_sum.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/set.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/update.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/where.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/where_in.html delete mode 100644 docs/interfaces/Query_QueryBuilderInterface/where_not_in.html delete mode 100644 docs/interfaces/Query_SQLInterface.html delete mode 100644 docs/interfaces/Query_SQLInterface/column_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/db_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/explain.html delete mode 100644 docs/interfaces/Query_SQLInterface/fk_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/function_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/index_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/limit.html delete mode 100644 docs/interfaces/Query_SQLInterface/procedure_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/random.html delete mode 100644 docs/interfaces/Query_SQLInterface/sequence_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/system_table_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/table_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/trigger_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/type_list.html delete mode 100644 docs/interfaces/Query_SQLInterface/view_list.html delete mode 100644 docs/interfaces/Traversable.html create mode 100644 docs/js/bootstrap.min.js create mode 100644 docs/js/html5.js create mode 100644 docs/js/jquery-1.11.0.min.js create mode 100644 docs/js/jquery.dotdotdot-1.5.9.js create mode 100644 docs/js/jquery.dotdotdot-1.5.9.min.js create mode 100644 docs/js/jquery.iviewer.js create mode 100644 docs/js/jquery.iviewer.min.js create mode 100644 docs/js/jquery.mousewheel.js create mode 100644 docs/js/jquery.smooth-scroll.js create mode 100644 docs/js/prism.min.js create mode 100644 docs/js/ui/1.10.4/jquery-ui.min.js delete mode 100644 docs/namespaces.html create mode 100644 docs/namespaces/Query.Drivers.Firebird.html create mode 100644 docs/namespaces/Query.Drivers.Mysql.html create mode 100644 docs/namespaces/Query.Drivers.Pgsql.html create mode 100644 docs/namespaces/Query.Drivers.Sqlite.html create mode 100644 docs/namespaces/Query.Drivers.html create mode 100644 docs/namespaces/Query.html create mode 100644 docs/namespaces/default.html create mode 100644 docs/reports/deprecated.html create mode 100644 docs/reports/errors.html create mode 100644 docs/reports/markers.html delete mode 100644 docs/source/Query/AbstractDriver.php.html delete mode 100644 docs/source/Query/AbstractQueryBuilder.php.html delete mode 100644 docs/source/Query/AbstractSQL.php.html delete mode 100644 docs/source/Query/AbstractUtil.php.html delete mode 100644 docs/source/Query/BadDBDriverException.php.html delete mode 100644 docs/source/Query/ConnectionManager.php.html delete mode 100644 docs/source/Query/DriverInterface.php.html delete mode 100644 docs/source/Query/Drivers/Firebird/Driver.php.html delete mode 100644 docs/source/Query/Drivers/Firebird/Result.php.html delete mode 100644 docs/source/Query/Drivers/Firebird/SQL.php.html delete mode 100644 docs/source/Query/Drivers/Firebird/Util.php.html delete mode 100644 docs/source/Query/Drivers/Mysql/Driver.php.html delete mode 100644 docs/source/Query/Drivers/Mysql/SQL.php.html delete mode 100644 docs/source/Query/Drivers/Mysql/Util.php.html delete mode 100644 docs/source/Query/Drivers/Pgsql/Driver.php.html delete mode 100644 docs/source/Query/Drivers/Pgsql/SQL.php.html delete mode 100644 docs/source/Query/Drivers/Pgsql/Util.php.html delete mode 100644 docs/source/Query/Drivers/Sqlite/Driver.php.html delete mode 100644 docs/source/Query/Drivers/Sqlite/SQL.php.html delete mode 100644 docs/source/Query/Drivers/Sqlite/Util.php.html delete mode 100644 docs/source/Query/QueryBuilder.php.html delete mode 100644 docs/source/Query/QueryBuilderInterface.php.html delete mode 100644 docs/source/Query/QueryParser.php.html delete mode 100644 docs/source/Query/SQLInterface.php.html delete mode 100644 docs/source/common.php.html delete mode 100644 docs/traits.html diff --git a/docs/.htaccess b/docs/.htaccess new file mode 100644 index 0000000..7b01f9b --- /dev/null +++ b/docs/.htaccess @@ -0,0 +1,5 @@ +# Fixes a vulnerability in CentOS: http://stackoverflow.com/questions/20533279/prevent-php-from-parsing-non-php-files-such-as-somefile-php-txt + + RemoveHandler .php + ForceType text/plain + \ No newline at end of file diff --git a/docs/classes.html b/docs/classes.html deleted file mode 100644 index a0b1954..0000000 --- a/docs/classes.html +++ /dev/null @@ -1,320 +0,0 @@ - - - - phpDox - Overview - - - - - -
-

Classes

-
-

\

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription -
- Exception - - No description available - EMPTY -
- InvalidArgumentException - - No description available - EMPTY -
- LogicException - - No description available - EMPTY -
- PDO - - No description available - EMPTY -
- PDOStatement - - No description available - EMPTY -
-
-
-

\Query

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription -
- AbstractDriver - Base Database classPASSED
- AbstractQueryBuilder - Abstract Class for internal implementation methods of the Query BuilderPASSED
- AbstractSQL - parent for database manipulation subclassesPASSED
- AbstractUtil - Abstract class defining database / table creation methodsPASSED
- BadDBDriverException - Generic exception for bad driversEMPTY -
- ConnectionManager - Connection manager class to manage connections for the Query methodPASSED
- QueryBuilder - Convenience class for creating sql queries - also the class that instantiates the specific db driverPASSED
- QueryParser - Utility Class to parse sql clauses for properly escaping identifiersPASSED
-
-
-

\Query\Drivers\Firebird

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription -
- Driver - Firebird Database classPASSED
- Result - Firebird result class to emulate PDOStatement Class - only implements data-fetching methodsPASSED
- SQL - Firebird Specific SQLPASSED
- Util - Firebird-specific backup, import and creation methodsPASSED
-
-
-

\Query\Drivers\Mysql

- - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription -
- Driver - MySQL specific classUNTESTED
- SQL - MySQL specifc SQLPASSED
- Util - MySQL-specific backup, import and creation methodsPASSED
-
-
-

\Query\Drivers\Pgsql

- - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription -
- Driver - PostgreSQL specifc classPASSED
- SQL - PostgreSQL specifc SQLPASSED
- Util - Posgres-specific backup, import and creation methodsPASSED
-
-
-

\Query\Drivers\Sqlite

- - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription -
- Driver - SQLite specific classPASSED
- SQL - SQLite Specific SQLPASSED
- Util - SQLite-specific backup, import and creation methodsPASSED
-
-
- - - diff --git a/docs/classes/Exception.html b/docs/classes/Exception.html deleted file mode 100644 index 2f9a8bb..0000000 --- a/docs/classes/Exception.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - phpDox - Exception - - - - - -
-
- -
- -
-

\Exception

-

-

-

Synopsis

-
class Exception - {
  • // members
  • protected  $message; -
  • protected  $code; -
  • protected  $file; -
  • protected  $line; -
- - }
-

Members

-
-

protected

-
    -
  • $code - — - int
    The exception code
  • -
  • $file - — - string
    The filename where the exception was created
  • -
  • $line - — - int
    The line where the exception was created
  • -
  • $message - — - string
    The exception message
  • -
-
-

Methods

-
-

public

- -
-
-
- - - diff --git a/docs/classes/Exception/__clone.html b/docs/classes/Exception/__clone.html deleted file mode 100644 index 64815ef..0000000 --- a/docs/classes/Exception/__clone.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::__clone

-

Clone the exception

-

-

    -

    Signature

    -
    - function __clone() - -
    -

    Returns

    -
    -
    void
    -
    -
    -
-
- - - diff --git a/docs/classes/Exception/__construct.html b/docs/classes/Exception/__construct.html deleted file mode 100644 index 6cb16ba..0000000 --- a/docs/classes/Exception/__construct.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::__construct

-

Construct the exception

-

-

-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/Exception/__toString.html b/docs/classes/Exception/__toString.html deleted file mode 100644 index ab59f6b..0000000 --- a/docs/classes/Exception/__toString.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

Exception::__toString

-

String representation of the exception

-

-

    -

    Signature

    -
    - public function __toString() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
- - - diff --git a/docs/classes/Exception/getCode.html b/docs/classes/Exception/getCode.html deleted file mode 100644 index 8d6f712..0000000 --- a/docs/classes/Exception/getCode.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::getCode

-

Gets the Exception code

-

-

    -

    Signature

    -
    - public function getCode() - -
    -

    Returns

    -
    -
    mixed
    -
    -
    -
-
- - - diff --git a/docs/classes/Exception/getFile.html b/docs/classes/Exception/getFile.html deleted file mode 100644 index e0274bb..0000000 --- a/docs/classes/Exception/getFile.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::getFile

-

Gets the file in which the exception occurred

-

-

    -

    Signature

    -
    - public function getFile() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
- - - diff --git a/docs/classes/Exception/getLine.html b/docs/classes/Exception/getLine.html deleted file mode 100644 index 451ebd3..0000000 --- a/docs/classes/Exception/getLine.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::getLine

-

Gets the line in which the exception occurred

-

-

    -

    Signature

    -
    - public function getLine() - -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
- - - diff --git a/docs/classes/Exception/getMessage.html b/docs/classes/Exception/getMessage.html deleted file mode 100644 index 4bdd43d..0000000 --- a/docs/classes/Exception/getMessage.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::getMessage

-

Gets the Exception message

-

-

    -

    Signature

    -
    - public function getMessage() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
- - - diff --git a/docs/classes/Exception/getPrevious.html b/docs/classes/Exception/getPrevious.html deleted file mode 100644 index f20c906..0000000 --- a/docs/classes/Exception/getPrevious.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::getPrevious

-

Returns previous Exception

-

-

    -

    Signature

    -
    - public function getPrevious() - -
    -

    Returns

    -
    -
    Exception
    -
    -
    -
-
- - - diff --git a/docs/classes/Exception/getTrace.html b/docs/classes/Exception/getTrace.html deleted file mode 100644 index 0430cbd..0000000 --- a/docs/classes/Exception/getTrace.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::getTrace

-

Gets the stack trace

-

-

    -

    Signature

    -
    - public function getTrace() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
- - - diff --git a/docs/classes/Exception/getTraceAsString.html b/docs/classes/Exception/getTraceAsString.html deleted file mode 100644 index 42ead28..0000000 --- a/docs/classes/Exception/getTraceAsString.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Exception::getTraceAsString

-

Gets the stack trace as a string

-

-

    -

    Signature

    -
    - public function getTraceAsString() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
- - - diff --git a/docs/classes/InvalidArgumentException.html b/docs/classes/InvalidArgumentException.html deleted file mode 100644 index 105cfdd..0000000 --- a/docs/classes/InvalidArgumentException.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - phpDox - InvalidArgumentException - - - - - -
-
- -
- -
-

\InvalidArgumentException

-

-

-

Synopsis

-
class InvalidArgumentException - extends LogicException - {
  • // members
  • protected  $message; -
  • protected  $code; -
  • protected  $file; -
  • protected  $line; -
- - }
-

Hierarchy

-
-

Extends

- -
-

Members

-
-

protected

-
    -
  • $code - — - int
    The exception code
  • -
  • $file - — - string
    The filename where the exception was created
  • -
  • $line - — - int
    The line where the exception was created
  • -
  • $message - — - string
    The exception message
  • -
-
-

Methods

-
-

public

- -
-
-
- - - diff --git a/docs/classes/InvalidArgumentException/__clone.html b/docs/classes/InvalidArgumentException/__clone.html deleted file mode 100644 index dfd0986..0000000 --- a/docs/classes/InvalidArgumentException/__clone.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::__clone

-

-

-

    -

    Signature

    -
    - function __clone() - -
    -

    Returns

    -
    -
    void
    -
    -
    -

-
- - - diff --git a/docs/classes/InvalidArgumentException/__toString.html b/docs/classes/InvalidArgumentException/__toString.html deleted file mode 100644 index 69953bd..0000000 --- a/docs/classes/InvalidArgumentException/__toString.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::__toString

-

-

-

    -

    Signature

    -
    - public function __toString() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

-
- - - diff --git a/docs/classes/InvalidArgumentException/getCode.html b/docs/classes/InvalidArgumentException/getCode.html deleted file mode 100644 index 0849760..0000000 --- a/docs/classes/InvalidArgumentException/getCode.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::getCode

-

-

-

    -

    Signature

    -
    - public function getCode() - -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

-
- - - diff --git a/docs/classes/InvalidArgumentException/getFile.html b/docs/classes/InvalidArgumentException/getFile.html deleted file mode 100644 index f984456..0000000 --- a/docs/classes/InvalidArgumentException/getFile.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::getFile

-

-

-

    -

    Signature

    -
    - public function getFile() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

-
- - - diff --git a/docs/classes/InvalidArgumentException/getLine.html b/docs/classes/InvalidArgumentException/getLine.html deleted file mode 100644 index 684966c..0000000 --- a/docs/classes/InvalidArgumentException/getLine.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::getLine

-

-

-

    -

    Signature

    -
    - public function getLine() - -
    -

    Returns

    -
    -
    int
    -
    -
    -

-
- - - diff --git a/docs/classes/InvalidArgumentException/getMessage.html b/docs/classes/InvalidArgumentException/getMessage.html deleted file mode 100644 index 0f20fe4..0000000 --- a/docs/classes/InvalidArgumentException/getMessage.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::getMessage

-

-

-

    -

    Signature

    -
    - public function getMessage() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

-
- - - diff --git a/docs/classes/InvalidArgumentException/getPrevious.html b/docs/classes/InvalidArgumentException/getPrevious.html deleted file mode 100644 index 91a4df3..0000000 --- a/docs/classes/InvalidArgumentException/getPrevious.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::getPrevious

-

-

-

    -

    Signature

    -
    - public function getPrevious() - -
    -

    Returns

    -
    -
    Exception
    -
    -
    -

-
- - - diff --git a/docs/classes/InvalidArgumentException/getTrace.html b/docs/classes/InvalidArgumentException/getTrace.html deleted file mode 100644 index c80d7b2..0000000 --- a/docs/classes/InvalidArgumentException/getTrace.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::getTrace

-

-

-

    -

    Signature

    -
    - public function getTrace() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

-
- - - diff --git a/docs/classes/InvalidArgumentException/getTraceAsString.html b/docs/classes/InvalidArgumentException/getTraceAsString.html deleted file mode 100644 index fa7317c..0000000 --- a/docs/classes/InvalidArgumentException/getTraceAsString.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

InvalidArgumentException::getTraceAsString

-

-

-

    -

    Signature

    -
    - public function getTraceAsString() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException.html b/docs/classes/LogicException.html deleted file mode 100644 index 633b744..0000000 --- a/docs/classes/LogicException.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - phpDox - LogicException - - - - - -
-
- -
- -
-

\LogicException

-

-

-

Synopsis

-
class LogicException - extends Exception - {
  • // members
  • protected  $message; -
  • protected  $code; -
  • protected  $file; -
  • protected  $line; -
- - }
-

Hierarchy

-
-

Extends

- -
-

Members

-
-

protected

-
    -
  • $code - — - int
    The exception code
  • -
  • $file - — - string
    The filename where the exception was created
  • -
  • $line - — - int
    The line where the exception was created
  • -
  • $message - — - string
    The exception message
  • -
-
-

Methods

-
-

public

- -
-
-
- - - diff --git a/docs/classes/LogicException/__clone.html b/docs/classes/LogicException/__clone.html deleted file mode 100644 index 4248e37..0000000 --- a/docs/classes/LogicException/__clone.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::__clone

-

-

-

    -

    Signature

    -
    - function __clone() - -
    -

    Returns

    -
    -
    void
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException/__toString.html b/docs/classes/LogicException/__toString.html deleted file mode 100644 index f93789e..0000000 --- a/docs/classes/LogicException/__toString.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::__toString

-

-

-

    -

    Signature

    -
    - public function __toString() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException/getCode.html b/docs/classes/LogicException/getCode.html deleted file mode 100644 index 7756c26..0000000 --- a/docs/classes/LogicException/getCode.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::getCode

-

-

-

    -

    Signature

    -
    - public function getCode() - -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException/getFile.html b/docs/classes/LogicException/getFile.html deleted file mode 100644 index 6d81251..0000000 --- a/docs/classes/LogicException/getFile.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::getFile

-

-

-

    -

    Signature

    -
    - public function getFile() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException/getLine.html b/docs/classes/LogicException/getLine.html deleted file mode 100644 index da9f88b..0000000 --- a/docs/classes/LogicException/getLine.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::getLine

-

-

-

    -

    Signature

    -
    - public function getLine() - -
    -

    Returns

    -
    -
    int
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException/getMessage.html b/docs/classes/LogicException/getMessage.html deleted file mode 100644 index e68d5c1..0000000 --- a/docs/classes/LogicException/getMessage.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::getMessage

-

-

-

    -

    Signature

    -
    - public function getMessage() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException/getPrevious.html b/docs/classes/LogicException/getPrevious.html deleted file mode 100644 index c83732c..0000000 --- a/docs/classes/LogicException/getPrevious.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::getPrevious

-

-

-

    -

    Signature

    -
    - public function getPrevious() - -
    -

    Returns

    -
    -
    Exception
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException/getTrace.html b/docs/classes/LogicException/getTrace.html deleted file mode 100644 index 7392b89..0000000 --- a/docs/classes/LogicException/getTrace.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::getTrace

-

-

-

    -

    Signature

    -
    - public function getTrace() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

-
- - - diff --git a/docs/classes/LogicException/getTraceAsString.html b/docs/classes/LogicException/getTraceAsString.html deleted file mode 100644 index d3208b9..0000000 --- a/docs/classes/LogicException/getTraceAsString.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

LogicException::getTraceAsString

-

-

-

    -

    Signature

    -
    - public function getTraceAsString() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

-
- - - diff --git a/docs/classes/PDO.html b/docs/classes/PDO.html deleted file mode 100644 index af5272c..0000000 --- a/docs/classes/PDO.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - phpDox - PDO - - - - - -
-
- -
- -
-

\PDO

-

-

-

Synopsis

-
class PDO - {
- - }
-

Methods

-
-

public

-
    -
  • __construct() - — - Creates a PDO instance representing a connection to a database -
  • -
  • beginTransaction() - — - Initiates a transaction -
  • -
  • commit() - — - Commits a transaction -
  • -
  • errorCode() - — - Fetch the SQLSTATE associated with the last operation on the database handle -
  • -
  • errorInfo() - — - Fetch extended error information associated with the last operation on the database handle -
  • -
  • exec() - — - Execute an SQL statement and return the number of affected rows -
  • -
  • getAttribute() - — - Retrieve a database connection attribute -
  • -
  • getAvailableDrivers() - — - Return an array of available PDO drivers -
  • -
  • inTransaction() - — - Checks if inside a transaction -
  • -
  • lastInsertId() - — - Returns the ID of the last inserted row or sequence value -
  • -
  • prepare() - — - Prepares a statement for execution and returns a statement object -
  • -
  • query() - — - Executes an SQL statement, returning a result set as a PDOStatement object -
  • -
  • quote() - — - Quotes a string for use in a query. -
  • -
  • rollBack() - — - Rolls back a transaction -
  • -
  • setAttribute() - — - Set an attribute -
  • -
-
-
-
- - - diff --git a/docs/classes/PDO/__construct.html b/docs/classes/PDO/__construct.html deleted file mode 100644 index 107ded8..0000000 --- a/docs/classes/PDO/__construct.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::__construct

-

- Creates a PDO instance representing a connection to a database -

-

-

-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDO/beginTransaction.html b/docs/classes/PDO/beginTransaction.html deleted file mode 100644 index 406a7c9..0000000 --- a/docs/classes/PDO/beginTransaction.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDO::beginTransaction

-

- Initiates a transaction -

-

Turns off autocommit mode. While autocommit mode is turned off, changes made to the database via the PDO object instance are not committed until you end the transaction by calling PDO::commit. Calling PDO::rollBack will roll back all changes to the database and return the connection to autocommit mode.

-
    -

    Signature

    -
    - public function beginTransaction() - -
    -

    Returns

    -
    -
    bool
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/commit.html b/docs/classes/PDO/commit.html deleted file mode 100644 index 2538b5c..0000000 --- a/docs/classes/PDO/commit.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::commit

-

- Commits a transaction -

-

-

    -

    Signature

    -
    - public function commit() - -
    -

    Returns

    -
    -
    bool
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/errorCode.html b/docs/classes/PDO/errorCode.html deleted file mode 100644 index b78b458..0000000 --- a/docs/classes/PDO/errorCode.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::errorCode

-

- Fetch the SQLSTATE associated with the last operation on the database handle -

-

-

    -

    Signature

    -
    - public function errorCode() - -
    -

    Returns

    -
    -
    mixed
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/errorInfo.html b/docs/classes/PDO/errorInfo.html deleted file mode 100644 index 64c6ec5..0000000 --- a/docs/classes/PDO/errorInfo.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::errorInfo

-

- Fetch extended error information associated with the last operation on the database handle -

-

-

    -

    Signature

    -
    - public function errorInfo() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/exec.html b/docs/classes/PDO/exec.html deleted file mode 100644 index 5627af3..0000000 --- a/docs/classes/PDO/exec.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::exec

-

- Execute an SQL statement and return the number of affected rows -

-

PDO::exec executes an SQL statement in a single function call, returning the number of rows affected by the statement.

-
    -

    Signature

    -
    - public function exec(string - $statement ) - -
    -

    Parameters

    -
    -
    $statement - — - string
    -
    -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/getAttribute.html b/docs/classes/PDO/getAttribute.html deleted file mode 100644 index f0e4590..0000000 --- a/docs/classes/PDO/getAttribute.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::getAttribute

-

- Retrieve a database connection attribute -

-

This function returns the value of a database connection attribute. To retrieve PDOStatement attributes, refer to PDOStatement::getAttribute.

-
    -

    Signature

    -
    - public function getAttribute(int - $attribute ) - -
    -

    Parameters

    -
    -
    $attribute - — - int
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/getAvailableDrivers.html b/docs/classes/PDO/getAvailableDrivers.html deleted file mode 100644 index ea58aee..0000000 --- a/docs/classes/PDO/getAvailableDrivers.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::getAvailableDrivers

-

- Return an array of available PDO drivers -

-

-

    -

    Signature

    -
    - public function getAvailableDrivers() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/inTransaction.html b/docs/classes/PDO/inTransaction.html deleted file mode 100644 index 5f6185f..0000000 --- a/docs/classes/PDO/inTransaction.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::inTransaction

-

- Checks if inside a transaction -

-

-

    -

    Signature

    -
    - public function inTransaction() - -
    -

    Returns

    -
    -
    bool
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/lastInsertId.html b/docs/classes/PDO/lastInsertId.html deleted file mode 100644 index 2910390..0000000 --- a/docs/classes/PDO/lastInsertId.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::lastInsertId

-

- Returns the ID of the last inserted row or sequence value -

-

Returns the ID of the last inserted row, or the last value from a sequence object, depending on the underlying driver. For example, PDO_PGSQL requires you to specify the name of a sequence object for the name parameter.

-
    -

    Signature

    -
    - public function lastInsertId(string - $name ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/prepare.html b/docs/classes/PDO/prepare.html deleted file mode 100644 index c6bb587..0000000 --- a/docs/classes/PDO/prepare.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::prepare

-

- Prepares a statement for execution and returns a statement object -

-

Prepares an SQL statement to be executed by the PDOStatement::execute method. The SQL statement can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. You cannot use both named and question mark parameter markers within the same SQL statement; pick one or the other parameter style. Use these parameters to bind any user-input, do not include the user-input directly in the query.

-
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDO/query.html b/docs/classes/PDO/query.html deleted file mode 100644 index 8914ef9..0000000 --- a/docs/classes/PDO/query.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDO::query

-

- Executes an SQL statement, returning a result set as a PDOStatement object -

-

PDO::query executes an SQL statement in a single function call, returning the result set (if any) returned by the statement as a PDOStatement object.

-
    -

    Signature

    -
    - public function query(string - $statement ) - -
    -

    Parameters

    -
    -
    $statement - — - string
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/quote.html b/docs/classes/PDO/quote.html deleted file mode 100644 index 53da779..0000000 --- a/docs/classes/PDO/quote.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::quote

-

- Quotes a string for use in a query. -

-

PDO::quote places quotes around the input string (if required) and escapes special characters within the input string, using a quoting style appropriate to the underlying driver.

-
    -

    Signature

    -
    - public function quote(string - $string, - int - $parameter_type ) - -
    -

    Parameters

    -
    -
    $string - — - string
    -
    -
    $parameter_type - — - int
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/rollBack.html b/docs/classes/PDO/rollBack.html deleted file mode 100644 index 888e5c9..0000000 --- a/docs/classes/PDO/rollBack.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::rollBack

-

- Rolls back a transaction -

-

Rolls back the current transaction, as initiated by PDO::beginTransaction. A PDOException will be thrown if no transaction is active.

-
    -

    Signature

    -
    - public function rollBack() - -
    -

    Returns

    -
    -
    bool
    -
    -
    -
-
- - - diff --git a/docs/classes/PDO/setAttribute.html b/docs/classes/PDO/setAttribute.html deleted file mode 100644 index bffcc10..0000000 --- a/docs/classes/PDO/setAttribute.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDO::setAttribute

-

- Set an attribute -

-

Sets an attribute on the database handle. Some of the available generic attributes are listed below; some drivers may make use of additional driver specific attributes. PDO::ATTR_CASE: Force column names to a specific case. PDO::CASE_LOWER: Force column names to lower case. PDO::CASE_NATURAL: Leave column names as returned by the database driver. PDO::CASE_UPPER: Force column names to upper case. PDO::ATTR_ERRMODE: Error reporting. PDO::ERRMODE_SILENT: Just set error codes. PDO::ERRMODE_WARNING: Raise E_WARNING. PDO::ERRMODE_EXCEPTION: Throw exceptions. PDO::ATTR_ORACLE_NULLS (available with all drivers, not just Oracle): Conversion of NULL and empty strings. PDO::NULL_NATURAL: No conversion. PDO::NULL_EMPTY_STRING: Empty string is converted to NULL. PDO::NULL_TO_STRING: NULL is converted to an empty string. PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool. PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string classname, array(mixed constructor_args)). PDO::ATTR_TIMEOUT: Specifies the timeout duration in seconds. Not all drivers support this option, and it's meaning may differ from driver to driver. For example, sqlite will wait for up to this time value before giving up on obtaining an writable lock, but other drivers may interpret this as a connect or a read timeout interval. Requires int. PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement. PDO::ATTR_EMULATE_PREPARES Enables or disables emulation of prepared statements. Some drivers do not support native prepared statements or have limited support for them. Use this setting to force PDO to either always emulate prepared statements (if TRUE), or to try to use native prepared statements (if FALSE). It will always fall back to emulating the prepared statement if the driver cannot successfully prepare the current query. Requires bool. PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries. PDO::ATTR_DEFAULT_FETCH_MODE: Set default fetch mode. Description of modes is available in PDOStatement::fetch documentation.

-
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDOStatement.html b/docs/classes/PDOStatement.html deleted file mode 100644 index c906582..0000000 --- a/docs/classes/PDOStatement.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - phpDox - PDOStatement - - - - -
-
-
- -
- -
-

\PDOStatement

-

-

-

Synopsis

-
class PDOStatement - implements - Traversable - {
- - }
-

Hierarchy

-
-

Implements

- -
-

Members

-
-

Methods

-
-

public

-
    -
  • bindColumn() - — - Bind a column to a PHP variable -
  • -
  • bindParam() - — - Binds a parameter to the specified variable name -
  • -
  • bindValue() - — - Binds a value to a parameter -
  • -
  • closeCursor() - — - Closes the cursor, enabling the statement to be executed again. -
  • -
  • columnCount() - — - Returns the number of columns in the result set -
  • -
  • debugDumpParams() - — - Dump an SQL prepared command -
  • -
  • errorCode() - — - Fetch the SQLSTATE associated with the last operation on the statement handle -
  • -
  • errorInfo() - — - Fetch extended error information associated with the last operation on the statement handle -
  • -
  • execute() - — - Executes a prepared statement -
  • -
  • fetch() - — - Fetches the next row from a result set -
  • -
  • fetchAll() - — - Returns an array containing all of the result set rows -
  • -
  • fetchColumn() - — - Returns a single column from the next row of a result set -
  • -
  • fetchObject() - — Fetches the next row and returns it as an object.
  • -
  • getAttribute() - — - Retrieve a statement attribute -
  • -
  • getColumnMeta() - — - Returns metadata for a column in a result set -
  • -
  • nextRowset() - — - Advances to the next rowset in a multi-rowset statement handle -
  • -
  • rowCount() - — - Returns the number of rows affected by the last SQL statement -
  • -
  • setAttribute() - — - Set a statement attribute -
  • -
  • setFetchMode() - — - Set the default fetch mode for this statement -
  • -
-
-
-
- - - diff --git a/docs/classes/PDOStatement/bindColumn.html b/docs/classes/PDOStatement/bindColumn.html deleted file mode 100644 index 203c660..0000000 --- a/docs/classes/PDOStatement/bindColumn.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::bindColumn

-

- Bind a column to a PHP variable -

-

PDOStatement::bindColumn arranges to have a particular variable bound to a given column in the result-set from a query. Each call to PDOStatement::fetch or PDOStatement::fetchAll will update all the variables that are bound to columns.

-
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDOStatement/bindParam.html b/docs/classes/PDOStatement/bindParam.html deleted file mode 100644 index 490cfe8..0000000 --- a/docs/classes/PDOStatement/bindParam.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDOStatement::bindParam

-

- Binds a parameter to the specified variable name -

-

Binds a PHP variable to a corresponding named or question mark placeholder in the SQL statement that was used to prepare the statement. Unlike PDOStatement::bindValue, the variable is bound as a reference and will only be evaluated at the time that PDOStatement::execute is called.

-
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDOStatement/bindValue.html b/docs/classes/PDOStatement/bindValue.html deleted file mode 100644 index 23acadf..0000000 --- a/docs/classes/PDOStatement/bindValue.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDOStatement::bindValue

-

- Binds a value to a parameter -

-

-

-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDOStatement/closeCursor.html b/docs/classes/PDOStatement/closeCursor.html deleted file mode 100644 index 172b5e6..0000000 --- a/docs/classes/PDOStatement/closeCursor.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDOStatement::closeCursor

-

- Closes the cursor, enabling the statement to be executed again. -

-

PDOStatement::closeCursor frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a state that enables it to be executed again.

-
    -

    Signature

    -
    - public function closeCursor() - -
    -

    Returns

    -
    -
    bool
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/columnCount.html b/docs/classes/PDOStatement/columnCount.html deleted file mode 100644 index 7408803..0000000 --- a/docs/classes/PDOStatement/columnCount.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::columnCount

-

- Returns the number of columns in the result set -

-

Use PDOStatement::columnCount to return the number of columns in the result set represented by the PDOStatement object.

-
    -

    Signature

    -
    - public function columnCount() - -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/debugDumpParams.html b/docs/classes/PDOStatement/debugDumpParams.html deleted file mode 100644 index 9d25e2f..0000000 --- a/docs/classes/PDOStatement/debugDumpParams.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::debugDumpParams

-

- Dump an SQL prepared command -

-

Dumps the informations contained by a prepared statement directly on the output. It will provide the SQL query in use, the number of parameters used (Params), the list of parameters, with their name, type (paramtype) as an integer, their key name or position, the value, and the position in the query (if this is supported by the PDO driver, otherwise, it will be -1).

-
    -

    Signature

    -
    - public function debugDumpParams() - -
    -

    Returns

    -
    -
    void
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/errorCode.html b/docs/classes/PDOStatement/errorCode.html deleted file mode 100644 index 741a283..0000000 --- a/docs/classes/PDOStatement/errorCode.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::errorCode

-

- Fetch the SQLSTATE associated with the last operation on the statement handle -

-

-

    -

    Signature

    -
    - public function errorCode() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/errorInfo.html b/docs/classes/PDOStatement/errorInfo.html deleted file mode 100644 index 7ce0320..0000000 --- a/docs/classes/PDOStatement/errorInfo.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::errorInfo

-

- Fetch extended error information associated with the last operation on the statement handle -

-

-

    -

    Signature

    -
    - public function errorInfo() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/execute.html b/docs/classes/PDOStatement/execute.html deleted file mode 100644 index 84244eb..0000000 --- a/docs/classes/PDOStatement/execute.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::execute

-

- Executes a prepared statement -

-

Execute the prepared statement. If the prepared statement included parameter markers, you must either: call PDOStatement::bindParam to bind PHP variables to the parameter markers: bound variables pass their value as input and receive the output value, if any, of their associated parameter markers or pass an array of input-only parameter values

-
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDOStatement/fetch.html b/docs/classes/PDOStatement/fetch.html deleted file mode 100644 index 9321fef..0000000 --- a/docs/classes/PDOStatement/fetch.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDOStatement::fetch

-

- Fetches the next row from a result set -

-

-

    -

    Signature

    -
    - public function fetch(int - $fetch_style, - int - $cursor_orientation, - int - $cursor_offset ) - -
    -

    Parameters

    -
    -
    $fetch_style - — - int
    -
    -
    $cursor_orientation - — - int
    -
    -
    $cursor_offset - — - int
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/fetchAll.html b/docs/classes/PDOStatement/fetchAll.html deleted file mode 100644 index 531b0c0..0000000 --- a/docs/classes/PDOStatement/fetchAll.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::fetchAll

-

- Returns an array containing all of the result set rows -

-

-

-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDOStatement/fetchColumn.html b/docs/classes/PDOStatement/fetchColumn.html deleted file mode 100644 index 69b7b86..0000000 --- a/docs/classes/PDOStatement/fetchColumn.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDOStatement::fetchColumn

-

- Returns a single column from the next row of a result set -

-

-

    -

    Signature

    -
    - public function fetchColumn(int - $column_number ) - -
    -

    Parameters

    -
    -
    $column_number - — - int
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/fetchObject.html b/docs/classes/PDOStatement/fetchObject.html deleted file mode 100644 index a741c3d..0000000 --- a/docs/classes/PDOStatement/fetchObject.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::fetchObject

-

Fetches the next row and returns it as an object.

-

-

-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDOStatement/getAttribute.html b/docs/classes/PDOStatement/getAttribute.html deleted file mode 100644 index 5ed4f95..0000000 --- a/docs/classes/PDOStatement/getAttribute.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDOStatement::getAttribute

-

- Retrieve a statement attribute -

-

Gets an attribute of the statement. Currently, no generic attributes exist but only driver specific: PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Get the name of cursor for UPDATE ... WHERE CURRENT OF.

-
    -

    Signature

    -
    - public function getAttribute(int - $attribute ) - -
    -

    Parameters

    -
    -
    $attribute - — - int
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/getColumnMeta.html b/docs/classes/PDOStatement/getColumnMeta.html deleted file mode 100644 index 4826ed9..0000000 --- a/docs/classes/PDOStatement/getColumnMeta.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::getColumnMeta

-

- Returns metadata for a column in a result set -

-

-

    -

    Signature

    -
    - public function getColumnMeta(int - $column ) - -
    -

    Parameters

    -
    -
    $column - — - int
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/nextRowset.html b/docs/classes/PDOStatement/nextRowset.html deleted file mode 100644 index d7340d7..0000000 --- a/docs/classes/PDOStatement/nextRowset.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::nextRowset

-

- Advances to the next rowset in a multi-rowset statement handle -

-

-

    -

    Signature

    -
    - public function nextRowset() - -
    -

    Returns

    -
    -
    bool
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/rowCount.html b/docs/classes/PDOStatement/rowCount.html deleted file mode 100644 index 1b6bb75..0000000 --- a/docs/classes/PDOStatement/rowCount.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::rowCount

-

- Returns the number of rows affected by the last SQL statement -

-

PDOStatement::rowCount returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object.

-
    -

    Signature

    -
    - public function rowCount() - -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
- - - diff --git a/docs/classes/PDOStatement/setAttribute.html b/docs/classes/PDOStatement/setAttribute.html deleted file mode 100644 index e65c2d6..0000000 --- a/docs/classes/PDOStatement/setAttribute.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

PDOStatement::setAttribute

-

- Set a statement attribute -

-

Sets an attribute on the statement. Currently, no generic attributes are set but only driver specific: PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Set the name of cursor for UPDATE ... WHERE CURRENT OF.

-
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/classes/PDOStatement/setFetchMode.html b/docs/classes/PDOStatement/setFetchMode.html deleted file mode 100644 index 107c9ff..0000000 --- a/docs/classes/PDOStatement/setFetchMode.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - phpDox - Test Method - - - - -
-
-
- -
- -
-

PDOStatement::setFetchMode

-

- Set the default fetch mode for this statement -

-

-

    -

    Signature

    -
    - public function setFetchMode(int - $mode ) - -
    -

    Parameters

    -
    -
    $mode - — - int
    -
    -
    -

    Returns

    -
    -
    bool
    -
    -
    -
-
- - - diff --git a/docs/classes/Query.AbstractQueryBuilder.html b/docs/classes/Query.AbstractQueryBuilder.html new file mode 100644 index 0000000..c6269b2 --- /dev/null +++ b/docs/classes/Query.AbstractQueryBuilder.html @@ -0,0 +1,1677 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\QueryAbstractQueryBuilder

+

Abstract Class for internal implementation methods of the Query Builder

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ No public methods found +
+
+ $connName
+ $queries
+ $db
+ $parser
+ $util
+ $sql
+
+
+ KEY
+ VALUE
+ BOTH
+
+
+
+
+ _mixedSet()
+ _select()
+ _getCompile()
+ _like()
+ _having()
+ _where()
+ _whereString()
+ _whereIn()
+ _run()
+ _appendMap()
+ _appendQuery()
+ _compileType()
+ _compile()
+
+
+ $selectString
+ $fromString
+ $setString
+ $orderString
+ $groupString
+ $setArrayKeys
+ $orderArray
+ $groupArray
+ $values
+ $whereValues
+ $limit
+ $offset
+ $queryMap
+ $havingMap
+ $explain
+
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + +
+
+

Constants

+
+ +
+ +
+
+ +
+

KEY

+
KEY
+

+ +
+
+ +
+ +
+
+ +
+

VALUE

+
VALUE
+

+ +
+
+ +
+ +
+
+ +
+

BOTH

+
BOTH
+

+ +
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$connName

+
$connName : string
+

Convenience property for connection management

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$queries

+
$queries : array
+

List of queries executed

+ + +

Type

+ array +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$parser

+
$parser : \Query\QueryParser
+

Query parser class instance

+ + +

Type

+ \Query\QueryParser +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$selectString

+
$selectString : string
+

Compiled 'select' clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$fromString

+
$fromString : string
+

Compiled 'from' clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$setString

+
$setString : string
+

Compiled arguments for insert / update

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$orderString

+
$orderString : string
+

Order by clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$groupString

+
$groupString : string
+

Group by clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$setArrayKeys

+
$setArrayKeys : array
+

Keys for insert/update statement

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$orderArray

+
$orderArray : array
+

Key/val pairs for order by clause

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$groupArray

+
$groupArray : array
+

Key/val pairs for group by clause

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$values

+
$values : array
+

Values to apply to prepared statements

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$whereValues

+
$whereValues : array
+

Values to apply to where clauses in prepared statements

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$limit

+
$limit : string
+

Value for limit string

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$offset

+
$offset : integer
+

Value for offset in limit string

+ + +

Type

+ integer +
+
+ +
+ +
+
+ +
+

$queryMap

+
$queryMap : array
+

Query component order mapping +for complex select queries

+

Format: +array( +'type' => 'where', +'conjunction' => ' AND ', +'string' => 'k=?' +)

+ +

Type

+ array +
+
+ +
+ +
+
+ +
+

$havingMap

+
$havingMap : array
+

Map for having clause

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$explain

+
$explain : boolean
+

Whether to do only an explain on the query

+ + +

Type

+ boolean +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

_mixedSet()

+ +
_mixedSet(array  $var, mixed  $key, mixed  $val = NULL, integer  $valType = self::BOTH) : array
+

Set values in the class, with either an array or key value pair

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
array$var
mixed$key
mixed$val
integer$valType
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

_select()

+ +
_select(string  $field, string|boolean  $as = FALSE) : string
+

Method to simplify select_ methods

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

_getCompile()

+ +
_getCompile(string  $type, string  $table, boolean  $reset) : string
+

Helper function for returning sql strings

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$type
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

_like()

+ +
_like(string  $field, mixed  $val, string  $pos, string  $like = 'LIKE', string  $conj = 'AND') : \Query\QueryBuilderInterface
+

Simplify 'like' methods

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
string$like
string$conj
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

_having()

+ +
_having(mixed  $key, mixed  $val = array(), string  $conj = 'AND') : \Query\QueryBuilderInterface
+

Simplify building having clauses

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
mixed$key
mixed$val
string$conj
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

_where()

+ +
_where(mixed  $key, mixed  $val = array()) : array
+

Do all the redundant stuff for where/having type methods

+ + +

Parameters

+ + + + + + + + + + + +
mixed$key
mixed$val
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

_whereString()

+ +
_whereString(mixed  $key, mixed  $val = array(), string  $defaultConj = 'AND') : \Query\QueryBuilderInterface
+

Simplify generating where string

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
mixed$key
mixed$val
string$defaultConj
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

_whereIn()

+ +
_whereIn(mixed  $key, mixed  $val = array(), string  $in = 'IN', string  $conj = 'AND') : \Query\QueryBuilderInterface
+

Simplify where_in methods

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
mixed$key
mixed$val
string$in
    +
  • The (not) in fragment
  • +
string$conj
    +
  • The where in conjunction
  • +
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

_run()

+ +
_run(string  $type, string  $table, string  $sql = NULL, array|null  $vals = NULL, boolean  $reset = TRUE) : \PDOStatement
+

Executes the compiled query

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
string$type
string$table
string$sql
array|null$vals
boolean$reset
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

_appendMap()

+ +
_appendMap(string  $conjunction = '', string  $string = '', string  $type = '') : void
+

Add an additional set of mapping pairs to a internal map

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$conjunction
string$string
string$type
+ + + +
+
+ +
+ +
+
+ +
+

_appendQuery()

+ +
_appendQuery(array  $vals, string  $sql, integer  $totalTime) : void
+

Convert the prepared statement into readable sql

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
array$vals
string$sql
integer$totalTime
+ + + +
+
+ +
+ +
+
+ +
+

_compileType()

+ +
_compileType(string  $type = '', string  $table = '') : string
+

Sub-method for generating sql strings

+ + +

Parameters

+ + + + + + + + + + + +
string$type
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

_compile()

+ +
_compile(string  $type = '', string  $table = '') : string
+

String together the sql statements for sending to the db

+ + +

Parameters

+ + + + + + + + + + + +
string$type
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.BadDBDriverException.html b/docs/classes/Query.BadDBDriverException.html new file mode 100644 index 0000000..e8ee291 --- /dev/null +++ b/docs/classes/Query.BadDBDriverException.html @@ -0,0 +1,442 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\QueryBadDBDriverException

+

Generic exception for bad drivers

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ No public methods found +
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.ConnectionManager.html b/docs/classes/Query.ConnectionManager.html new file mode 100644 index 0000000..46c785b --- /dev/null +++ b/docs/classes/Query.ConnectionManager.html @@ -0,0 +1,833 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\QueryConnectionManager

+

Connection manager class to manage connections for the +Query method

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __clone()
+ __sleep()
+ __wakeup()
+ getInstance()
+ getConnection()
+ connect()
+ parseParams()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ __construct()
+ createDsn()
+
+
+ $connections
+ $instance
+
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$connections

+
$connections : array
+

Map of named database connections

+ + +

Type

+ array +
+
+ +
+ +
+
+ + +
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__clone()

+ +
__clone() : void
+

Private clone method to prevent cloning

+ + + +

Throws

+
+
\DomainException
+
+
+ + +
+
+ +
+ +
+
+ +
+

__sleep()

+ +
__sleep() : void
+

Prevent serialization of this object

+ + + +

Throws

+
+
\DomainException
+
+
+ + +
+
+ +
+ +
+
+ +
+

__wakeup()

+ +
__wakeup() : void
+

Make sure serialize/deserialize doesn't work

+ + + +

Throws

+
+
\DomainException
+
+
+ + +
+
+ +
+ +
+
+ +
+

getInstance()

+ +
getInstance() : \Query\ConnectionManager
+

Return a connection manager instance

+ + + + +

Returns

+ \Query\ConnectionManager + +
+
+ +
+ +
+
+ +
+

getConnection()

+ +
getConnection(string|array|object  $name = '') : \Query\QueryBuilderInterface
+

Returns the connection specified by the name given

+ + +

Parameters

+ + + + + + +
string|array|object$name
+ +

Throws

+
+
\InvalidArgumentException
+
+
+ +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

connect()

+ +
connect(\stdClass  $params) : \Query\QueryBuilderInterface
+

Parse the passed parameters and return a connection

+ + +

Parameters

+ + + + + + +
\stdClass$params
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

parseParams()

+ +
parseParams(\stdClass  $params) : array
+

Parses params into a dsn and option array

+ + +

Parameters

+ + + + + + +
\stdClass$params
+ +

Throws

+
+
\Query\BadDBDriverException
+
+
+ +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

__construct()

+ +
__construct() 
+

Private constructor to prevent multiple instances

+ + + + + +
+
+ +
+ +
+
+ +
+

createDsn()

+ +
createDsn(string  $dbtype, \stdClass  $params) : string
+

Create the dsn from the db type and params

+ + +

Parameters

+ + + + + + + + + + + +
string$dbtype
\stdClass$params
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.DriverFactory.html b/docs/classes/Query.DriverFactory.html new file mode 100644 index 0000000..b9dae2b --- /dev/null +++ b/docs/classes/Query.DriverFactory.html @@ -0,0 +1,440 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\QueryDriverFactory

+

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ No public methods found +
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.AbstractDriver.html b/docs/classes/Query.Drivers.AbstractDriver.html new file mode 100644 index 0000000..93485de --- /dev/null +++ b/docs/classes/Query.Drivers.AbstractDriver.html @@ -0,0 +1,1844 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\DriversAbstractDriver

+

Base Database class

+

Extends PDO to simplify cross-database issues

+ + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ __call()
+ getLastQuery()
+ setLastQuery()
+ getSql()
+ getUtil()
+ setTablePrefix()
+ prepareQuery()
+ prepareExecute()
+ affectedRows()
+ prefixTable()
+ quoteTable()
+ quoteIdent()
+ getSchemas()
+ getTables()
+ getDbs()
+ getViews()
+ getSequences()
+ getFunctions()
+ getProcedures()
+ getTriggers()
+ getSystemTables()
+ getColumns()
+ getFks()
+ getIndexes()
+ getTypes()
+ driverQuery()
+ numRows()
+ insertBatch()
+ updateBatch()
+ _quote()
+ truncate()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ _loadSubClasses()
+ _prefix()
+
+
+ $statement
+ $escapeCharOpen
+ $escapeCharClose
+ $sql
+ $util
+ $lastQuery
+ $tablePrefix
+ $hasTruncate
+
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$statement

+
$statement : \PDOStatement
+

Reference to the last executed query

+ + +

Type

+ \PDOStatement +
+
+ +
+ +
+
+ +
+

$escapeCharOpen

+
$escapeCharOpen : string
+

Start character to escape identifiers

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$escapeCharClose

+
$escapeCharClose : string
+

End character to escape identifiers

+ + +

Type

+ string +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$lastQuery

+
$lastQuery : string
+

Last query executed

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$tablePrefix

+
$tablePrefix : string
+

Prefix to apply to table names

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$hasTruncate

+
$hasTruncate : boolean
+

Whether the driver supports 'TRUNCATE'

+ + +

Type

+ boolean +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(string  $dsn, string  $username = NULL, string  $password = NULL, array  $driverOptions = array()) 
+

PDO constructor wrapper

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$dsn
string$username
string$password
array$driverOptions
+ + + +
+
+ +
+ +
+
+ +
+

__call()

+ +
__call(string  $name, array  $args = array()) : mixed
+

Allow invoke to work on table object

+ + +

Parameters

+ + + + + + + + + + + +
string$name
array$args
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getLastQuery()

+ +
getLastQuery() : string
+

Get the last sql query executed

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

setLastQuery()

+ +
setLastQuery(string  $queryString) : void
+

Set the last query sql

+ + +

Parameters

+ + + + + + +
string$queryString
+ + + +
+
+ +
+ +
+
+ +
+

getSql()

+ +
getSql() : \Query\Drivers\SQLInterface
+

Get the SQL class for the current driver

+ + + + +

Returns

+ \Query\Drivers\SQLInterface + +
+
+ +
+ +
+
+ +
+

getUtil()

+ +
getUtil() : \Query\Drivers\AbstractUtil
+

Get the Util class for the current driver

+ + + + +

Returns

+ \Query\Drivers\AbstractUtil + +
+
+ +
+ +
+
+ +
+

setTablePrefix()

+ +
setTablePrefix(string  $prefix) : void
+

Set the common table name prefix

+ + +

Parameters

+ + + + + + +
string$prefix
+ + + +
+
+ +
+ +
+
+ +
+

prepareQuery()

+ +
prepareQuery(string  $sql, array  $data) : \PDOStatement
+

Simplifies prepared statements for database queries

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$data
+ +

Throws

+
+
\InvalidArgumentException
+
+
+ +

Returns

+ \PDOStatement + —

| FALSE

+ +
+
+ +
+ +
+
+ +
+

prepareExecute()

+ +
prepareExecute(string  $sql, array  $params) : \PDOStatement
+

Create and execute a prepared statement with the provided parameters

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$params
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

affectedRows()

+ +
affectedRows() : integer
+

Returns number of rows affected by an INSERT, UPDATE, DELETE type query

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

prefixTable()

+ +
prefixTable(string  $table) : string
+

Prefixes a table if it is not already prefixed

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $table) : string
+

Quote database table name, and set prefix

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(mixed  $identifier) : string
+

Surrounds the string with the databases identifier escape characters

+ + +

Parameters

+ + + + + + +
mixed$identifier
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getSchemas()

+ +
getSchemas() : array
+

Return schemas for databases that list them

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTables()

+ +
getTables() : array
+

Return list of tables for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getDbs()

+ +
getDbs() : array
+

Return list of dbs for the current connection, if possible

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getViews()

+ +
getViews() : array
+

Return list of views for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSequences()

+ +
getSequences() : array
+

Return list of sequences for the current database, if they exist

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFunctions()

+ +
getFunctions() : array
+

Return list of functions for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getProcedures()

+ +
getProcedures() : array
+

Return list of stored procedures for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTriggers()

+ +
getTriggers() : array
+

Return list of triggers for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSystemTables()

+ +
getSystemTables() : array
+

Retrieves an array of non-user-created tables for +the connection/database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getColumns()

+ +
getColumns(string  $table) : array
+

Retrieve column information for the current database table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFks()

+ +
getFks(string  $table) : array
+

Retrieve foreign keys for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getIndexes()

+ +
getIndexes(string  $table) : array
+

Retrieve indexes for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTypes()

+ +
getTypes() : array
+

Retrieve list of data types for the database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

driverQuery()

+ +
driverQuery(string|array|null  $query, boolean  $filteredIndex = TRUE) : array
+

Method to simplify retrieving db results for meta-data queries

+ + +

Parameters

+ + + + + + + + + + + +
string|array|null$query
boolean$filteredIndex
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

numRows()

+ +
numRows() : integer|null
+

Return the number of rows returned for a SELECT query

+ + + + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

insertBatch()

+ +
insertBatch(string  $table, array|object  $data = array()) : null|\Query\Drivers\array<string|array|\Query\Drivers\null>
+

Create sql for batch insert

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array|object$data
+ + +

Returns

+ null|\Query\Drivers\array + +
+
+ +
+ +
+
+ +
+

updateBatch()

+ +
updateBatch(string  $table, array|object  $data, string  $where) : integer|null
+

Creates a batch update, and executes it.

+

Returns the number of affected rows

+ +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
array|object$data
string$where
+ + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

_quote()

+ +
_quote(mixed  $str) : mixed
+

Helper method for quote_ident

+ + +

Parameters

+ + + + + + +
mixed$str
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

truncate()

+ +
truncate(string  $table) : \PDOStatement
+

Empty the passed table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

_loadSubClasses()

+ +
_loadSubClasses() : void
+

Loads the subclasses for the driver

+ + + + + +
+
+ +
+ +
+
+ +
+

_prefix()

+ +
_prefix(string  $str) : string
+

Sets the table prefix on the passed string

+ + +

Parameters

+ + + + + + +
string$str
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.AbstractSQL.html b/docs/classes/Query.Drivers.AbstractSQL.html new file mode 100644 index 0000000..31f5ce7 --- /dev/null +++ b/docs/classes/Query.Drivers.AbstractSQL.html @@ -0,0 +1,495 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\DriversAbstractSQL

+

parent for database manipulation subclasses

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ limit()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + + +
+

Methods

+ +
+ +
+
+ +
+

limit()

+ +
limit(string  $sql, integer  $limit, integer|boolean  $offset = FALSE) : string
+

Limit clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$sql
integer$limit
integer|boolean$offset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.AbstractUtil.html b/docs/classes/Query.Drivers.AbstractUtil.html new file mode 100644 index 0000000..b655107 --- /dev/null +++ b/docs/classes/Query.Drivers.AbstractUtil.html @@ -0,0 +1,765 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\DriversAbstractUtil

+

Abstract class defining database / table creation methods

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ getDriver()
+ createTable()
+ deleteTable()
+ backupStructure()
+ backupData()
+ quoteIdent()
+ quoteTable()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ $conn
+
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ + +
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(\Query\Drivers\DriverInterface  $conn) 
+

Save a reference to the connection object for later use

+ + +

Parameters

+ + + + + + +
\Query\Drivers\DriverInterface$conn
+ + + +
+
+ +
+ +
+
+ +
+

getDriver()

+ +
getDriver() : \Query\Drivers\DriverInterface
+

Get the driver object for the current connection

+ + + + +

Returns

+ \Query\Drivers\DriverInterface + +
+
+ +
+ +
+
+ +
+

createTable()

+ +
createTable(string  $name, array  $fields, array  $constraints = array(), boolean  $ifNotExists = TRUE) : string
+

Convenience public function to generate sql for creating a db table

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$name
array$fields
array$constraints
boolean$ifNotExists
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

deleteTable()

+ +
deleteTable(string  $name) : string
+

Drop the selected table

+ + +

Parameters

+ + + + + + +
string$name
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupStructure()

+ +
backupStructure() : string
+

Return an SQL file with the database table structure

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupData()

+ +
backupData() : string
+

Return an SQL file with the database data as insert statements

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.DriverInterface.html b/docs/classes/Query.Drivers.DriverInterface.html new file mode 100644 index 0000000..399edc2 --- /dev/null +++ b/docs/classes/Query.Drivers.DriverInterface.html @@ -0,0 +1,1847 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\DriversDriverInterface

+

PDO Interface to implement for database drivers

+ + +
+

Summary

+
+
+ Methods +
+
+ Constants +
+
+
+
+ __construct()
+ beginTransaction()
+ commit()
+ errorCode()
+ errorInfo()
+ exec()
+ getAttribute()
+ getAvailableDrivers()
+ inTransaction()
+ lastInsertId()
+ prepare()
+ query()
+ quote()
+ rollBack()
+ setAttribute()
+ prepareQuery()
+ getColumns()
+ getTypes()
+ getIndexes()
+ getFks()
+ getTables()
+ getSystemTables()
+ getDbs()
+ getViews()
+ getSequences()
+ getFunctions()
+ getProcedures()
+ getTriggers()
+ quoteIdent()
+ quoteTable()
+ prepareExecute()
+ driverQuery()
+ affectedRows()
+ numRows()
+ prefixTable()
+ insertBatch()
+ updateBatch()
+ getSql()
+ getUtil()
+ setLastQuery()
+
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ N/A +
+
+
+
+ +
+ + +
+
+

Methods

+
+ +
+ +
+
+ +
+

__construct()

+ +
__construct(string  $dsn, string  $username = NULL, string  $password = NULL, array  $driverOptions = array()) 
+

Constructor/Connection method

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$dsn
string$username
string$password
array$driverOptions
+ + + +
+
+ +
+ +
+
+ +
+

beginTransaction()

+ +
beginTransaction() : boolean
+

Initiates a transaction

+ + + +

Throws

+
+
\PDOException
+
+
+ +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

commit()

+ +
commit() : boolean
+

Commits a transaction

+ + + +

Throws

+
+
\PDOException
+
+
+ +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

errorCode()

+ +
errorCode() : mixed
+

Fetch the SQLSTATE associated with the last operation on the database handle

+ + + + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

errorInfo()

+ +
errorInfo() : array
+

Fetch extended error information associated with the last operation on the database handle

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

exec()

+ +
exec(string  $statement) : integer
+

Execute an SQL statement and return the number of affected rows

+ + +

Parameters

+ + + + + + +
string$statement
+ + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

getAttribute()

+ +
getAttribute(integer  $attribute) : mixed
+

Retrieve a database connection attribute

+ + +

Parameters

+ + + + + + +
integer$attribute
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getAvailableDrivers()

+ +
getAvailableDrivers() : array
+

Return an array of available PDO drivers

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

inTransaction()

+ +
inTransaction() : boolean
+

Checks if inside a transaction

+ + + + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

lastInsertId()

+ +
lastInsertId(string  $name = NULL) : string
+

Returns teh ID of the last inserted row or sequence value

+ + +

Parameters

+ + + + + + +
string$name

Name of the sequence object from which the ID should be returned

+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

prepare()

+ +
prepare(string  $statement, array  $options = NULL) : \PDOStatement
+

Prepares a statement for execution and returns a statement object

+ + +

Parameters

+ + + + + + + + + + + +
string$statement
array$options
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

query()

+ +
query() : \PDOStatement
+

Executes an SQL statement, returning a result set as a PDOStatement object

+ + + + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

quote()

+ +
quote(string  $string, integer  $parameterType = \PDO::PARAM_STR) : string|false
+

Quotes a string for use in a query

+ + +

Parameters

+ + + + + + + + + + + +
string$string
integer$parameterType
+ + +

Returns

+ string|false + +
+
+ +
+ +
+
+ +
+

rollBack()

+ +
rollBack() : boolean
+

Rolls back a transaction

+ + + +

Throws

+
+
\PDOException
+
+
+ +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

setAttribute()

+ +
setAttribute(integer  $attribute, mixed  $value) : boolean
+

Set an attribute

+ + +

Parameters

+ + + + + + + + + + + +
integer$attribute
mixed$value
+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

prepareQuery()

+ +
prepareQuery(string  $sql, array  $data) : \PDOStatement
+

Simplifies prepared statements for database queries

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$data
+ +

Throws

+
+
\InvalidArgumentException
+
+
+ +

Returns

+ \PDOStatement + —

| FALSE

+ +
+
+ +
+ +
+
+ +
+

getColumns()

+ +
getColumns(string  $table) : array
+

Retrieve column information for the current database table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTypes()

+ +
getTypes() : array
+

Retrieve list of data types for the database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getIndexes()

+ +
getIndexes(string  $table) : array
+

Retrieve indexes for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFks()

+ +
getFks(string  $table) : array
+

Retrieve foreign keys for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTables()

+ +
getTables() : array
+

Return list of tables for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSystemTables()

+ +
getSystemTables() : array
+

Retrieves an array of non-user-created tables for +the connection/database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getDbs()

+ +
getDbs() : array
+

Return list of dbs for the current connection, if possible

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getViews()

+ +
getViews() : array
+

Return list of views for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSequences()

+ +
getSequences() : array
+

Return list of sequences for the current database, if they exist

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFunctions()

+ +
getFunctions() : array
+

Return list of functions for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getProcedures()

+ +
getProcedures() : array
+

Return list of stored procedures for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTriggers()

+ +
getTriggers() : array
+

Return list of triggers for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(string|array  $ident) : string|array
+

Surrounds the string with the databases identifier escape characters

+ + +

Parameters

+ + + + + + +
string|array$ident
+ + +

Returns

+ string|array + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string|array  $table) : string|array
+

Quote database table name, and set prefix

+ + +

Parameters

+ + + + + + +
string|array$table
+ + +

Returns

+ string|array + +
+
+ +
+ +
+
+ +
+

prepareExecute()

+ +
prepareExecute(string  $sql, array  $params) : \PDOStatement
+

Create and execute a prepared statement with the provided parameters

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$params
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

driverQuery()

+ +
driverQuery(string|array|null  $query, boolean  $filteredIndex = TRUE) : array
+

Method to simplify retrieving db results for meta-data queries

+ + +

Parameters

+ + + + + + + + + + + +
string|array|null$query
boolean$filteredIndex
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

affectedRows()

+ +
affectedRows() : integer
+

Returns number of rows affected by an INSERT, UPDATE, DELETE type query

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

numRows()

+ +
numRows() : integer
+

Return the number of rows returned for a SELECT query

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

prefixTable()

+ +
prefixTable(string  $table) : string
+

Prefixes a table if it is not already prefixed

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

insertBatch()

+ +
insertBatch(string  $table, array  $data = array()) : array
+

Create sql for batch insert

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array$data
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

updateBatch()

+ +
updateBatch(string  $table, array|object  $data, string  $where) : integer|null
+

Creates a batch update, and executes it.

+

Returns the number of affected rows

+ +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
array|object$data
string$where
+ + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

getSql()

+ +
getSql() : \Query\Drivers\SQLInterface
+

Get the SQL class for the current driver

+ + + + +

Returns

+ \Query\Drivers\SQLInterface + +
+
+ +
+ +
+
+ +
+

getUtil()

+ +
getUtil() : \Query\Drivers\AbstractUtil
+

Get the Util class for the current driver

+ + + + +

Returns

+ \Query\Drivers\AbstractUtil + +
+
+ +
+ +
+
+ +
+

setLastQuery()

+ +
setLastQuery(string  $queryString) : void
+

Set the last query sql

+ + +

Parameters

+ + + + + + +
string$queryString
+ + + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Firebird.Driver.html b/docs/classes/Query.Drivers.Firebird.Driver.html new file mode 100644 index 0000000..cebc72e --- /dev/null +++ b/docs/classes/Query.Drivers.Firebird.Driver.html @@ -0,0 +1,2540 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\FirebirdDriver

+

Firebird Database class

+

PDO-firebird isn't stable, so this is a wrapper of the fbird_ public functions.

+ + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ __call()
+ getLastQuery()
+ setLastQuery()
+ getSql()
+ getUtil()
+ setTablePrefix()
+ prepareQuery()
+ prepareExecute()
+ affectedRows()
+ prefixTable()
+ quoteTable()
+ quoteIdent()
+ getSchemas()
+ getTables()
+ getDbs()
+ getViews()
+ getSequences()
+ getFunctions()
+ getProcedures()
+ getTriggers()
+ getSystemTables()
+ getColumns()
+ getFks()
+ getIndexes()
+ getTypes()
+ driverQuery()
+ numRows()
+ insertBatch()
+ updateBatch()
+ _quote()
+ truncate()
+ __destruct()
+ getService()
+ exec()
+ getAttribute()
+ inTransaction()
+ lastInsertId()
+ query()
+ prepare()
+ beginTransaction()
+ commit()
+ rollBack()
+ setAttribute()
+ quote()
+ errorInfo()
+ errorCode()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ _loadSubClasses()
+ _prefix()
+
+
+ $statement
+ $escapeCharOpen
+ $escapeCharClose
+ $sql
+ $util
+ $lastQuery
+ $tablePrefix
+ $hasTruncate
+ $statementLink
+ $trans
+ $conn
+ $service
+
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$statement

+
$statement : \PDOStatement
+

Reference to the last executed query

+ + +

Type

+ \PDOStatement +
+
+ +
+ +
+
+ +
+

$escapeCharOpen

+
$escapeCharOpen : string
+

Start character to escape identifiers

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$escapeCharClose

+
$escapeCharClose : string
+

End character to escape identifiers

+ + +

Type

+ string +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$lastQuery

+
$lastQuery : string
+

Last query executed

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$tablePrefix

+
$tablePrefix : string
+

Prefix to apply to table names

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$hasTruncate

+
$hasTruncate : boolean
+

Firebird doesn't have the truncate keyword

+ + +

Type

+ boolean +
+
+ +
+ +
+
+ +
+

$statementLink

+
$statementLink : resource
+

Reference to the resource returned by +the last query executed

+ + +

Type

+ resource +
+
+ +
+ +
+
+ +
+

$trans

+
$trans : resource
+

Reference to the current transaction

+ + +

Type

+ resource +
+
+ +
+ +
+
+ +
+

$conn

+
$conn : resource
+

Reference to the connection resource

+ + +

Type

+ resource +
+
+ +
+ +
+
+ +
+

$service

+
$service : resource
+

Reference to the service resource

+ + +

Type

+ resource +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(string  $dbpath, string  $user = 'SYSDBA', string  $pass = 'masterkey', array  $options = array()) 
+

Open the link to the database

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$dbpath
string$user
string$pass
array$options
+ +

Throws

+
+
\PDOException
+
+
+ + +
+
+ +
+ +
+
+ +
+

__call()

+ +
__call(string  $name, array  $args = array()) : mixed
+

Allow invoke to work on table object

+ + +

Parameters

+ + + + + + + + + + + +
string$name
array$args
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getLastQuery()

+ +
getLastQuery() : string
+

Get the last sql query executed

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

setLastQuery()

+ +
setLastQuery(string  $queryString) : void
+

Set the last query sql

+ + +

Parameters

+ + + + + + +
string$queryString
+ + + +
+
+ +
+ +
+
+ +
+

getSql()

+ +
getSql() : \Query\Drivers\SQLInterface
+

Get the SQL class for the current driver

+ + + + +

Returns

+ \Query\Drivers\SQLInterface + +
+
+ +
+ +
+
+ +
+

getUtil()

+ +
getUtil() : \Query\Drivers\AbstractUtil
+

Get the Util class for the current driver

+ + + + +

Returns

+ \Query\Drivers\AbstractUtil + +
+
+ +
+ +
+
+ +
+

setTablePrefix()

+ +
setTablePrefix(string  $prefix) : void
+

Set the common table name prefix

+ + +

Parameters

+ + + + + + +
string$prefix
+ + + +
+
+ +
+ +
+
+ +
+

prepareQuery()

+ +
prepareQuery(string  $sql, array  $params) : NULL
+

Bind a prepared query with arguments for executing

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$params
+ + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

prepareExecute()

+ +
prepareExecute(string  $sql, array  $args) : \Query\Drivers\Firebird\Result
+

Prepare and execute a query

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$args
+ + +

Returns

+ \Query\Drivers\Firebird\Result + +
+
+ +
+ +
+
+ +
+

affectedRows()

+ +
affectedRows() : integer
+

Returns number of rows affected by an INSERT, UPDATE, DELETE type query

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

prefixTable()

+ +
prefixTable(string  $table) : string
+

Prefixes a table if it is not already prefixed

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $table) : string
+

Quote database table name, and set prefix

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(mixed  $identifier) : string
+

Surrounds the string with the databases identifier escape characters

+ + +

Parameters

+ + + + + + +
mixed$identifier
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getSchemas()

+ +
getSchemas() : array
+

Return schemas for databases that list them

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTables()

+ +
getTables() : array
+

Return list of tables for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getDbs()

+ +
getDbs() : array
+

Return list of dbs for the current connection, if possible

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getViews()

+ +
getViews() : array
+

Return list of views for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSequences()

+ +
getSequences() : array
+

Return list of sequences for the current database, if they exist

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFunctions()

+ +
getFunctions() : array
+

Return list of functions for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getProcedures()

+ +
getProcedures() : array
+

Return list of stored procedures for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTriggers()

+ +
getTriggers() : array
+

Return list of triggers for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSystemTables()

+ +
getSystemTables() : array
+

Retrieves an array of non-user-created tables for +the connection/database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getColumns()

+ +
getColumns(string  $table) : array
+

Retrieve column information for the current database table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFks()

+ +
getFks(string  $table) : array
+

Retrieve foreign keys for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getIndexes()

+ +
getIndexes(string  $table) : array
+

Retrieve indexes for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTypes()

+ +
getTypes() : array
+

Retrieve list of data types for the database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

driverQuery()

+ +
driverQuery(string|array|null  $query, boolean  $filteredIndex = TRUE) : array
+

Method to simplify retrieving db results for meta-data queries

+ + +

Parameters

+ + + + + + + + + + + +
string|array|null$query
boolean$filteredIndex
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

numRows()

+ +
numRows() : integer|null
+

Return the number of rows returned for a SELECT query

+ + + + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

insertBatch()

+ +
insertBatch(string  $table, array  $data = array()) : array
+

Create sql for batch insert

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array$data
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

updateBatch()

+ +
updateBatch(string  $table, array|object  $data, string  $where) : integer|null
+

Creates a batch update, and executes it.

+

Returns the number of affected rows

+ +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
array|object$data
string$where
+ + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

_quote()

+ +
_quote(mixed  $str) : mixed
+

Helper method for quote_ident

+ + +

Parameters

+ + + + + + +
mixed$str
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

truncate()

+ +
truncate(string  $table) : \PDOStatement
+

Empty the passed table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

__destruct()

+ +
__destruct() 
+

Cleanup some loose ends

+ + + + + +
+
+ +
+ +
+
+ +
+

getService()

+ +
getService() : resource
+

Return service handle

+ + + + +

Returns

+ resource + +
+
+ +
+ +
+
+ +
+

exec()

+ +
exec(string  $sql) : integer
+

Execute an sql statement and return number of affected rows

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

getAttribute()

+ +
getAttribute(integer  $attribute) : mixed
+

Implement for compatibility with PDO

+ + +

Parameters

+ + + + + + +
integer$attribute
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

inTransaction()

+ +
inTransaction() : boolean
+

Return whether the current statement is in a transaction

+ + + + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

lastInsertId()

+ +
lastInsertId(string  $name = NULL) : mixed
+

Returns the last value of the specified generator

+ + +

Parameters

+ + + + + + +
string$name
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

query()

+ +
query(string  $sql = '') : \Query\Drivers\Firebird\Result
+

Wrapper public function to better match PDO

+ + +

Parameters

+ + + + + + +
string$sql
+ +

Throws

+
+
\PDOException
+
+
+ +

Returns

+ \Query\Drivers\Firebird\Result + +
+
+ +
+ +
+
+ +
+

prepare()

+ +
prepare(string  $query, array  $options = array()) : \Query\Drivers\Firebird\Result
+

Emulate PDO prepare

+ + +

Parameters

+ + + + + + + + + + + +
string$query
array$options
+ +

Throws

+
+
\PDOException
+
+
+ +

Returns

+ \Query\Drivers\Firebird\Result + +
+
+ +
+ +
+
+ +
+

beginTransaction()

+ +
beginTransaction() : boolean|null
+

Start a database transaction

+ + + + +

Returns

+ boolean|null + +
+
+ +
+ +
+
+ +
+

commit()

+ +
commit() : boolean
+

Commit a database transaction

+ + + + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

rollBack()

+ +
rollBack() : boolean
+

Rollback a transaction

+ + + + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

setAttribute()

+ +
setAttribute(integer  $attribute, mixed  $value) : boolean
+

Set a connection attribute

+ + +

Parameters

+ + + + + + + + + + + +
integer$attribute
mixed$value
+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

quote()

+ +
quote(string  $str, integer  $paramType = \PDO::PARAM_STR) : string
+

Method to emulate PDO->quote

+ + +

Parameters

+ + + + + + + + + + + +
string$str
integer$paramType
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

errorInfo()

+ +
errorInfo() : array
+

Method to emulate PDO->errorInfo / PDOStatement->errorInfo

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

errorCode()

+ +
errorCode() : array
+

Method to emulate PDO->errorCode

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

_loadSubClasses()

+ +
_loadSubClasses() : void
+

Loads the subclasses for the driver

+ + + + + +
+
+ +
+ +
+
+ +
+

_prefix()

+ +
_prefix(string  $str) : string
+

Sets the table prefix on the passed string

+ + +

Parameters

+ + + + + + +
string$str
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Firebird.Result.html b/docs/classes/Query.Drivers.Firebird.Result.html new file mode 100644 index 0000000..f382996 --- /dev/null +++ b/docs/classes/Query.Drivers.Firebird.Result.html @@ -0,0 +1,1062 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\FirebirdResult

+

Firebird result class to emulate PDOStatement Class - only implements +data-fetching methods

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ bindColumn()
+ bindParam()
+ bindValue()
+ execute()
+ fetch()
+ fetchAll()
+ fetchColumn()
+ fetchObject()
+ rowCount()
+ errorCode()
+ errorInfo()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ $statement
+ $row
+ $result
+ $db
+
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$statement

+
$statement : resource
+

Reference to fbird resource

+ + +

Type

+ resource +
+
+ +
+ +
+
+ +
+

$row

+
$row : integer
+

Current row in result array

+ + +

Type

+ integer +
+
+ +
+ +
+
+ +
+

$result

+
$result : mixed
+

Data pulled from query

+ + +

Type

+ mixed +
+
+ +
+ +
+
+ +
+

$db

+
$db : \Query\Drivers\Firebird\Driver
+

Reference to the db drive to de-duplicate error functions

+ + +

Type

+ \Query\Drivers\Firebird\Driver +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(resource  $link, \Query\Drivers\Firebird\Driver|null  $db = NULL) 
+

Create the object by passing the resource for +the query

+ + +

Parameters

+ + + + + + + + + + + +
resource$link
\Query\Drivers\Firebird\Driver|null$db
+ + + +
+
+ +
+ +
+
+ +
+

bindColumn()

+ +
bindColumn(mixed  $column, mixed  $param, integer  $type = NULL, mixed  $maxlen = NULL, array  $driverdata = NULL) : NULL
+

Invalidate method for data consistency

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
mixed$column

Number or name of the column in the result set

mixed$param

Name of the PHP variable to which the column will be bound

integer$type

Data type of the parameter, specified by the PDO::PARAM_* constants

mixed$maxlen

A hint for pre-allocation

array$driverdata

Optional parameter(s) for the driver

+ + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

bindParam()

+ +
bindParam(mixed  $parameter, mixed  $variable, integer  $dataType = NULL, mixed  $maxlen = NULL, array  $driverdata = NULL) : NULL
+

Invalidate method for data consistency

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
mixed$parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a +parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the +1-indexed position of the parameter.

mixed$variable

Name of the PHP variable to bind to the SQL statement parameter.

integer$dataType

Explicit data type for the parameter using the PDO::PARAM_* constants. To return an INOUT +parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits +for the data_type parameter.

mixed$maxlen
array$driverdata
+ + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

bindValue()

+ +
bindValue(mixed  $parameter, mixed  $variable, integer  $dataType = NULL) : NULL
+

Invalidate method for data consistency

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
mixed$parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a +parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the +1-indexed position of the parameter.

mixed$variable
integer$dataType

Explicit data type for the parameter using the PDO::PARAM_* constants.

+ + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

execute()

+ +
execute(array  $boundInputParams = NULL) : \Query\Drivers\Firebird\Result
+

Run a prepared statement query

+ + +

Parameters

+ + + + + + +
array$boundInputParams
+ + +

Returns

+ \Query\Drivers\Firebird\Result + +
+
+ +
+ +
+
+ +
+

fetch()

+ +
fetch(integer  $fetchStyle = \PDO::FETCH_ASSOC, mixed  $cursorOrientation = \PDO::FETCH_ORI_NEXT, mixed  $cursorOffset = NULL) : mixed
+

Emulate PDO fetch public function

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
integer$fetchStyle
mixed$cursorOrientation
mixed$cursorOffset
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

fetchAll()

+ +
fetchAll(integer  $fetchStyle = \PDO::FETCH_ASSOC, mixed  $statement = NULL, mixed  $ctorArgs = NULL) : mixed
+

Emulate PDO fetchAll public function

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
integer$fetchStyle
mixed$statement
mixed$ctorArgs
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

fetchColumn()

+ +
fetchColumn(integer  $columnNum) : mixed
+

Emulate PDOStatement::fetchColumn

+ + +

Parameters

+ + + + + + +
integer$columnNum
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

fetchObject()

+ +
fetchObject(string  $className = 'stdClass', array|null  $ctorArgs = NULL) : object
+

Emulate PDOStatement::fetchObject, but only for the default use

+ + +

Parameters

+ + + + + + + + + + + +
string$className
array|null$ctorArgs
+ + +

Returns

+ object + +
+
+ +
+ +
+
+ +
+

rowCount()

+ +
rowCount() : integer
+

Return the number of rows affected by the previous query

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

errorCode()

+ +
errorCode() : string
+

Method to emulate PDOStatement->errorCode

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

errorInfo()

+ +
errorInfo() : array
+

Method to emulate PDO->errorInfo / PDOStatement->errorInfo

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Firebird.SQL.html b/docs/classes/Query.Drivers.Firebird.SQL.html new file mode 100644 index 0000000..a5585bf --- /dev/null +++ b/docs/classes/Query.Drivers.Firebird.SQL.html @@ -0,0 +1,933 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\FirebirdSQL

+

Firebird Specific SQL

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ limit()
+ explain()
+ random()
+ dbList()
+ tableList()
+ systemTableList()
+ viewList()
+ triggerList()
+ functionList()
+ procedureList()
+ sequenceList()
+ columnList()
+ typeList()
+ fkList()
+ indexList()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + + +
+

Methods

+ +
+ +
+
+ +
+

limit()

+ +
limit(string  $sql, integer  $limit, integer|boolean  $offset = FALSE) : string
+

Limit clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$sql
integer$limit
integer|boolean$offset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

explain()

+ +
explain(string  $sql) : string
+

Get the query plan for the sql query

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

random()

+ +
random() : string
+

Random ordering keyword

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

dbList()

+ +
dbList() : NULL
+

Returns sql to list other databases

+ + + + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

tableList()

+ +
tableList() : string
+

Returns sql to list tables

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

systemTableList()

+ +
systemTableList() : string
+

Returns sql to list system tables

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

viewList()

+ +
viewList() : string
+

Returns sql to list views

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

triggerList()

+ +
triggerList() : string
+

Returns sql to list triggers

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

functionList()

+ +
functionList() : string
+

Return sql to list functions

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

procedureList()

+ +
procedureList() : string
+

Return sql to list stored procedures

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

sequenceList()

+ +
sequenceList() : string
+

Return sql to list sequences

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

columnList()

+ +
columnList(string  $table) : string
+

Return sql to list columns of the specified table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

typeList()

+ +
typeList() : string
+

SQL to show list of field types

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

fkList()

+ +
fkList(string  $table) : string
+

Get the list of foreign keys for the current +table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

indexList()

+ +
indexList(string  $table) : array
+

Get the list of indexes for the current table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Firebird.Util.html b/docs/classes/Query.Drivers.Firebird.Util.html new file mode 100644 index 0000000..8c40495 --- /dev/null +++ b/docs/classes/Query.Drivers.Firebird.Util.html @@ -0,0 +1,787 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\FirebirdUtil

+

Firebird-specific backup, import and creation methods

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ getDriver()
+ createTable()
+ deleteTable()
+ backupStructure()
+ backupData()
+ quoteIdent()
+ quoteTable()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ $conn
+
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ + +
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(\Query\Drivers\DriverInterface  $conn) 
+

Save a reference to the connection object for later use

+ + +

Parameters

+ + + + + + +
\Query\Drivers\DriverInterface$conn
+ + + +
+
+ +
+ +
+
+ +
+

getDriver()

+ +
getDriver() : \Query\Drivers\DriverInterface
+

Get the driver object for the current connection

+ + + + +

Returns

+ \Query\Drivers\DriverInterface + +
+
+ +
+ +
+
+ +
+

createTable()

+ +
createTable(string  $name, array  $fields, array  $constraints = array(), boolean  $ifNotExists = FALSE) : string
+

Convenience public function to generate sql for creating a db table

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$name
array$fields
array$constraints
boolean$ifNotExists
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

deleteTable()

+ +
deleteTable(string  $name) : string
+

Drop the selected table

+ + +

Parameters

+ + + + + + +
string$name
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupStructure()

+ +
backupStructure() : string
+

Create an SQL backup file for the current database's structure

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupData()

+ +
backupData(array  $exclude = array(), boolean  $systemTables = FALSE) : string
+

Create an SQL backup file for the current database's data

+ + +

Parameters

+ + + + + + + + + + + +
array$exclude
boolean$systemTables
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Mysql.Driver.html b/docs/classes/Query.Drivers.Mysql.Driver.html new file mode 100644 index 0000000..1c5effc --- /dev/null +++ b/docs/classes/Query.Drivers.Mysql.Driver.html @@ -0,0 +1,1930 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\MysqlDriver

+

MySQL specific class

+

Extends PDO to simplify cross-database issues

+ + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ __call()
+ getLastQuery()
+ setLastQuery()
+ getSql()
+ getUtil()
+ setTablePrefix()
+ prepareQuery()
+ prepareExecute()
+ affectedRows()
+ prefixTable()
+ quoteTable()
+ quoteIdent()
+ getSchemas()
+ getTables()
+ getDbs()
+ getViews()
+ getSequences()
+ getFunctions()
+ getProcedures()
+ getTriggers()
+ getSystemTables()
+ getColumns()
+ getFks()
+ getIndexes()
+ getTypes()
+ driverQuery()
+ numRows()
+ insertBatch()
+ updateBatch()
+ _quote()
+ truncate()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ _loadSubClasses()
+ _prefix()
+
+
+ $statement
+ $escapeCharOpen
+ $escapeCharClose
+ $sql
+ $util
+ $lastQuery
+ $tablePrefix
+ $hasTruncate
+
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$statement

+
$statement : \PDOStatement
+

Reference to the last executed query

+ + +

Type

+ \PDOStatement +
+
+ +
+ +
+
+ +
+

$escapeCharOpen

+
$escapeCharOpen : string
+

Set the backtick as the MySQL escape character

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$escapeCharClose

+
$escapeCharClose : string
+

Set the backtick as the MySQL escape character

+ + +

Type

+ string +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$lastQuery

+
$lastQuery : string
+

Last query executed

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$tablePrefix

+
$tablePrefix : string
+

Prefix to apply to table names

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$hasTruncate

+
$hasTruncate : boolean
+

Whether the driver supports 'TRUNCATE'

+ + +

Type

+ boolean +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(string  $dsn, string  $username = NULL, string  $password = NULL, array  $options = array()) 
+

Connect to MySQL Database

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$dsn
string$username
string$password
array$options
+ + + +
+
+ +
+ +
+
+ +
+

__call()

+ +
__call(string  $name, array  $args = array()) : mixed
+

Allow invoke to work on table object

+ + +

Parameters

+ + + + + + + + + + + +
string$name
array$args
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getLastQuery()

+ +
getLastQuery() : string
+

Get the last sql query executed

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

setLastQuery()

+ +
setLastQuery(string  $queryString) : void
+

Set the last query sql

+ + +

Parameters

+ + + + + + +
string$queryString
+ + + +
+
+ +
+ +
+
+ +
+

getSql()

+ +
getSql() : \Query\Drivers\SQLInterface
+

Get the SQL class for the current driver

+ + + + +

Returns

+ \Query\Drivers\SQLInterface + +
+
+ +
+ +
+
+ +
+

getUtil()

+ +
getUtil() : \Query\Drivers\AbstractUtil
+

Get the Util class for the current driver

+ + + + +

Returns

+ \Query\Drivers\AbstractUtil + +
+
+ +
+ +
+
+ +
+

setTablePrefix()

+ +
setTablePrefix(string  $prefix) : void
+

Set the common table name prefix

+ + +

Parameters

+ + + + + + +
string$prefix
+ + + +
+
+ +
+ +
+
+ +
+

prepareQuery()

+ +
prepareQuery(string  $sql, array  $data) : \PDOStatement
+

Simplifies prepared statements for database queries

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$data
+ +

Throws

+
+
\InvalidArgumentException
+
+
+ +

Returns

+ \PDOStatement + —

| FALSE

+ +
+
+ +
+ +
+
+ +
+

prepareExecute()

+ +
prepareExecute(string  $sql, array  $params) : \PDOStatement
+

Create and execute a prepared statement with the provided parameters

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$params
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

affectedRows()

+ +
affectedRows() : integer
+

Returns number of rows affected by an INSERT, UPDATE, DELETE type query

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

prefixTable()

+ +
prefixTable(string  $table) : string
+

Prefixes a table if it is not already prefixed

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $table) : string
+

Quote database table name, and set prefix

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(mixed  $identifier) : string
+

Surrounds the string with the databases identifier escape characters

+ + +

Parameters

+ + + + + + +
mixed$identifier
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getSchemas()

+ +
getSchemas() : array
+

Return schemas for databases that list them

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTables()

+ +
getTables() : array
+

Return list of tables for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getDbs()

+ +
getDbs() : array
+

Return list of dbs for the current connection, if possible

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getViews()

+ +
getViews() : array
+

Return list of views for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSequences()

+ +
getSequences() : array
+

Return list of sequences for the current database, if they exist

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFunctions()

+ +
getFunctions() : array
+

Return list of functions for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getProcedures()

+ +
getProcedures() : array
+

Return list of stored procedures for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTriggers()

+ +
getTriggers() : array
+

Return list of triggers for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSystemTables()

+ +
getSystemTables() : array
+

Retrieves an array of non-user-created tables for +the connection/database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getColumns()

+ +
getColumns(string  $table) : array
+

Retrieve column information for the current database table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFks()

+ +
getFks(string  $table) : array
+

Retrieve foreign keys for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getIndexes()

+ +
getIndexes(string  $table) : array
+

Retrieve indexes for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTypes()

+ +
getTypes() : array
+

Retrieve list of data types for the database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

driverQuery()

+ +
driverQuery(string|array|null  $query, boolean  $filteredIndex = TRUE) : array
+

Method to simplify retrieving db results for meta-data queries

+ + +

Parameters

+ + + + + + + + + + + +
string|array|null$query
boolean$filteredIndex
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

numRows()

+ +
numRows() : integer|null
+

Return the number of rows returned for a SELECT query

+ + + + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

insertBatch()

+ +
insertBatch(string  $table, array|object  $data = array()) : null|\Query\Drivers\array<string|array|\Query\Drivers\null>
+

Create sql for batch insert

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array|object$data
+ + +

Returns

+ null|\Query\Drivers\array + +
+
+ +
+ +
+
+ +
+

updateBatch()

+ +
updateBatch(string  $table, array|object  $data, string  $where) : integer|null
+

Creates a batch update, and executes it.

+

Returns the number of affected rows

+ +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
array|object$data
string$where
+ + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

_quote()

+ +
_quote(mixed  $str) : mixed
+

Helper method for quote_ident

+ + +

Parameters

+ + + + + + +
mixed$str
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

truncate()

+ +
truncate(string  $table) : \PDOStatement
+

Empty the passed table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

_loadSubClasses()

+ +
_loadSubClasses() : void
+

Loads the subclasses for the driver

+ + + + + +
+
+ +
+ +
+
+ +
+

_prefix()

+ +
_prefix(string  $str) : string
+

Sets the table prefix on the passed string

+ + +

Parameters

+ + + + + + +
string$str
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Mysql.SQL.html b/docs/classes/Query.Drivers.Mysql.SQL.html new file mode 100644 index 0000000..31b22ea --- /dev/null +++ b/docs/classes/Query.Drivers.Mysql.SQL.html @@ -0,0 +1,941 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\MysqlSQL

+

MySQL specific SQL

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ limit()
+ explain()
+ random()
+ dbList()
+ tableList()
+ systemTableList()
+ viewList()
+ triggerList()
+ functionList()
+ procedureList()
+ sequenceList()
+ typeList()
+ columnList()
+ fkList()
+ indexList()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + + +
+

Methods

+ +
+ +
+
+ +
+

limit()

+ +
limit(string  $sql, integer  $limit, integer|boolean  $offset = FALSE) : string
+

Limit clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$sql
integer$limit
integer|boolean$offset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

explain()

+ +
explain(string  $sql) : string
+

Get the query plan for the sql query

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

random()

+ +
random() : string
+

Random ordering keyword

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

dbList()

+ +
dbList() : string
+

Returns sql to list other databases

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

tableList()

+ +
tableList(string  $database = '') : string
+

Returns sql to list tables

+ + +

Parameters

+ + + + + + +
string$database
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

systemTableList()

+ +
systemTableList() : string
+

Overridden in MySQL class

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

viewList()

+ +
viewList() : string
+

Returns sql to list views

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

triggerList()

+ +
triggerList() : string
+

Returns sql to list triggers

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

functionList()

+ +
functionList() : string
+

Return sql to list functions

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

procedureList()

+ +
procedureList() : string
+

Return sql to list stored procedures

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

sequenceList()

+ +
sequenceList() : NULL
+

Return sql to list sequences

+ + + + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

typeList()

+ +
typeList() : string
+

SQL to show list of field types

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

columnList()

+ +
columnList(string  $table) : string
+

SQL to show infromation about columns in a table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

fkList()

+ +
fkList(string  $table) : string
+

Get the list of foreign keys for the current +table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

indexList()

+ +
indexList(string  $table) : array
+

Get the list of indexes for the current table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Mysql.Util.html b/docs/classes/Query.Drivers.Mysql.Util.html new file mode 100644 index 0000000..3ee60ea --- /dev/null +++ b/docs/classes/Query.Drivers.Mysql.Util.html @@ -0,0 +1,786 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\MysqlUtil

+

MySQL-specific backup, import and creation methods

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ getDriver()
+ createTable()
+ deleteTable()
+ backupStructure()
+ backupData()
+ quoteIdent()
+ quoteTable()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ $conn
+
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ + +
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(\Query\Drivers\DriverInterface  $conn) 
+

Save a reference to the connection object for later use

+ + +

Parameters

+ + + + + + +
\Query\Drivers\DriverInterface$conn
+ + + +
+
+ +
+ +
+
+ +
+

getDriver()

+ +
getDriver() : \Query\Drivers\DriverInterface
+

Get the driver object for the current connection

+ + + + +

Returns

+ \Query\Drivers\DriverInterface + +
+
+ +
+ +
+
+ +
+

createTable()

+ +
createTable(string  $name, array  $fields, array  $constraints = array(), boolean  $ifNotExists = TRUE) : string
+

Convenience public function to generate sql for creating a db table

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$name
array$fields
array$constraints
boolean$ifNotExists
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

deleteTable()

+ +
deleteTable(string  $name) : string
+

Drop the selected table

+ + +

Parameters

+ + + + + + +
string$name
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupStructure()

+ +
backupStructure() : string
+

Create an SQL backup file for the current database's structure

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupData()

+ +
backupData(array  $exclude = array()) : string
+

Create an SQL backup file for the current database's data

+ + +

Parameters

+ + + + + + +
array$exclude
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.PDOInterface.html b/docs/classes/Query.Drivers.PDOInterface.html new file mode 100644 index 0000000..5b54d6c --- /dev/null +++ b/docs/classes/Query.Drivers.PDOInterface.html @@ -0,0 +1,964 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\DriversPDOInterface

+

Interface describing the PDO class in PHP

+ + +
+

Summary

+
+
+ Methods +
+
+ Constants +
+
+
+
+ __construct()
+ beginTransaction()
+ commit()
+ errorCode()
+ errorInfo()
+ exec()
+ getAttribute()
+ getAvailableDrivers()
+ inTransaction()
+ lastInsertId()
+ prepare()
+ query()
+ quote()
+ rollBack()
+ setAttribute()
+
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ N/A +
+
+
+
+ +
+ + +
+
+

Methods

+
+ +
+ +
+
+ +
+

__construct()

+ +
__construct(string  $dsn, string  $username, string  $password, array  $options = array()) 
+

Creates a PDO instance representing a connection to a database

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$dsn
string$username
string$password
array$options
+ +

Throws

+
+
\PDOException
+
+
+ + +
+
+ +
+ +
+
+ +
+

beginTransaction()

+ +
beginTransaction() : boolean
+

Initiates a transaction

+ + + +

Throws

+
+
\PDOException
+
+
+ +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

commit()

+ +
commit() : boolean
+

Commits a transaction

+ + + +

Throws

+
+
\PDOException
+
+
+ +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

errorCode()

+ +
errorCode() : mixed
+

Fetch the SQLSTATE associated with the last operation on the database handle

+ + + + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

errorInfo()

+ +
errorInfo() : array
+

Fetch extended error information associated with the last operation on the database handle

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

exec()

+ +
exec(string  $statement) : integer
+

Execute an SQL statement and return the number of affected rows

+ + +

Parameters

+ + + + + + +
string$statement
+ + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

getAttribute()

+ +
getAttribute(integer  $attribute) : mixed
+

Retrieve a database connection attribute

+ + +

Parameters

+ + + + + + +
integer$attribute
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getAvailableDrivers()

+ +
getAvailableDrivers() : array
+

Return an array of available PDO drivers

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

inTransaction()

+ +
inTransaction() : boolean
+

Checks if inside a transaction

+ + + + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

lastInsertId()

+ +
lastInsertId(string  $name = NULL) : string
+

Returns teh ID of the last inserted row or sequence value

+ + +

Parameters

+ + + + + + +
string$name

Name of the sequence object from which the ID should be returned

+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

prepare()

+ +
prepare(string  $statement, array  $options = NULL) : \PDOStatement
+

Prepares a statement for execution and returns a statement object

+ + +

Parameters

+ + + + + + + + + + + +
string$statement
array$options
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

query()

+ +
query() : \PDOStatement
+

Executes an SQL statement, returning a result set as a PDOStatement object

+ + + + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

quote()

+ +
quote(string  $string, integer  $parameterType = \PDO::PARAM_STR) : string|false
+

Quotes a string for use in a query

+ + +

Parameters

+ + + + + + + + + + + +
string$string
integer$parameterType
+ + +

Returns

+ string|false + +
+
+ +
+ +
+
+ +
+

rollBack()

+ +
rollBack() : boolean
+

Rolls back a transaction

+ + + +

Throws

+
+
\PDOException
+
+
+ +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

setAttribute()

+ +
setAttribute(integer  $attribute, mixed  $value) : boolean
+

Set an attribute

+ + +

Parameters

+ + + + + + + + + + + +
integer$attribute
mixed$value
+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.PDOStatementInterface.html b/docs/classes/Query.Drivers.PDOStatementInterface.html new file mode 100644 index 0000000..deb5944 --- /dev/null +++ b/docs/classes/Query.Drivers.PDOStatementInterface.html @@ -0,0 +1,1074 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\DriversPDOStatementInterface

+

Interface created from official PHP Documentation

+ + +
+

Summary

+
+
+ Methods +
+
+ Constants +
+
+
+
+ bindColumn()
+ bindParam()
+ bindValue()
+ closeCursor()
+ columnCount()
+ debugDumpParams()
+ errorCode()
+ errorInfo()
+ execute()
+ fetch()
+ fetchColumn()
+ fetchObject()
+ getAttribute()
+ nextRowset()
+ rowCount()
+ setAttribute()
+ setFetchMode()
+
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ N/A +
+
+
+
+ +
+ + +
+
+

Methods

+
+ +
+ +
+
+ +
+

bindColumn()

+ +
bindColumn(mixed  $column, mixed  $param, integer  $type, integer  $maxlen, mixed  $driverdata) : boolean
+

Bind a column to a PHP variable

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
mixed$column

Number or name of the column in the result set

mixed$param

Name of the PHP variable to which the column will be bound

integer$type

Data type of the parameter, specified by the PDO::PARAM_* constants

integer$maxlen

A hint for pre-allocation

mixed$driverdata

Optional parameter(s) for the driver

+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

bindParam()

+ +
bindParam(mixed  $parameter, mixed  $variable, integer  $dataType = \PDO::PARAM_STR, integer  $length, mixed  $driverOptions) : boolean
+

Binds a parameter to the specified variable name

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
mixed$parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a +parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the +1-indexed position of the parameter.

mixed$variable

Name of the PHP variable to bind to the SQL statement parameter.

integer$dataType

Explicit data type for the parameter using the PDO::PARAM_* constants. To return an INOUT +parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits +for the data_type parameter.

integer$length

Length of the data type. To indicate that a parameter is an OUT parameter from a stored procedure, +you must explicitly set the length.

mixed$driverOptions
+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

bindValue()

+ +
bindValue(mixed  $parameter, mixed  $value, integer  $dataType = \PDO::PARAM_STR) : boolean
+

Binds a value to a corresponding named or question mark placeholder in the SQL statement that was used to +prepare the statement

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
mixed$parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a +parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the +1-indexed position of the parameter.

mixed$value

The value to bind to the parameter

integer$dataType

Explicit data type for the parameter using the PDO::PARAM_* constants.

+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

closeCursor()

+ +
closeCursor() : boolean
+

Frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a +state that enables it to be executed again

+ + + + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

columnCount()

+ +
columnCount() : integer
+

Returns the number of columns in the result set

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

debugDumpParams()

+ +
debugDumpParams() : void
+

Dumps the information contained by a prepared statement directly on the output

+ + + + + +
+
+ +
+ +
+
+ +
+

errorCode()

+ +
errorCode() : string
+

Fetch the SQLSTATE associated with the last operation on the statement handle

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

errorInfo()

+ +
errorInfo() : array
+

Fetch extended error information associated with the last operation on the statement handle

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

execute()

+ +
execute(array  $boundInputParams = NULL) : boolean
+

Run a prepared statement query

+ + +

Parameters

+ + + + + + +
array$boundInputParams
+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

fetch()

+ +
fetch(integer  $how = \PDO::ATTR_DEFAULT_FETCH_MODE, integer  $orientation = \PDO::FETCH_ORI_NEXT, integer  $offset) : mixed
+

Fetches the next row from a result set

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
integer$how
integer$orientation
integer$offset
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

fetchColumn()

+ +
fetchColumn(integer  $columnNumber) : mixed
+

Returns a single column from the next row of a result set

+ + +

Parameters

+ + + + + + +
integer$columnNumber
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

fetchObject()

+ +
fetchObject(string  $className = "stdClass", array  $ctorArgs = NULL) : mixed
+

Fetches the next row and returns it as an object

+ + +

Parameters

+ + + + + + + + + + + +
string$className
array$ctorArgs
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getAttribute()

+ +
getAttribute(integer  $attribute) : mixed
+

Retrieve a statement attribute

+ + +

Parameters

+ + + + + + +
integer$attribute
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

nextRowset()

+ +
nextRowset() : boolean
+

Advances to the next rowset in a multi-rowset statement handle

+ + + + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

rowCount()

+ +
rowCount() : integer
+

Returns the number of rows affected by the last SQL statement

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

setAttribute()

+ +
setAttribute(integer  $attribute, mixed  $value) : boolean
+

Set a statement attribute

+ + +

Parameters

+ + + + + + + + + + + +
integer$attribute
mixed$value
+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

setFetchMode()

+ +
setFetchMode(integer  $mode) : boolean
+

Set the default fetch mode for this statement

+ + +

Parameters

+ + + + + + +
integer$mode
+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Pgsql.Driver.html b/docs/classes/Query.Drivers.Pgsql.Driver.html new file mode 100644 index 0000000..31af307 --- /dev/null +++ b/docs/classes/Query.Drivers.Pgsql.Driver.html @@ -0,0 +1,1930 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\PgsqlDriver

+

PostgreSQL specific class

+

Extends PDO to simplify cross-database issues

+ + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ __call()
+ getLastQuery()
+ setLastQuery()
+ getSql()
+ getUtil()
+ setTablePrefix()
+ prepareQuery()
+ prepareExecute()
+ affectedRows()
+ prefixTable()
+ quoteTable()
+ quoteIdent()
+ getSchemas()
+ getTables()
+ getDbs()
+ getViews()
+ getSequences()
+ getFunctions()
+ getProcedures()
+ getTriggers()
+ getSystemTables()
+ getColumns()
+ getFks()
+ getIndexes()
+ getTypes()
+ driverQuery()
+ numRows()
+ insertBatch()
+ updateBatch()
+ _quote()
+ truncate()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ _loadSubClasses()
+ _prefix()
+
+
+ $statement
+ $escapeCharOpen
+ $escapeCharClose
+ $sql
+ $util
+ $lastQuery
+ $tablePrefix
+ $hasTruncate
+
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$statement

+
$statement : \PDOStatement
+

Reference to the last executed query

+ + +

Type

+ \PDOStatement +
+
+ +
+ +
+
+ +
+

$escapeCharOpen

+
$escapeCharOpen : string
+

Start character to escape identifiers

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$escapeCharClose

+
$escapeCharClose : string
+

End character to escape identifiers

+ + +

Type

+ string +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$lastQuery

+
$lastQuery : string
+

Last query executed

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$tablePrefix

+
$tablePrefix : string
+

Prefix to apply to table names

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$hasTruncate

+
$hasTruncate : boolean
+

Whether the driver supports 'TRUNCATE'

+ + +

Type

+ boolean +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(string  $dsn, string  $username = NULL, string  $password = NULL, array  $options = array()) 
+

Connect to a PosgreSQL database

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$dsn
string$username
string$password
array$options
+ + + +
+
+ +
+ +
+
+ +
+

__call()

+ +
__call(string  $name, array  $args = array()) : mixed
+

Allow invoke to work on table object

+ + +

Parameters

+ + + + + + + + + + + +
string$name
array$args
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getLastQuery()

+ +
getLastQuery() : string
+

Get the last sql query executed

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

setLastQuery()

+ +
setLastQuery(string  $queryString) : void
+

Set the last query sql

+ + +

Parameters

+ + + + + + +
string$queryString
+ + + +
+
+ +
+ +
+
+ +
+

getSql()

+ +
getSql() : \Query\Drivers\SQLInterface
+

Get the SQL class for the current driver

+ + + + +

Returns

+ \Query\Drivers\SQLInterface + +
+
+ +
+ +
+
+ +
+

getUtil()

+ +
getUtil() : \Query\Drivers\AbstractUtil
+

Get the Util class for the current driver

+ + + + +

Returns

+ \Query\Drivers\AbstractUtil + +
+
+ +
+ +
+
+ +
+

setTablePrefix()

+ +
setTablePrefix(string  $prefix) : void
+

Set the common table name prefix

+ + +

Parameters

+ + + + + + +
string$prefix
+ + + +
+
+ +
+ +
+
+ +
+

prepareQuery()

+ +
prepareQuery(string  $sql, array  $data) : \PDOStatement
+

Simplifies prepared statements for database queries

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$data
+ +

Throws

+
+
\InvalidArgumentException
+
+
+ +

Returns

+ \PDOStatement + —

| FALSE

+ +
+
+ +
+ +
+
+ +
+

prepareExecute()

+ +
prepareExecute(string  $sql, array  $params) : \PDOStatement
+

Create and execute a prepared statement with the provided parameters

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$params
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

affectedRows()

+ +
affectedRows() : integer
+

Returns number of rows affected by an INSERT, UPDATE, DELETE type query

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

prefixTable()

+ +
prefixTable(string  $table) : string
+

Prefixes a table if it is not already prefixed

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $table) : string
+

Quote database table name, and set prefix

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(mixed  $identifier) : string
+

Surrounds the string with the databases identifier escape characters

+ + +

Parameters

+ + + + + + +
mixed$identifier
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getSchemas()

+ +
getSchemas() : array
+

Get a list of schemas for the current connection

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTables()

+ +
getTables() : array
+

Return list of tables for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getDbs()

+ +
getDbs() : array
+

Return list of dbs for the current connection, if possible

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getViews()

+ +
getViews() : array
+

Return list of views for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSequences()

+ +
getSequences() : array
+

Return list of sequences for the current database, if they exist

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFunctions()

+ +
getFunctions() : array
+

Return list of functions for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getProcedures()

+ +
getProcedures() : array
+

Return list of stored procedures for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTriggers()

+ +
getTriggers() : array
+

Return list of triggers for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSystemTables()

+ +
getSystemTables() : array
+

Retrieves an array of non-user-created tables for +the connection/database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getColumns()

+ +
getColumns(string  $table) : array
+

Retrieve column information for the current database table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFks()

+ +
getFks(string  $table) : array
+

Retrieve foreign keys for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getIndexes()

+ +
getIndexes(string  $table) : array
+

Retrieve indexes for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTypes()

+ +
getTypes() : array
+

Retrieve list of data types for the database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

driverQuery()

+ +
driverQuery(string|array|null  $query, boolean  $filteredIndex = TRUE) : array
+

Method to simplify retrieving db results for meta-data queries

+ + +

Parameters

+ + + + + + + + + + + +
string|array|null$query
boolean$filteredIndex
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

numRows()

+ +
numRows() : integer|null
+

Return the number of rows returned for a SELECT query

+ + + + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

insertBatch()

+ +
insertBatch(string  $table, array|object  $data = array()) : null|\Query\Drivers\array<string|array|\Query\Drivers\null>
+

Create sql for batch insert

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array|object$data
+ + +

Returns

+ null|\Query\Drivers\array + +
+
+ +
+ +
+
+ +
+

updateBatch()

+ +
updateBatch(string  $table, array|object  $data, string  $where) : integer|null
+

Creates a batch update, and executes it.

+

Returns the number of affected rows

+ +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
array|object$data
string$where
+ + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

_quote()

+ +
_quote(mixed  $str) : mixed
+

Helper method for quote_ident

+ + +

Parameters

+ + + + + + +
mixed$str
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

truncate()

+ +
truncate(string  $table) : \PDOStatement
+

Empty the passed table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

_loadSubClasses()

+ +
_loadSubClasses() : void
+

Loads the subclasses for the driver

+ + + + + +
+
+ +
+ +
+
+ +
+

_prefix()

+ +
_prefix(string  $str) : string
+

Sets the table prefix on the passed string

+ + +

Parameters

+ + + + + + +
string$str
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Pgsql.SQL.html b/docs/classes/Query.Drivers.Pgsql.SQL.html new file mode 100644 index 0000000..76c2198 --- /dev/null +++ b/docs/classes/Query.Drivers.Pgsql.SQL.html @@ -0,0 +1,935 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\PgsqlSQL

+

PostgreSQL specific SQL

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ limit()
+ explain()
+ random()
+ dbList()
+ tableList()
+ systemTableList()
+ viewList()
+ triggerList()
+ functionList()
+ procedureList()
+ sequenceList()
+ columnList()
+ typeList()
+ fkList()
+ indexList()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + + +
+

Methods

+ +
+ +
+
+ +
+

limit()

+ +
limit(string  $sql, integer  $limit, integer|boolean  $offset = FALSE) : string
+

Limit clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$sql
integer$limit
integer|boolean$offset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

explain()

+ +
explain(string  $sql) : string
+

Get the query plan for the sql query

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

random()

+ +
random() : string
+

Random ordering keyword

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

dbList()

+ +
dbList() : string
+

Returns sql to list other databases

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

tableList()

+ +
tableList() : string
+

Returns sql to list tables

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

systemTableList()

+ +
systemTableList() : string
+

Returns sql to list system tables

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

viewList()

+ +
viewList() : string
+

Returns sql to list views

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

triggerList()

+ +
triggerList() : string
+

Returns sql to list triggers

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

functionList()

+ +
functionList() : NULL
+

Return sql to list functions

+ + + + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

procedureList()

+ +
procedureList() : string
+

Return sql to list stored procedures

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

sequenceList()

+ +
sequenceList() : string
+

Return sql to list sequences

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

columnList()

+ +
columnList(string  $table) : string
+

Return sql to list columns of the specified table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

typeList()

+ +
typeList() : string
+

SQL to show list of field types

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

fkList()

+ +
fkList(string  $table) : string
+

Get the list of foreign keys for the current +table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

indexList()

+ +
indexList(string  $table) : array
+

Get the list of indexes for the current table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Pgsql.Util.html b/docs/classes/Query.Drivers.Pgsql.Util.html new file mode 100644 index 0000000..f39ea10 --- /dev/null +++ b/docs/classes/Query.Drivers.Pgsql.Util.html @@ -0,0 +1,786 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\PgsqlUtil

+

Posgres-specific backup, import and creation methods

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ getDriver()
+ createTable()
+ deleteTable()
+ backupStructure()
+ backupData()
+ quoteIdent()
+ quoteTable()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ $conn
+
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ + +
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(\Query\Drivers\DriverInterface  $conn) 
+

Save a reference to the connection object for later use

+ + +

Parameters

+ + + + + + +
\Query\Drivers\DriverInterface$conn
+ + + +
+
+ +
+ +
+
+ +
+

getDriver()

+ +
getDriver() : \Query\Drivers\DriverInterface
+

Get the driver object for the current connection

+ + + + +

Returns

+ \Query\Drivers\DriverInterface + +
+
+ +
+ +
+
+ +
+

createTable()

+ +
createTable(string  $name, array  $fields, array  $constraints = array(), boolean  $ifNotExists = TRUE) : string
+

Convenience public function to generate sql for creating a db table

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$name
array$fields
array$constraints
boolean$ifNotExists
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

deleteTable()

+ +
deleteTable(string  $name) : string
+

Drop the selected table

+ + +

Parameters

+ + + + + + +
string$name
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupStructure()

+ +
backupStructure() : string
+

Create an SQL backup file for the current database's structure

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupData()

+ +
backupData(array  $exclude = array()) : string
+

Create an SQL backup file for the current database's data

+ + +

Parameters

+ + + + + + +
array$exclude
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.SQLInterface.html b/docs/classes/Query.Drivers.SQLInterface.html new file mode 100644 index 0000000..18f0ac6 --- /dev/null +++ b/docs/classes/Query.Drivers.SQLInterface.html @@ -0,0 +1,911 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\DriversSQLInterface

+

parent for database manipulation subclasses

+ + +
+

Summary

+
+
+ Methods +
+
+ Constants +
+
+
+
+ limit()
+ explain()
+ random()
+ dbList()
+ tableList()
+ systemTableList()
+ viewList()
+ triggerList()
+ functionList()
+ procedureList()
+ sequenceList()
+ typeList()
+ columnList()
+ fkList()
+ indexList()
+
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ N/A +
+
+
+
+ +
+ + +
+
+

Methods

+
+ +
+ +
+
+ +
+

limit()

+ +
limit(string  $sql, integer  $limit, integer|boolean  $offset = FALSE) : string
+

Get database specific sql for limit clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$sql
integer$limit
integer|boolean$offset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

explain()

+ +
explain(string  $sql) : string
+

Modify the query to get the query plan

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

random()

+ +
random() : string
+

Get the sql for random ordering

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

dbList()

+ +
dbList() : string
+

Returns sql to list other databases

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

tableList()

+ +
tableList() : string
+

Returns sql to list tables

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

systemTableList()

+ +
systemTableList() : string
+

Returns sql to list system tables

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

viewList()

+ +
viewList() : string
+

Returns sql to list views

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

triggerList()

+ +
triggerList() : string
+

Returns sql to list triggers

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

functionList()

+ +
functionList() : NULL
+

Return sql to list functions

+ + + + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

procedureList()

+ +
procedureList() : string
+

Return sql to list stored procedures

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

sequenceList()

+ +
sequenceList() : string
+

Return sql to list sequences

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

typeList()

+ +
typeList() : string|array
+

Return sql to list database field types

+ + + + +

Returns

+ string|array + +
+
+ +
+ +
+
+ +
+

columnList()

+ +
columnList(string  $table) : string
+

Get information about the columns in the +specified table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

fkList()

+ +
fkList(string  $table) : array
+

Get the list of foreign keys for the current +table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

indexList()

+ +
indexList(string  $table) : array
+

Get the list of indexes for the current table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Sqlite.Driver.html b/docs/classes/Query.Drivers.Sqlite.Driver.html new file mode 100644 index 0000000..d43f09d --- /dev/null +++ b/docs/classes/Query.Drivers.Sqlite.Driver.html @@ -0,0 +1,1925 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\SqliteDriver

+

SQLite specific class

+

Extends PDO to simplify cross-database issues

+ + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ __call()
+ getLastQuery()
+ setLastQuery()
+ getSql()
+ getUtil()
+ setTablePrefix()
+ prepareQuery()
+ prepareExecute()
+ affectedRows()
+ prefixTable()
+ quoteTable()
+ quoteIdent()
+ getSchemas()
+ getTables()
+ getDbs()
+ getViews()
+ getSequences()
+ getFunctions()
+ getProcedures()
+ getTriggers()
+ getSystemTables()
+ getColumns()
+ getFks()
+ getIndexes()
+ getTypes()
+ driverQuery()
+ numRows()
+ insertBatch()
+ updateBatch()
+ _quote()
+ truncate()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ _loadSubClasses()
+ _prefix()
+
+
+ $statement
+ $escapeCharOpen
+ $escapeCharClose
+ $sql
+ $util
+ $lastQuery
+ $tablePrefix
+ $hasTruncate
+
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$statement

+
$statement : \PDOStatement
+

Reference to the last executed sql query

+ + +

Type

+ \PDOStatement +
+
+ +
+ +
+
+ +
+

$escapeCharOpen

+
$escapeCharOpen : string
+

Start character to escape identifiers

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$escapeCharClose

+
$escapeCharClose : string
+

End character to escape identifiers

+ + +

Type

+ string +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$lastQuery

+
$lastQuery : string
+

Last query executed

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$tablePrefix

+
$tablePrefix : string
+

Prefix to apply to table names

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$hasTruncate

+
$hasTruncate : boolean
+

SQLite has a truncate optimization, +but no support for the actual keyword

+ + +

Type

+ boolean +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(string  $dsn, string  $user = NULL, string  $pass = NULL, array  $driverOptions = array()) 
+

Open SQLite Database

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$dsn
string$user
string$pass
array$driverOptions
+ + + +
+
+ +
+ +
+
+ +
+

__call()

+ +
__call(string  $name, array  $args = array()) : mixed
+

Allow invoke to work on table object

+ + +

Parameters

+ + + + + + + + + + + +
string$name
array$args
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getLastQuery()

+ +
getLastQuery() : string
+

Get the last sql query executed

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

setLastQuery()

+ +
setLastQuery(string  $queryString) : void
+

Set the last query sql

+ + +

Parameters

+ + + + + + +
string$queryString
+ + + +
+
+ +
+ +
+
+ +
+

getSql()

+ +
getSql() : \Query\Drivers\SQLInterface
+

Get the SQL class for the current driver

+ + + + +

Returns

+ \Query\Drivers\SQLInterface + +
+
+ +
+ +
+
+ +
+

getUtil()

+ +
getUtil() : \Query\Drivers\AbstractUtil
+

Get the Util class for the current driver

+ + + + +

Returns

+ \Query\Drivers\AbstractUtil + +
+
+ +
+ +
+
+ +
+

setTablePrefix()

+ +
setTablePrefix(string  $prefix) : void
+

Set the common table name prefix

+ + +

Parameters

+ + + + + + +
string$prefix
+ + + +
+
+ +
+ +
+
+ +
+

prepareQuery()

+ +
prepareQuery(string  $sql, array  $data) : \PDOStatement
+

Simplifies prepared statements for database queries

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$data
+ +

Throws

+
+
\InvalidArgumentException
+
+
+ +

Returns

+ \PDOStatement + —

| FALSE

+ +
+
+ +
+ +
+
+ +
+

prepareExecute()

+ +
prepareExecute(string  $sql, array  $params) : \PDOStatement
+

Create and execute a prepared statement with the provided parameters

+ + +

Parameters

+ + + + + + + + + + + +
string$sql
array$params
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

affectedRows()

+ +
affectedRows() : integer
+

Returns number of rows affected by an INSERT, UPDATE, DELETE type query

+ + + + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

prefixTable()

+ +
prefixTable(string  $table) : string
+

Prefixes a table if it is not already prefixed

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $table) : string
+

Quote database table name, and set prefix

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(mixed  $identifier) : string
+

Surrounds the string with the databases identifier escape characters

+ + +

Parameters

+ + + + + + +
mixed$identifier
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getSchemas()

+ +
getSchemas() : array
+

Return schemas for databases that list them

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTables()

+ +
getTables() : mixed
+

List tables for the current database

+ + + + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

getDbs()

+ +
getDbs() : array
+

Return list of dbs for the current connection, if possible

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getViews()

+ +
getViews() : array
+

Return list of views for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSequences()

+ +
getSequences() : array
+

Return list of sequences for the current database, if they exist

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFunctions()

+ +
getFunctions() : array
+

Return list of functions for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getProcedures()

+ +
getProcedures() : array
+

Return list of stored procedures for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTriggers()

+ +
getTriggers() : array
+

Return list of triggers for the current database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getSystemTables()

+ +
getSystemTables() : array
+

Retrieves an array of non-user-created tables for +the connection/database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getColumns()

+ +
getColumns(string  $table) : array
+

Retrieve column information for the current database table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getFks()

+ +
getFks(string  $table) : array
+

Retrieve foreign keys for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getIndexes()

+ +
getIndexes(string  $table) : array
+

Retrieve indexes for the table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

getTypes()

+ +
getTypes() : array
+

Retrieve list of data types for the database

+ + + + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

driverQuery()

+ +
driverQuery(string|array|null  $query, boolean  $filteredIndex = TRUE) : array
+

Method to simplify retrieving db results for meta-data queries

+ + +

Parameters

+ + + + + + + + + + + +
string|array|null$query
boolean$filteredIndex
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

numRows()

+ +
numRows() : integer|null
+

Return the number of rows returned for a SELECT query

+ + + + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

insertBatch()

+ +
insertBatch(string  $table, array  $data = array()) : string
+

Create sql for batch insert

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array$data
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

updateBatch()

+ +
updateBatch(string  $table, array|object  $data, string  $where) : integer|null
+

Creates a batch update, and executes it.

+

Returns the number of affected rows

+ +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
array|object$data
string$where
+ + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

_quote()

+ +
_quote(mixed  $str) : mixed
+

Helper method for quote_ident

+ + +

Parameters

+ + + + + + +
mixed$str
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

truncate()

+ +
truncate(string  $table) : \PDOStatement
+

Empty the passed table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

_loadSubClasses()

+ +
_loadSubClasses() : void
+

Loads the subclasses for the driver

+ + + + + +
+
+ +
+ +
+
+ +
+

_prefix()

+ +
_prefix(string  $str) : string
+

Sets the table prefix on the passed string

+ + +

Parameters

+ + + + + + +
string$str
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Sqlite.SQL.html b/docs/classes/Query.Drivers.Sqlite.SQL.html new file mode 100644 index 0000000..8ac7932 --- /dev/null +++ b/docs/classes/Query.Drivers.Sqlite.SQL.html @@ -0,0 +1,935 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\SqliteSQL

+

SQLite Specific SQL

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ limit()
+ explain()
+ random()
+ dbList()
+ tableList()
+ systemTableList()
+ viewList()
+ triggerList()
+ functionList()
+ procedureList()
+ sequenceList()
+ typeList()
+ columnList()
+ fkList()
+ indexList()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + + +
+

Methods

+ +
+ +
+
+ +
+

limit()

+ +
limit(string  $sql, integer  $limit, integer|boolean  $offset = FALSE) : string
+

Limit clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$sql
integer$limit
integer|boolean$offset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

explain()

+ +
explain(string  $sql) : string
+

Get the query plan for the sql query

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

random()

+ +
random() : string
+

Random ordering keyword

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

dbList()

+ +
dbList() : string
+

Returns sql to list other databases

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

tableList()

+ +
tableList() : string
+

Returns sql to list tables

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

systemTableList()

+ +
systemTableList() : array<mixed,string>
+

List the system tables

+ + + + +

Returns

+ array<mixed,string> + +
+
+ +
+ +
+
+ +
+

viewList()

+ +
viewList() : string
+

Returns sql to list views

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

triggerList()

+ +
triggerList() : string
+

Returns sql to list triggers

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

functionList()

+ +
functionList() : NULL
+

Return sql to list functions

+ + + + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

procedureList()

+ +
procedureList() : NULL
+

Return sql to list stored procedures

+ + + + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

sequenceList()

+ +
sequenceList() : NULL
+

Return sql to list sequences

+ + + + +

Returns

+ NULL + +
+
+ +
+ +
+
+ +
+

typeList()

+ +
typeList() : array<mixed,string>
+

SQL to show list of field types

+ + + + +

Returns

+ array<mixed,string> + +
+
+ +
+ +
+
+ +
+

columnList()

+ +
columnList(string  $table) : string
+

SQL to show infromation about columns in a table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

fkList()

+ +
fkList(string  $table) : string
+

Get the list of foreign keys for the current +table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

indexList()

+ +
indexList(string  $table) : string
+

Get the list of indexes for the current table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.Drivers.Sqlite.Util.html b/docs/classes/Query.Drivers.Sqlite.Util.html new file mode 100644 index 0000000..469b9f0 --- /dev/null +++ b/docs/classes/Query.Drivers.Sqlite.Util.html @@ -0,0 +1,860 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\Query\Drivers\SqliteUtil

+

SQLite-specific backup, import and creation methods

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ getDriver()
+ createTable()
+ deleteTable()
+ backupStructure()
+ backupData()
+ query()
+ quote()
+ quoteIdent()
+ quoteTable()
+
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ $conn
+
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ + +
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(\Query\Drivers\DriverInterface  $conn) 
+

Save a reference to the connection object for later use

+ + +

Parameters

+ + + + + + +
\Query\Drivers\DriverInterface$conn
+ + + +
+
+ +
+ +
+
+ +
+

getDriver()

+ +
getDriver() : \Query\Drivers\DriverInterface
+

Get the driver object for the current connection

+ + + + +

Returns

+ \Query\Drivers\DriverInterface + +
+
+ +
+ +
+
+ +
+

createTable()

+ +
createTable(string  $name, array  $fields, array  $constraints = array(), boolean  $ifNotExists = TRUE) : string
+

Convenience public function to generate sql for creating a db table

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$name
array$fields
array$constraints
boolean$ifNotExists
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

deleteTable()

+ +
deleteTable(string  $name) : string
+

Drop the selected table

+ + +

Parameters

+ + + + + + +
string$name
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupStructure()

+ +
backupStructure() : string
+

Create an SQL backup file for the current database's structure

+ + + + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

backupData()

+ +
backupData(array  $excluded = array()) : string
+

Create an SQL backup file for the current database's data

+ + +

Parameters

+ + + + + + +
array$excluded
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

query()

+ +
query(string  $sql) : mixed
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

quote()

+ +
quote(string  $str) : string
+

+ + +

Parameters

+ + + + + + +
string$str
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteIdent()

+ +
quoteIdent(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

quoteTable()

+ +
quoteTable(string  $sql) : string
+

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.QueryBuilder.html b/docs/classes/Query.QueryBuilder.html new file mode 100644 index 0000000..967548f --- /dev/null +++ b/docs/classes/Query.QueryBuilder.html @@ -0,0 +1,3746 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+ + +
+ + +
+
+

Constants

+
+ +
+ +
+
+ +
+

KEY

+
KEY
+

+ +
+
+ +
+ +
+
+ +
+

VALUE

+
VALUE
+

+ +
+
+ +
+ +
+
+ +
+

BOTH

+
BOTH
+

+ +
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$connName

+
$connName : string
+

Convenience property for connection management

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$queries

+
$queries : array
+

List of queries executed

+ + +

Type

+ array +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$parser

+
$parser : \Query\QueryParser
+

Query parser class instance

+ + +

Type

+ \Query\QueryParser +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$selectString

+
$selectString : string
+

Compiled 'select' clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$fromString

+
$fromString : string
+

Compiled 'from' clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$setString

+
$setString : string
+

Compiled arguments for insert / update

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$orderString

+
$orderString : string
+

Order by clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$groupString

+
$groupString : string
+

Group by clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$setArrayKeys

+
$setArrayKeys : array
+

Keys for insert/update statement

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$orderArray

+
$orderArray : array
+

Key/val pairs for order by clause

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$groupArray

+
$groupArray : array
+

Key/val pairs for group by clause

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$values

+
$values : array
+

Values to apply to prepared statements

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$whereValues

+
$whereValues : array
+

Values to apply to where clauses in prepared statements

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$limit

+
$limit : string
+

Value for limit string

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$offset

+
$offset : integer
+

Value for offset in limit string

+ + +

Type

+ integer +
+
+ +
+ +
+
+ +
+

$queryMap

+
$queryMap : array
+

Query component order mapping +for complex select queries

+

Format: +array( +'type' => 'where', +'conjunction' => ' AND ', +'string' => 'k=?' +)

+ +

Type

+ array +
+
+ +
+ +
+
+ +
+

$havingMap

+
$havingMap : array
+

Map for having clause

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$explain

+
$explain : boolean
+

Whether to do only an explain on the query

+ + +

Type

+ boolean +
+
+ +
+ +
+
+ +
+

$stringVars

+
$stringVars : array
+

String class values to be reset

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$arrayVars

+
$arrayVars : array
+

Array class variables to be reset

+ + +

Type

+ array +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

__destruct()

+ +
__destruct() 
+

Destructor

+ + + + + +
+
+ +
+ +
+
+ +
+

__call()

+ +
__call(string  $name, array  $params) : mixed
+

Calls a function further down the inheritance chain

+ + +

Parameters

+ + + + + + + + + + + +
string$name
array$params
+ +

Throws

+
+
\BadMethodCallException
+
+
+ +

Returns

+ mixed + +
+
+ +
+ +
+
+ +
+

select()

+ +
select(string  $fields) : \Query\QueryBuilderInterface
+

Specifies rows to select in a query

+ + +

Parameters

+ + + + + + +
string$fields
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

selectMax()

+ +
selectMax(string  $field, string|boolean  $as = FALSE) : \Query\QueryBuilderInterface
+

Selects the maximum value of a field from a query

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

selectMin()

+ +
selectMin(string  $field, string|boolean  $as = FALSE) : \Query\QueryBuilderInterface
+

Selects the minimum value of a field from a query

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

selectAvg()

+ +
selectAvg(string  $field, string|boolean  $as = FALSE) : \Query\QueryBuilderInterface
+

Selects the average value of a field from a query

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

selectSum()

+ +
selectSum(string  $field, string|boolean  $as = FALSE) : \Query\QueryBuilderInterface
+

Selects the sum of a field from a query

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

distinct()

+ +
distinct() : \Query\QueryBuilderInterface
+

Adds the 'distinct' keyword to a query

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

explain()

+ +
explain() : \Query\QueryBuilderInterface
+

Tell the database to give you the query plan instead of result set

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

from()

+ +
from(string  $tblname) : \Query\QueryBuilderInterface
+

Specify the database table to select from

+ + +

Parameters

+ + + + + + +
string$tblname
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

like()

+ +
like(string  $field, mixed  $val, string  $pos = 'both') : \Query\QueryBuilderInterface
+

Creates a Like clause in the sql statement

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orLike()

+ +
orLike(string  $field, mixed  $val, string  $pos = 'both') : \Query\QueryBuilderInterface
+

Generates an OR Like clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

notLike()

+ +
notLike(string  $field, mixed  $val, string  $pos = 'both') : \Query\QueryBuilderInterface
+

Generates a NOT LIKE clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orNotLike()

+ +
orNotLike(string  $field, mixed  $val, string  $pos = 'both') : \Query\QueryBuilderInterface
+

Generates a OR NOT LIKE clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

having()

+ +
having(mixed  $key, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Generates a 'Having' clause

+ + +

Parameters

+ + + + + + + + + + + +
mixed$key
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orHaving()

+ +
orHaving(mixed  $key, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Generates a 'Having' clause prefixed with 'OR'

+ + +

Parameters

+ + + + + + + + + + + +
mixed$key
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

where()

+ +
where(mixed  $key, mixed  $val = array(), mixed  $escape = NULL) : \Query\QueryBuilderInterface
+

Specify condition(s) in the where clause of a query +Note: this function works with key / value, or a +passed array with key / value pairs

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
mixed$key
mixed$val
mixed$escape
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orWhere()

+ +
orWhere(string  $key, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Where clause prefixed with "OR"

+ + +

Parameters

+ + + + + + + + + + + +
string$key
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

whereIn()

+ +
whereIn(mixed  $field, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Where clause with 'IN' statement

+ + +

Parameters

+ + + + + + + + + + + +
mixed$field
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orWhereIn()

+ +
orWhereIn(string  $field, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Where in statement prefixed with "or"

+ + +

Parameters

+ + + + + + + + + + + +
string$field
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

whereNotIn()

+ +
whereNotIn(string  $field, mixed  $val = array()) : \Query\QueryBuilderInterface
+

WHERE NOT IN (FOO) clause

+ + +

Parameters

+ + + + + + + + + + + +
string$field
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orWhereNotIn()

+ +
orWhereNotIn(string  $field, mixed  $val = array()) : \Query\QueryBuilderInterface
+

OR WHERE NOT IN (FOO) clause

+ + +

Parameters

+ + + + + + + + + + + +
string$field
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

set()

+ +
set(mixed  $key, mixed  $val = NULL) : \Query\QueryBuilderInterface
+

Sets values for inserts / updates / deletes

+ + +

Parameters

+ + + + + + + + + + + +
mixed$key
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

join()

+ +
join(string  $table, string  $condition, string  $type = '') : \Query\QueryBuilderInterface
+

Creates a join phrase in a compiled query

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
string$condition
string$type
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

groupBy()

+ +
groupBy(mixed  $field) : \Query\QueryBuilderInterface
+

Group the results by the selected field(s)

+ + +

Parameters

+ + + + + + +
mixed$field
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orderBy()

+ +
orderBy(string  $field, string  $type = "") : \Query\QueryBuilderInterface
+

Order the results by the selected field(s)

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string$type
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

limit()

+ +
limit(integer  $limit, integer|boolean  $offset = FALSE) : \Query\QueryBuilderInterface
+

Set a limit on the current sql statement

+ + +

Parameters

+ + + + + + + + + + + +
integer$limit
integer|boolean$offset
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

groupStart()

+ +
groupStart() : \Query\QueryBuilderInterface
+

Adds a paren to the current query for query grouping

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

notGroupStart()

+ +
notGroupStart() : \Query\QueryBuilderInterface
+

Adds a paren to the current query for query grouping, +prefixed with 'NOT'

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orGroupStart()

+ +
orGroupStart() : \Query\QueryBuilderInterface
+

Adds a paren to the current query for query grouping, +prefixed with 'OR'

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orNotGroupStart()

+ +
orNotGroupStart() : \Query\QueryBuilderInterface
+

Adds a paren to the current query for query grouping, +prefixed with 'OR NOT'

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

get()

+ +
get(string  $table = '', integer|boolean  $limit = FALSE, integer|boolean  $offset = FALSE) : \PDOStatement
+

Select and retrieve all records from the current table, and/or +execute current compiled query

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
integer|boolean$limit
integer|boolean$offset
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

getWhere()

+ +
getWhere(string  $table, array  $where = array(), integer|boolean  $limit = FALSE, integer|boolean  $offset = FALSE) : \PDOStatement
+

Convenience method for get() with a where clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$table
array$where
integer|boolean$limit
integer|boolean$offset
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

countAll()

+ +
countAll(string  $table) : integer
+

Retrieve the number of rows in the selected table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

countAllResults()

+ +
countAllResults(string  $table = '', boolean  $reset = TRUE) : integer
+

Retrieve the number of results for the generated query - used +in place of the get() method

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
    +
  • Whether to keep the query after counting the results
  • +
+ + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

insert()

+ +
insert(string  $table, mixed  $data = array()) : \PDOStatement
+

Creates an insert clause, and executes it

+ + +

Parameters

+ + + + + + + + + + + +
string$table
mixed$data
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

insertBatch()

+ +
insertBatch(string  $table, array  $data = array()) : \PDOStatement
+

Creates and executes a batch insertion query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array$data
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

update()

+ +
update(string  $table, mixed  $data = array()) : \PDOStatement
+

Creates an update clause, and executes it

+ + +

Parameters

+ + + + + + + + + + + +
string$table
mixed$data
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

updateBatch()

+ +
updateBatch(string  $table, array|object  $data, string  $where) : integer|null
+

Creates a batch update, and executes it.

+

Returns the number of affected rows

+ +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
array|object$data
string$where
+ + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

replace()

+ +
replace(string  $table, array  $data = array()) : \PDOStatement|null
+

Insertion with automatic overwrite, rather than attempted duplication

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array$data
+ + +

Returns

+ \PDOStatement|null + +
+
+ +
+ +
+
+ +
+

delete()

+ +
delete(string  $table, mixed  $where = '') : \PDOStatement
+

Deletes data from a table

+ + +

Parameters

+ + + + + + + + + + + +
string$table
mixed$where
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

getCompiledSelect()

+ +
getCompiledSelect(string  $table = '', boolean  $reset = TRUE) : string
+

Returns the generated 'select' sql query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getCompiledInsert()

+ +
getCompiledInsert(string  $table, boolean  $reset = TRUE) : string
+

Returns the generated 'insert' sql query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getCompiledUpdate()

+ +
getCompiledUpdate(string  $table = '', boolean  $reset = TRUE) : string
+

Returns the generated 'update' sql query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getCompiledDelete()

+ +
getCompiledDelete(string  $table = '', boolean  $reset = TRUE) : string
+

Returns the generated 'delete' sql query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

resetQuery()

+ +
resetQuery() : void
+

Clear out the class variables, so the next query can be run

+ + + + + +
+
+ +
+ +
+
+ +
+

_mixedSet()

+ +
_mixedSet(array  $var, mixed  $key, mixed  $val = NULL, integer  $valType = self::BOTH) : array
+

Set values in the class, with either an array or key value pair

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
array$var
mixed$key
mixed$val
integer$valType
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

_select()

+ +
_select(string  $field, string|boolean  $as = FALSE) : string
+

Method to simplify select_ methods

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

_getCompile()

+ +
_getCompile(string  $type, string  $table, boolean  $reset) : string
+

Helper function for returning sql strings

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$type
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

_like()

+ +
_like(string  $field, mixed  $val, string  $pos, string  $like = 'LIKE', string  $conj = 'AND') : \Query\QueryBuilderInterface
+

Simplify 'like' methods

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
string$like
string$conj
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

_having()

+ +
_having(mixed  $key, mixed  $val = array(), string  $conj = 'AND') : \Query\QueryBuilderInterface
+

Simplify building having clauses

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
mixed$key
mixed$val
string$conj
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

_where()

+ +
_where(mixed  $key, mixed  $val = array()) : array
+

Do all the redundant stuff for where/having type methods

+ + +

Parameters

+ + + + + + + + + + + +
mixed$key
mixed$val
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

_whereString()

+ +
_whereString(mixed  $key, mixed  $val = array(), string  $defaultConj = 'AND') : \Query\QueryBuilderInterface
+

Simplify generating where string

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
mixed$key
mixed$val
string$defaultConj
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

_whereIn()

+ +
_whereIn(mixed  $key, mixed  $val = array(), string  $in = 'IN', string  $conj = 'AND') : \Query\QueryBuilderInterface
+

Simplify where_in methods

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
mixed$key
mixed$val
string$in
    +
  • The (not) in fragment
  • +
string$conj
    +
  • The where in conjunction
  • +
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

_run()

+ +
_run(string  $type, string  $table, string  $sql = NULL, array|null  $vals = NULL, boolean  $reset = TRUE) : \PDOStatement
+

Executes the compiled query

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
string$type
string$table
string$sql
array|null$vals
boolean$reset
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

_appendMap()

+ +
_appendMap(string  $conjunction = '', string  $string = '', string  $type = '') : void
+

Add an additional set of mapping pairs to a internal map

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$conjunction
string$string
string$type
+ + + +
+
+ +
+ +
+
+ +
+

_appendQuery()

+ +
_appendQuery(array  $vals, string  $sql, integer  $totalTime) : void
+

Convert the prepared statement into readable sql

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
array$vals
string$sql
integer$totalTime
+ + + +
+
+ +
+ +
+
+ +
+

_compileType()

+ +
_compileType(string  $type = '', string  $table = '') : string
+

Sub-method for generating sql strings

+ + +

Parameters

+ + + + + + + + + + + +
string$type
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

_compile()

+ +
_compile(string  $type = '', string  $table = '') : string
+

String together the sql statements for sending to the db

+ + +

Parameters

+ + + + + + + + + + + +
string$type
string$table
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.QueryBuilderInterface.html b/docs/classes/Query.QueryBuilderInterface.html new file mode 100644 index 0000000..a0e5a81 --- /dev/null +++ b/docs/classes/Query.QueryBuilderInterface.html @@ -0,0 +1,2247 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\QueryQueryBuilderInterface

+

Interface defining the Query Builder class

+ + +
+

Summary

+
+
+ Methods +
+
+ Constants +
+
+
+
+ select()
+ selectMax()
+ selectMin()
+ selectAvg()
+ selectSum()
+ distinct()
+ explain()
+ from()
+ like()
+ orLike()
+ notLike()
+ orNotLike()
+ having()
+ orHaving()
+ where()
+ orWhere()
+ whereIn()
+ orWhereIn()
+ whereNotIn()
+ orWhereNotIn()
+ set()
+ join()
+ groupBy()
+ orderBy()
+ limit()
+ groupStart()
+ notGroupStart()
+ orGroupStart()
+ orNotGroupStart()
+ groupEnd()
+ get()
+ getWhere()
+ countAll()
+ countAllResults()
+ insert()
+ insertBatch()
+ replace()
+ update()
+ updateBatch()
+ delete()
+ getCompiledSelect()
+ getCompiledInsert()
+ getCompiledUpdate()
+ getCompiledDelete()
+ resetQuery()
+
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ N/A +
+
+
+
+ +
+ + +
+
+

Methods

+
+ +
+ +
+
+ +
+

select()

+ +
select(string  $fields) : \Query\QueryBuilderInterface
+

Specifies rows to select in a query

+ + +

Parameters

+ + + + + + +
string$fields
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

selectMax()

+ +
selectMax(string  $field, string|boolean  $as = FALSE) : \Query\QueryBuilderInterface
+

Selects the maximum value of a field from a query

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

selectMin()

+ +
selectMin(string  $field, string|boolean  $as = FALSE) : \Query\QueryBuilderInterface
+

Selects the minimum value of a field from a query

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

selectAvg()

+ +
selectAvg(string  $field, string|boolean  $as = FALSE) : \Query\QueryBuilderInterface
+

Selects the average value of a field from a query

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

selectSum()

+ +
selectSum(string  $field, string|boolean  $as = FALSE) : \Query\QueryBuilderInterface
+

Selects the sum of a field from a query

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string|boolean$as
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

distinct()

+ +
distinct() : \Query\QueryBuilderInterface
+

Adds the 'distinct' keyword to a query

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

explain()

+ +
explain() : \Query\QueryBuilderInterface
+

Shows the query plan for the query

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

from()

+ +
from(string  $tblname) : \Query\QueryBuilderInterface
+

Specify the database table to select from

+ + +

Parameters

+ + + + + + +
string$tblname
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

like()

+ +
like(string  $field, mixed  $val, string  $pos = 'both') : \Query\QueryBuilderInterface
+

Creates a Like clause in the sql statement

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orLike()

+ +
orLike(string  $field, mixed  $val, string  $pos = 'both') : \Query\QueryBuilderInterface
+

Generates an OR Like clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

notLike()

+ +
notLike(string  $field, mixed  $val, string  $pos = 'both') : \Query\QueryBuilderInterface
+

Generates a NOT LIKE clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orNotLike()

+ +
orNotLike(string  $field, mixed  $val, string  $pos = 'both') : \Query\QueryBuilderInterface
+

Generates a OR NOT LIKE clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$field
mixed$val
string$pos
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

having()

+ +
having(mixed  $key, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Generates a 'Having' clause

+ + +

Parameters

+ + + + + + + + + + + +
mixed$key
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orHaving()

+ +
orHaving(mixed  $key, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Generates a 'Having' clause prefixed with 'OR'

+ + +

Parameters

+ + + + + + + + + + + +
mixed$key
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

where()

+ +
where(mixed  $key, mixed  $val = array(), boolean  $escape = NULL) : \Query\QueryBuilderInterface
+

Specify condition(s) in the where clause of a query +Note: this function works with key / value, or a +passed array with key / value pairs

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
mixed$key
mixed$val
boolean$escape
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orWhere()

+ +
orWhere(string  $key, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Where clause prefixed with "OR"

+ + +

Parameters

+ + + + + + + + + + + +
string$key
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

whereIn()

+ +
whereIn(mixed  $field, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Where clause with 'IN' statement

+ + +

Parameters

+ + + + + + + + + + + +
mixed$field
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orWhereIn()

+ +
orWhereIn(string  $field, mixed  $val = array()) : \Query\QueryBuilderInterface
+

Where in statement prefixed with "or"

+ + +

Parameters

+ + + + + + + + + + + +
string$field
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

whereNotIn()

+ +
whereNotIn(string  $field, mixed  $val = array()) : \Query\QueryBuilderInterface
+

WHERE NOT IN (FOO) clause

+ + +

Parameters

+ + + + + + + + + + + +
string$field
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orWhereNotIn()

+ +
orWhereNotIn(string  $field, mixed  $val = array()) : \Query\QueryBuilderInterface
+

OR WHERE NOT IN (FOO) clause

+ + +

Parameters

+ + + + + + + + + + + +
string$field
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

set()

+ +
set(mixed  $key, mixed  $val = NULL) : \Query\QueryBuilderInterface
+

Sets values for inserts / updates / deletes

+ + +

Parameters

+ + + + + + + + + + + +
mixed$key
mixed$val
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

join()

+ +
join(string  $table, string  $condition, string  $type = '') : \Query\QueryBuilderInterface
+

Creates a join phrase in a compiled query

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
string$condition
string$type
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

groupBy()

+ +
groupBy(mixed  $field) : \Query\QueryBuilderInterface
+

Group the results by the selected field(s)

+ + +

Parameters

+ + + + + + +
mixed$field
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orderBy()

+ +
orderBy(string  $field, string  $type = "") : \Query\QueryBuilderInterface
+

Order the results by the selected field(s)

+ + +

Parameters

+ + + + + + + + + + + +
string$field
string$type
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

limit()

+ +
limit(integer  $limit, integer|boolean  $offset = FALSE) : \Query\QueryBuilderInterface
+

Set a limit on the current sql statement

+ + +

Parameters

+ + + + + + + + + + + +
integer$limit
integer|boolean$offset
+ + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

groupStart()

+ +
groupStart() : \Query\QueryBuilderInterface
+

Adds a paren to the current query for query grouping

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

notGroupStart()

+ +
notGroupStart() : \Query\QueryBuilderInterface
+

Adds a paren to the current query for query grouping, +prefixed with 'NOT'

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orGroupStart()

+ +
orGroupStart() : \Query\QueryBuilderInterface
+

Adds a paren to the current query for query grouping, +prefixed with 'OR'

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ +
+

orNotGroupStart()

+ +
orNotGroupStart() : \Query\QueryBuilderInterface
+

Adds a paren to the current query for query grouping, +prefixed with 'OR NOT'

+ + + + +

Returns

+ \Query\QueryBuilderInterface + +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

get()

+ +
get(string  $table = '', integer|boolean  $limit = FALSE, integer|boolean  $offset = FALSE) : \PDOStatement
+

Select and retrieve all records from the current table, and/or +execute current compiled query

+ + +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
integer|boolean$limit
integer|boolean$offset
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

getWhere()

+ +
getWhere(string  $table, array  $where = array(), integer|boolean  $limit = FALSE, integer|boolean  $offset = FALSE) : \PDOStatement
+

Convenience method for get() with a where clause

+ + +

Parameters

+ + + + + + + + + + + + + + + + + + + + + +
string$table
array$where
integer|boolean$limit
integer|boolean$offset
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

countAll()

+ +
countAll(string  $table) : integer
+

Retrieve the number of rows in the selected table

+ + +

Parameters

+ + + + + + +
string$table
+ + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

countAllResults()

+ +
countAllResults(string  $table = '', boolean  $reset = TRUE) : integer
+

Retrieve the number of results for the generated query - used +in place of the get() method

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
    +
  • Whether to keep the query after counting the results
  • +
+ + +

Returns

+ integer + +
+
+ +
+ +
+
+ +
+

insert()

+ +
insert(string  $table, mixed  $data = array()) : \PDOStatement
+

Creates an insert clause, and executes it

+ + +

Parameters

+ + + + + + + + + + + +
string$table
mixed$data
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

insertBatch()

+ +
insertBatch(string  $table, array  $data = array()) : \PDOStatement|null
+

Creates and executes a batch insertion query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array$data
+ + +

Returns

+ \PDOStatement|null + +
+
+ +
+ +
+
+ +
+

replace()

+ +
replace(string  $table, array  $data = array()) : \PDOStatement|null
+

Insertion with automatic overwrite, rather than attempted duplication

+ + +

Parameters

+ + + + + + + + + + + +
string$table
array$data
+ + +

Returns

+ \PDOStatement|null + +
+
+ +
+ +
+
+ +
+

update()

+ +
update(string  $table, mixed  $data = array()) : \PDOStatement
+

Creates an update clause, and executes it

+ + +

Parameters

+ + + + + + + + + + + +
string$table
mixed$data
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

updateBatch()

+ +
updateBatch(string  $table, array|object  $data, string  $where) : integer|null
+

Creates a batch update, and executes it.

+

Returns the number of affected rows

+ +

Parameters

+ + + + + + + + + + + + + + + + +
string$table
array|object$data
string$where
+ + +

Returns

+ integer|null + +
+
+ +
+ +
+
+ +
+

delete()

+ +
delete(string  $table, mixed  $where = '') : \PDOStatement
+

Deletes data from a table

+ + +

Parameters

+ + + + + + + + + + + +
string$table
mixed$where
+ + +

Returns

+ \PDOStatement + +
+
+ +
+ +
+
+ +
+

getCompiledSelect()

+ +
getCompiledSelect(string  $table = '', boolean  $reset = TRUE) : string
+

Returns the generated 'select' sql query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getCompiledInsert()

+ +
getCompiledInsert(string  $table, boolean  $reset = TRUE) : string
+

Returns the generated 'insert' sql query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getCompiledUpdate()

+ +
getCompiledUpdate(string  $table = '', boolean  $reset = TRUE) : string
+

Returns the generated 'update' sql query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

getCompiledDelete()

+ +
getCompiledDelete(string  $table = '', boolean  $reset = TRUE) : string
+

Returns the generated 'delete' sql query

+ + +

Parameters

+ + + + + + + + + + + +
string$table
boolean$reset
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

resetQuery()

+ +
resetQuery() : void
+

Clear out the class variables, so the next query can be run

+ + + + + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.QueryParser.html b/docs/classes/Query.QueryParser.html new file mode 100644 index 0000000..5e44150 --- /dev/null +++ b/docs/classes/Query.QueryParser.html @@ -0,0 +1,671 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\QueryQueryParser

+

Utility Class to parse sql clauses for properly escaping identifiers

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ __construct()
+ parseJoin()
+ compileJoin()
+
+
+ $matches
+
+
+ No constants found +
+
+
+
+ filterArray()
+
+
+ No protected properties found +
+
+ N/A +
+
+
+
+ No private methods found +
+
+ $db
+ $matchPatterns
+
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$matches

+
$matches : array
+

Regex matches

+ + +

Type

+ array +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+

$matchPatterns

+
$matchPatterns : array
+

Regex patterns for various syntax components

+ + +

Type

+ array +
+
+ +
+ + + +
+

Methods

+ +
+ +
+
+ +
+

__construct()

+ +
__construct(\Query\Drivers\DriverInterface  $db) 
+

Constructor/entry point into parser

+ + +

Parameters

+ + + + + + +
\Query\Drivers\DriverInterface$db
+ + + +
+
+ +
+ +
+
+ +
+

parseJoin()

+ +
parseJoin(string  $sql) : array
+

Parser method for setting the parse string

+ + +

Parameters

+ + + + + + +
string$sql
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

compileJoin()

+ +
compileJoin(string  $condition) : string
+

Compiles a join condition after parsing

+ + +

Parameters

+ + + + + + +
string$condition
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

filterArray()

+ +
filterArray(array  $array) : array
+

Returns a more useful match array

+ + +

Parameters

+ + + + + + +
array$array
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ + + + +
+ + + diff --git a/docs/classes/Query.State.html b/docs/classes/Query.State.html new file mode 100644 index 0000000..8aab90d --- /dev/null +++ b/docs/classes/Query.State.html @@ -0,0 +1,803 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

\QueryState

+

+ + + +
+

Summary

+
+
+ Methods +
+
+ Properties +
+
+ Constants +
+
+
+
+ No public methods found +
+
+ No public properties found +
+
+ No constants found +
+
+
+
+ No protected methods found +
+
+ $selectString
+ $fromString
+ $setString
+ $orderString
+ $groupString
+ $setArrayKeys
+ $orderArray
+ $groupArray
+ $values
+ $whereValues
+ $limit
+ $offset
+ $queryMap
+ $havingMap
+
+
+ N/A +
+
+
+
+ No private methods found +
+
+ No private properties found +
+
+ N/A +
+
+
+
+ +
+ + + +
+
+

Properties

+
+ +
+ +
+
+ +
+

$selectString

+
$selectString : string
+

Compiled 'select' clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$fromString

+
$fromString : string
+

Compiled 'from' clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$setString

+
$setString : string
+

Compiled arguments for insert / update

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$orderString

+
$orderString : string
+

Order by clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$groupString

+
$groupString : string
+

Group by clause

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$setArrayKeys

+
$setArrayKeys : array
+

Keys for insert/update statement

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$orderArray

+
$orderArray : array
+

Key/val pairs for order by clause

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$groupArray

+
$groupArray : array
+

Key/val pairs for group by clause

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$values

+
$values : array
+

Values to apply to prepared statements

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$whereValues

+
$whereValues : array
+

Values to apply to where clauses in prepared statements

+ + +

Type

+ array +
+
+ +
+ +
+
+ +
+

$limit

+
$limit : string
+

Value for limit string

+ + +

Type

+ string +
+
+ +
+ +
+
+ +
+

$offset

+
$offset : integer
+

Value for offset in limit string

+ + +

Type

+ integer +
+
+ +
+ +
+
+ +
+

$queryMap

+
$queryMap : array
+

Query component order mapping +for complex select queries

+

Format: +array( +'type' => 'where', +'conjunction' => ' AND ', +'string' => 'k=?' +)

+ +

Type

+ array +
+
+ +
+ +
+
+ +
+

$havingMap

+
$havingMap : array
+

Map for having clause

+ + +

Type

+ array +
+
+ +
+ + +
+
+ + + + +
+ + + diff --git a/docs/classes/Query_AbstractDriver.html b/docs/classes/Query_AbstractDriver.html deleted file mode 100644 index 2ed6462..0000000 --- a/docs/classes/Query_AbstractDriver.html +++ /dev/null @@ -1,505 +0,0 @@ - - - - - phpDox - Query\AbstractDriver - - - - - -
-
- -
- -
-

Query\AbstractDriver

-

Base Database class

-

Extends PDO to simplify cross-database issues

-
    -

    Synopsis

    -
    class AbstractDriver - extends PDO - implements - DriverInterface - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -

    Implements

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%33 / 33
    Lines100%127 / 127
    -

    Members

    -
    -

    protected

    -
      -
    • $escape_char - — - string
      Character to escape identifiers
    • -
    • $has_truncate - — - Query\bool
      Whether the driver supports 'TRUNCATE'
    • -
    • $last_query - — - string
      Last query executed
    • -
    • $sql - — - Query\SQL_Interface
      Reference to sql class
    • -
    • $statement - — - \PDOStatement
      Reference to the last executed query
    • -
    • $table_prefix - — - string
      Prefix to apply to table names
    • -
    • $util - — - Query\Abstract_Util
      Reference to util class
    • -
    -
    -

    Methods

    -
    -

    protected

    - -

    public

    -
      -
    • __construct() - — PDO constructor wrapper
    • -
    • __call() - — Allow invoke to work on table object
    • -
    • _quote() - — Helper method for quote_ident
    • -
    • affected_rows() - — Returns number of rows affected by an INSERT, UPDATE, DELETE type query
    • -
    • driver_query() - — Method to simplify retrieving db results for meta-data queries
    • -
    • get_columns() - — Retrieve column information for the current database table
    • -
    • get_dbs() - — Return list of dbs for the current connection, if possible
    • -
    • get_fks() - — Retrieve foreign keys for the table
    • -
    • get_functions() - — Return list of functions for the current database
    • -
    • get_indexes() - — Retrieve indexes for the table
    • -
    • get_last_query() - — Get the last sql query exexcuted
    • -
    • get_procedures() - — Return list of stored procedures for the current database
    • -
    • get_schemas() - — Return schemas for databases that list them
    • -
    • get_sequences() - — Return list of sequences for the current database, if they exist
    • -
    • get_sql() - — Get the SQL class for the current driver
    • -
    • get_system_tables() - — Retrieves an array of non-user-created tables for the connection/database
    • -
    • get_tables() - — Return list of tables for the current database
    • -
    • get_triggers() - — Return list of triggers for the current database
    • -
    • get_types() - — Retrieve list of data types for the database
    • -
    • get_util() - — Get the Util class for the current driver
    • -
    • get_views() - — Return list of views for the current database
    • -
    • insert_batch() - — Create sql for batch insert
    • -
    • num_rows() - — Return the number of rows returned for a SELECT query
    • -
    • prefix_table() - — Prefixes a table if it is not already prefixed
    • -
    • prepare_execute() - — Create and execute a prepared statement with the provided parameters
    • -
    • prepare_query() - — Simplifies prepared statements for database queries
    • -
    • quote_ident() - — Surrounds the string with the databases identifier escape characters
    • -
    • quote_table() - — Quote database table name, and set prefix
    • -
    • set_last_query() - — Set the last query sql
    • -
    • set_table_prefix() - — Set the common table name prefix
    • -
    • truncate() - — Empty the passed table
    • -
    -

    Inherited from PDO

    -

    public

    -
      -
    • beginTransaction() - — - Initiates a transaction -
    • -
    • commit() - — - Commits a transaction -
    • -
    • errorCode() - — - Fetch the SQLSTATE associated with the last operation on the database handle -
    • -
    • errorInfo() - — - Fetch extended error information associated with the last operation on the database handle -
    • -
    • exec() - — - Execute an SQL statement and return the number of affected rows -
    • -
    • getAttribute() - — - Retrieve a database connection attribute -
    • -
    • getAvailableDrivers() - — - Return an array of available PDO drivers -
    • -
    • inTransaction() - — - Checks if inside a transaction -
    • -
    • lastInsertId() - — - Returns the ID of the last inserted row or sequence value -
    • -
    • prepare() - — - Prepares a statement for execution and returns a statement object -
    • -
    • query() - — - Executes an SQL statement, returning a result set as a PDOStatement object -
    • -
    • quote() - — - Quotes a string for use in a query. -
    • -
    • rollBack() - — - Rolls back a transaction -
    • -
    • setAttribute() - — - Set an attribute -
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-31T10:56:16-04:00 (commit #555865b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs
      -
      -
    • -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-30T13:13:12-04:00 (commit #8669fcc)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Some scrutinizer fixes
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-17T16:01:41-04:00 (commit #b4118ce)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs
      -
      -
    • -
    • -

      2015-07-17T15:38:06-04:00 (commit #28f5cb2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix Firebird tests and speed up tests by using one database connection for each query builder datbase test
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-08-08T13:48:20-04:00 (commit #dd672df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize classes to autoload by namespace
      -
      -
    • -
    • -

      2014-08-08T12:48:14-04:00 (commit #0a0548d)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some useless code, extract an exception into its own class
      -
      -
    • -
    • -

      2014-07-15T11:01:47-04:00 (commit #2ae2064)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some very minor code quality issues
      -
      -
    • -
    • -

      2014-06-30T11:01:44-04:00 (commit #7fd90ab)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove Table Builder classes
      -
      -
    • -
    • -

      2014-04-28T16:41:46-04:00 (commit #6a38213)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improve some tests and docblocks
      -
      -
    • -
    • -

      2014-04-24T20:14:19-04:00 (commit #2ae38be)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some variable setting logic duplication
      -
      -
    • -
    • -

      2014-04-24T17:07:50-04:00 (commit #81be910)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Split Query Builder class
      -
      -
    • -
    • -

      2014-04-24T16:28:48-04:00 (commit #9da781d)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix access of member variable
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/__call.html b/docs/classes/Query_AbstractDriver/__call.html deleted file mode 100644 index 0343dfa..0000000 --- a/docs/classes/Query_AbstractDriver/__call.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::__call

-

Allow invoke to work on table object

-

-

    -

    Signature

    -
    - public function __call(string - $name, - [array - $args = ] ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -
    -
    $args - — - array
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/__construct.html b/docs/classes/Query_AbstractDriver/__construct.html deleted file mode 100644 index 91f9016..0000000 --- a/docs/classes/Query_AbstractDriver/__construct.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::__construct

-

PDO constructor wrapper

-

-

    -

    Signature

    -
    - public function __construct(string - $dsn, - [string - $username = NULL, - [string - $password = NULL, - [array - $driver_options = ]]] ) - -
    -

    Parameters

    -
    -
    $dsn - — - string
    -
    -
    $username - — - string
    -
    -
    $password - — - string
    -
    -
    $driver_options - — - array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 6
    • -
    • Passed: 6 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Query_Parser_Test::testGeneric2
    • -
    • [ PASSED ] — Query_Parser_Test::testWUnderscore
    • -
    • [ PASSED ] — Query_Parser_Test::testFunction
    • -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — SQLiteTest::testConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/_load_sub_classes.html b/docs/classes/Query_AbstractDriver/_load_sub_classes.html deleted file mode 100644 index 9ca271f..0000000 --- a/docs/classes/Query_AbstractDriver/_load_sub_classes.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::_load_sub_classes

-

Loads the subclasses for the driver

-

-

    -

    Signature

    -
    - protected function _load_sub_classes() - -
    -

    Returns

    -
    -
    void
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 9/9 Lines (100%)
    • -
    • Tests: 7
    • -
    • Passed: 7 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Query_Parser_Test::testGeneric2
    • -
    • [ PASSED ] — Query_Parser_Test::testWUnderscore
    • -
    • [ PASSED ] — Query_Parser_Test::testFunction
    • -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — SQLiteTest::testConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/_prefix.html b/docs/classes/Query_AbstractDriver/_prefix.html deleted file mode 100644 index 8b404c7..0000000 --- a/docs/classes/Query_AbstractDriver/_prefix.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::_prefix

-

Sets the table prefix on the passed string

-

-

    -

    Signature

    -
    - protected function _prefix(string - $str ) - -
    -

    Parameters

    -
    -
    $str - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 257
    • -
    • Passed: 257 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testTruncate
    • -
    • [ PASSED ] — MySQLTest::testGetColumns
    • -
    • [ PASSED ] — MySQLTest::testGetIndexes
    • -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAll
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testTruncate
    • -
    • [ PASSED ] — PgTest::testGetColumns
    • -
    • [ PASSED ] — PgTest::testGetIndexes
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAll
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testTruncate
    • -
    • [ PASSED ] — SQLiteTest::testGetColumns
    • -
    • [ PASSED ] — SQLiteTest::testGetIndexes
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAll
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/_quote.html b/docs/classes/Query_AbstractDriver/_quote.html deleted file mode 100644 index a186270..0000000 --- a/docs/classes/Query_AbstractDriver/_quote.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::_quote

-

Helper method for quote_ident

-

-

    -

    Signature

    -
    - public function _quote(mixed - $str ) - -
    -

    Parameters

    -
    -
    $str - — - mixed
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 6/6 Lines (100%)
    • -
    • Tests: 249
    • -
    • Passed: 249 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testTruncate
    • -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAll
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testTruncate
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAll
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testTruncate
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAll
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/affected_rows.html b/docs/classes/Query_AbstractDriver/affected_rows.html deleted file mode 100644 index 868e9b8..0000000 --- a/docs/classes/Query_AbstractDriver/affected_rows.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::affected_rows

-

Returns number of rows affected by an INSERT, UPDATE, DELETE type query

-

-

    -

    Signature

    -
    - public function affected_rows() - -
    -

    Returns

    -
    -
    int
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/driver_query.html b/docs/classes/Query_AbstractDriver/driver_query.html deleted file mode 100644 index b2b84d3..0000000 --- a/docs/classes/Query_AbstractDriver/driver_query.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::driver_query

-

Method to simplify retrieving db results for meta-data queries

-

-

    -

    Signature

    -
    - public function driver_query(string|array|null - $query, - [boolean - $filtered_index = TRUE] ) - -
    -

    Parameters

    -
    -
    $query - — - object
    -



    -
    $filtered_index - — - boolean
    -



    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 9/9 Lines (100%)
    • -
    • Tests: 72
    • -
    • Passed: 72 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testGetSequences
    • -
    • [ PASSED ] — MySQLTest::testBackup
    • -
    • [ PASSED ] — MySQLTest::testGetTables
    • -
    • [ PASSED ] — MySQLTest::testGetSystemTables
    • -
    • [ PASSED ] — MySQLTest::testBackupData
    • -
    • [ PASSED ] — MySQLTest::testGetColumns
    • -
    • [ PASSED ] — MySQLTest::testGetTypes
    • -
    • [ PASSED ] — MySQLTest::testGetFKs
    • -
    • [ PASSED ] — MySQLTest::testGetIndexes
    • -
    • [ PASSED ] — MySQLTest::testGetViews
    • -
    • [ PASSED ] — MySQLTest::testGetTriggers
    • -
    • [ PASSED ] — MySQLTest::testGetProcedures
    • -
    • [ PASSED ] — MySQLTest::testGetFunctions
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testGetSchemas
    • -
    • [ PASSED ] — PgTest::testGetDBs
    • -
    • [ PASSED ] — PgTest::testGetFunctions
    • -
    • [ PASSED ] — PgTest::testGetTables
    • -
    • [ PASSED ] — PgTest::testGetSystemTables
    • -
    • [ PASSED ] — PgTest::testBackupData
    • -
    • [ PASSED ] — PgTest::testGetColumns
    • -
    • [ PASSED ] — PgTest::testGetTypes
    • -
    • [ PASSED ] — PgTest::testGetFKs
    • -
    • [ PASSED ] — PgTest::testGetIndexes
    • -
    • [ PASSED ] — PgTest::testGetViews
    • -
    • [ PASSED ] — PgTest::testGetTriggers
    • -
    • [ PASSED ] — PgTest::testGetSequences
    • -
    • [ PASSED ] — PgTest::testGetProcedures
    • -
    • [ PASSED ] — SQLiteTest::testGetDBs
    • -
    • [ PASSED ] — SQLiteTest::testGetSystemTables
    • -
    • [ PASSED ] — SQLiteTest::testGetSequences
    • -
    • [ PASSED ] — SQLiteTest::testGetFunctions
    • -
    • [ PASSED ] — SQLiteTest::testGetProcedures
    • -
    • [ PASSED ] — SQLiteTest::testGetColumns
    • -
    • [ PASSED ] — SQLiteTest::testGetTypes
    • -
    • [ PASSED ] — SQLiteTest::testGetFKs
    • -
    • [ PASSED ] — SQLiteTest::testGetIndexes
    • -
    • [ PASSED ] — SQLiteTest::testGetViews
    • -
    • [ PASSED ] — SQLiteTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_columns.html b/docs/classes/Query_AbstractDriver/get_columns.html deleted file mode 100644 index d24fad8..0000000 --- a/docs/classes/Query_AbstractDriver/get_columns.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_columns

-

Retrieve column information for the current database table

-

-

    -

    Signature

    -
    - public function get_columns(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetColumns
    • -
    • [ PASSED ] — PgTest::testGetColumns
    • -
    • [ PASSED ] — SQLiteTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_dbs.html b/docs/classes/Query_AbstractDriver/get_dbs.html deleted file mode 100644 index f563749..0000000 --- a/docs/classes/Query_AbstractDriver/get_dbs.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_dbs

-

Return list of dbs for the current connection, if possible

-

-

    -

    Signature

    -
    - public function get_dbs() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testBackup
    • -
    • [ PASSED ] — PgTest::testGetDBs
    • -
    • [ PASSED ] — SQLiteTest::testGetDBs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_fks.html b/docs/classes/Query_AbstractDriver/get_fks.html deleted file mode 100644 index 5aef8a8..0000000 --- a/docs/classes/Query_AbstractDriver/get_fks.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_fks

-

Retrieve foreign keys for the table

-

-

    -

    Signature

    -
    - public function get_fks(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetFKs
    • -
    • [ PASSED ] — PgTest::testGetFKs
    • -
    • [ PASSED ] — SQLiteTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_functions.html b/docs/classes/Query_AbstractDriver/get_functions.html deleted file mode 100644 index 6f4c2d1..0000000 --- a/docs/classes/Query_AbstractDriver/get_functions.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_functions

-

Return list of functions for the current database

-

-

    -

    Signature

    -
    - public function get_functions() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetFunctions
    • -
    • [ PASSED ] — PgTest::testGetFunctions
    • -
    • [ PASSED ] — SQLiteTest::testGetFunctions
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_indexes.html b/docs/classes/Query_AbstractDriver/get_indexes.html deleted file mode 100644 index e114ff9..0000000 --- a/docs/classes/Query_AbstractDriver/get_indexes.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_indexes

-

Retrieve indexes for the table

-

-

    -

    Signature

    -
    - public function get_indexes(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetIndexes
    • -
    • [ PASSED ] — PgTest::testGetIndexes
    • -
    • [ PASSED ] — SQLiteTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_last_query.html b/docs/classes/Query_AbstractDriver/get_last_query.html deleted file mode 100644 index 6dce874..0000000 --- a/docs/classes/Query_AbstractDriver/get_last_query.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_last_query

-

Get the last sql query exexcuted

-

-

    -

    Signature

    -
    - public function get_last_query() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 55
    • -
    • Passed: 55 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    • [ PASSED ] — FirebirdQBTest::testTypeList
    • -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_procedures.html b/docs/classes/Query_AbstractDriver/get_procedures.html deleted file mode 100644 index 319da47..0000000 --- a/docs/classes/Query_AbstractDriver/get_procedures.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_procedures

-

Return list of stored procedures for the current database

-

-

    -

    Signature

    -
    - public function get_procedures() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetProcedures
    • -
    • [ PASSED ] — PgTest::testGetProcedures
    • -
    • [ PASSED ] — SQLiteTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_schemas.html b/docs/classes/Query_AbstractDriver/get_schemas.html deleted file mode 100644 index fb5269b..0000000 --- a/docs/classes/Query_AbstractDriver/get_schemas.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_schemas

-

Return schemas for databases that list them

-

-

    -

    Signature

    -
    - public function get_schemas() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetSchemas
    • -
    • [ PASSED ] — SQLiteTest::testGetSchemas
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_sequences.html b/docs/classes/Query_AbstractDriver/get_sequences.html deleted file mode 100644 index 059df1e..0000000 --- a/docs/classes/Query_AbstractDriver/get_sequences.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_sequences

-

Return list of sequences for the current database, if they exist

-

-

    -

    Signature

    -
    - public function get_sequences() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetSequences
    • -
    • [ PASSED ] — PgTest::testGetSequences
    • -
    • [ PASSED ] — SQLiteTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_sql.html b/docs/classes/Query_AbstractDriver/get_sql.html deleted file mode 100644 index 4a7ff05..0000000 --- a/docs/classes/Query_AbstractDriver/get_sql.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_sql

-

Get the SQL class for the current driver

-

-

    -

    Signature

    -
    - public function get_sql() - -
    -

    Returns

    -
    -
    SQL_Interface
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 74
    • -
    • Passed: 74 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testGetSequences
    • -
    • [ PASSED ] — MySQLTest::testBackup
    • -
    • [ PASSED ] — MySQLTest::testGetTables
    • -
    • [ PASSED ] — MySQLTest::testGetSystemTables
    • -
    • [ PASSED ] — MySQLTest::testBackupData
    • -
    • [ PASSED ] — MySQLTest::testGetColumns
    • -
    • [ PASSED ] — MySQLTest::testGetTypes
    • -
    • [ PASSED ] — MySQLTest::testGetFKs
    • -
    • [ PASSED ] — MySQLTest::testGetIndexes
    • -
    • [ PASSED ] — MySQLTest::testGetViews
    • -
    • [ PASSED ] — MySQLTest::testGetTriggers
    • -
    • [ PASSED ] — MySQLTest::testGetProcedures
    • -
    • [ PASSED ] — MySQLTest::testGetFunctions
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testGetDBs
    • -
    • [ PASSED ] — PgTest::testGetFunctions
    • -
    • [ PASSED ] — PgTest::testGetTables
    • -
    • [ PASSED ] — PgTest::testGetSystemTables
    • -
    • [ PASSED ] — PgTest::testBackupData
    • -
    • [ PASSED ] — PgTest::testGetColumns
    • -
    • [ PASSED ] — PgTest::testGetTypes
    • -
    • [ PASSED ] — PgTest::testGetFKs
    • -
    • [ PASSED ] — PgTest::testGetIndexes
    • -
    • [ PASSED ] — PgTest::testGetViews
    • -
    • [ PASSED ] — PgTest::testGetTriggers
    • -
    • [ PASSED ] — PgTest::testGetSequences
    • -
    • [ PASSED ] — PgTest::testGetProcedures
    • -
    • [ PASSED ] — SQLiteTest::testGetDBs
    • -
    • [ PASSED ] — SQLiteTest::testGetSystemTables
    • -
    • [ PASSED ] — SQLiteTest::testGetSequences
    • -
    • [ PASSED ] — SQLiteTest::testGetFunctions
    • -
    • [ PASSED ] — SQLiteTest::testGetProcedures
    • -
    • [ PASSED ] — SQLiteTest::testGetColumns
    • -
    • [ PASSED ] — SQLiteTest::testGetTypes
    • -
    • [ PASSED ] — SQLiteTest::testGetFKs
    • -
    • [ PASSED ] — SQLiteTest::testGetIndexes
    • -
    • [ PASSED ] — SQLiteTest::testGetViews
    • -
    • [ PASSED ] — SQLiteTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_system_tables.html b/docs/classes/Query_AbstractDriver/get_system_tables.html deleted file mode 100644 index 192d36a..0000000 --- a/docs/classes/Query_AbstractDriver/get_system_tables.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_system_tables

-

Retrieves an array of non-user-created tables for the connection/database

-

-

    -

    Signature

    -
    - public function get_system_tables() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetSystemTables
    • -
    • [ PASSED ] — PgTest::testGetSystemTables
    • -
    • [ PASSED ] — SQLiteTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_tables.html b/docs/classes/Query_AbstractDriver/get_tables.html deleted file mode 100644 index 20e96e6..0000000 --- a/docs/classes/Query_AbstractDriver/get_tables.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_tables

-

Return list of tables for the current database

-

-

    -

    Signature

    -
    - public function get_tables() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 38
    • -
    • Passed: 38 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testGetTables
    • -
    • [ PASSED ] — MySQLTest::testBackupData
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testGetTables
    • -
    • [ PASSED ] — PgTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_triggers.html b/docs/classes/Query_AbstractDriver/get_triggers.html deleted file mode 100644 index 67ee315..0000000 --- a/docs/classes/Query_AbstractDriver/get_triggers.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_triggers

-

Return list of triggers for the current database

-

-

    -

    Signature

    -
    - public function get_triggers() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetTriggers
    • -
    • [ PASSED ] — PgTest::testGetTriggers
    • -
    • [ PASSED ] — SQLiteTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_types.html b/docs/classes/Query_AbstractDriver/get_types.html deleted file mode 100644 index 5d916b8..0000000 --- a/docs/classes/Query_AbstractDriver/get_types.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_types

-

Retrieve list of data types for the database

-

-

    -

    Signature

    -
    - public function get_types() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetTypes
    • -
    • [ PASSED ] — PgTest::testGetTypes
    • -
    • [ PASSED ] — SQLiteTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_util.html b/docs/classes/Query_AbstractDriver/get_util.html deleted file mode 100644 index 59aefd9..0000000 --- a/docs/classes/Query_AbstractDriver/get_util.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_util

-

Get the Util class for the current driver

-

-

    -

    Signature

    -
    - public function get_util() - -
    -

    Returns

    -
    -
    Abstract_Util
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 15
    • -
    • Passed: 15 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testBackup
    • -
    • [ PASSED ] — MySQLTest::testBackupData
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testBackupData
    • -
    • [ PASSED ] — SQLiteTest::testBackupStructure
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testBackupStructure
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/get_views.html b/docs/classes/Query_AbstractDriver/get_views.html deleted file mode 100644 index 2ae35c2..0000000 --- a/docs/classes/Query_AbstractDriver/get_views.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::get_views

-

Return list of views for the current database

-

-

    -

    Signature

    -
    - public function get_views() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetViews
    • -
    • [ PASSED ] — PgTest::testGetViews
    • -
    • [ PASSED ] — SQLiteTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/insert_batch.html b/docs/classes/Query_AbstractDriver/insert_batch.html deleted file mode 100644 index a5a20bc..0000000 --- a/docs/classes/Query_AbstractDriver/insert_batch.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::insert_batch

-

Create sql for batch insert

-

-

    -

    Signature

    -
    - public function insert_batch(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    null|array<string|array|null>
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 16/16 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/num_rows.html b/docs/classes/Query_AbstractDriver/num_rows.html deleted file mode 100644 index c6d5d25..0000000 --- a/docs/classes/Query_AbstractDriver/num_rows.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::num_rows

-

Return the number of rows returned for a SELECT query

-

-

    -

    Signature

    -
    - public function num_rows() - -
    -

    Returns

    -
    -
    int
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 7/7 Lines (100%)
    • -
    • Tests: 12
    • -
    • Passed: 12 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/prefix_table.html b/docs/classes/Query_AbstractDriver/prefix_table.html deleted file mode 100644 index 9b2b6b4..0000000 --- a/docs/classes/Query_AbstractDriver/prefix_table.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::prefix_table

-

Prefixes a table if it is not already prefixed

-

-

    -

    Signature

    -
    - public function prefix_table(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 8/8 Lines (100%)
    • -
    • Tests: 257
    • -
    • Passed: 257 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testTruncate
    • -
    • [ PASSED ] — MySQLTest::testGetColumns
    • -
    • [ PASSED ] — MySQLTest::testGetIndexes
    • -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAll
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testTruncate
    • -
    • [ PASSED ] — PgTest::testGetColumns
    • -
    • [ PASSED ] — PgTest::testGetIndexes
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAll
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testTruncate
    • -
    • [ PASSED ] — SQLiteTest::testGetColumns
    • -
    • [ PASSED ] — SQLiteTest::testGetIndexes
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAll
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/prepare_execute.html b/docs/classes/Query_AbstractDriver/prepare_execute.html deleted file mode 100644 index b49a753..0000000 --- a/docs/classes/Query_AbstractDriver/prepare_execute.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::prepare_execute

-

Create and execute a prepared statement with the provided parameters

-

-

    -

    Signature

    -
    - public function prepare_execute(string - $sql, - array - $params ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $params - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 114
    • -
    • Passed: 114 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testPrepareExecute
    • -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgTest::testPrepareExecute
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteTest::testPrepareExecute
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/prepare_query.html b/docs/classes/Query_AbstractDriver/prepare_query.html deleted file mode 100644 index 778bbd3..0000000 --- a/docs/classes/Query_AbstractDriver/prepare_query.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::prepare_query

-

Simplifies prepared statements for database queries

-

-

    -

    Signature

    -
    - public function prepare_query(string - $sql, - array - $data ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -
    | FALSE
    -
    -
    -

    Errors/Exceptions

    -
    -
    - - InvalidArgumentException - -
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 9/9 Lines (100%)
    • -
    • Tests: 119
    • -
    • Passed: 119 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testPreparedStatements
    • -
    • [ PASSED ] — MySQLTest::testBadPreparedStatement
    • -
    • [ PASSED ] — MySQLTest::testPrepareExecute
    • -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgTest::testPreparedStatements
    • -
    • [ PASSED ] — PgTest::testBadPreparedStatement
    • -
    • [ PASSED ] — PgTest::testPrepareExecute
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteTest::testPreparedStatements
    • -
    • [ PASSED ] — SQLiteTest::testPrepareExecute
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/quote_ident.html b/docs/classes/Query_AbstractDriver/quote_ident.html deleted file mode 100644 index a941d3d..0000000 --- a/docs/classes/Query_AbstractDriver/quote_ident.html +++ /dev/null @@ -1,371 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::quote_ident

-

Surrounds the string with the databases identifier escape characters

-

-

    -

    Signature

    -
    - public function quote_ident(mixed - $ident ) - -
    -

    Parameters

    -
    -
    $ident - — - mixed
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 19/19 Lines (100%)
    • -
    • Tests: 249
    • -
    • Passed: 249 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testTruncate
    • -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAll
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testTruncate
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAll
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testTruncate
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAll
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/quote_table.html b/docs/classes/Query_AbstractDriver/quote_table.html deleted file mode 100644 index 519c816..0000000 --- a/docs/classes/Query_AbstractDriver/quote_table.html +++ /dev/null @@ -1,371 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::quote_table

-

Quote database table name, and set prefix

-

-

    -

    Signature

    -
    - public function quote_table(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 249
    • -
    • Passed: 249 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testTruncate
    • -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAll
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testTruncate
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAll
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testTruncate
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAll
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/set_last_query.html b/docs/classes/Query_AbstractDriver/set_last_query.html deleted file mode 100644 index c4d08a1..0000000 --- a/docs/classes/Query_AbstractDriver/set_last_query.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::set_last_query

-

Set the last query sql

-

-

    -

    Signature

    -
    - public function set_last_query(string - $query_string ) - -
    -

    Parameters

    -
    -
    $query_string - — - string
    -
    -
    -

    Returns

    -
    -
    void
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 223
    • -
    • Passed: 223 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/set_table_prefix.html b/docs/classes/Query_AbstractDriver/set_table_prefix.html deleted file mode 100644 index dcd7129..0000000 --- a/docs/classes/Query_AbstractDriver/set_table_prefix.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::set_table_prefix

-

Set the common table name prefix

-

-

    -

    Signature

    -
    - public function set_table_prefix(string - $prefix ) - -
    -

    Parameters

    -
    -
    $prefix - — - string
    -
    -
    -

    Returns

    -
    -
    void
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractDriver/truncate.html b/docs/classes/Query_AbstractDriver/truncate.html deleted file mode 100644 index cecf0f7..0000000 --- a/docs/classes/Query_AbstractDriver/truncate.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractDriver::truncate

-

Empty the passed table

-

-

    -

    Signature

    -
    - public function truncate(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 6/6 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testTruncate
    • -
    • [ PASSED ] — PgTest::testTruncate
    • -
    • [ PASSED ] — SQLiteTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder.html b/docs/classes/Query_AbstractQueryBuilder.html deleted file mode 100644 index a49dd24..0000000 --- a/docs/classes/Query_AbstractQueryBuilder.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - phpDox - Query\AbstractQueryBuilder - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder

-

Abstract Class for internal implementation methods of the Query Builder

-

-

    -

    Synopsis

    -
    class AbstractQueryBuilder - {
    • // constants
    • const KEY = 0;
    • const VALUE = 1;
    • const BOTH = 2;
    - - }
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%13 / 13
    Lines100%153 / 153
    -

    Constants

    - - - - - - - - - - - - - - - - - - - - - -
    NameValue
    KEY0
    VALUE1
    BOTH2
    -

    Members

    -
    -

    protected

    -
      -
    • $explain - — - Query\bool
      Whether to do only an explain on the query
    • -
    • $from_string - — - string
      Compiled 'from' clause
    • -
    • $group_array - — - array
      Key/val pairs for group by clause
    • -
    • $group_string - — - string
      Group by clause
    • -
    • $having_map - — - array
      Map for having clause
    • -
    • $limit - — - string
      Value for limit string
    • -
    • $offset - — - int
      Value for offset in limit string
    • -
    • $order_array - — - array
      Key/val pairs for order by clause
    • -
    • $order_string - — - string
      Order by clause
    • -
    • $query_map - — - array
      Query component order mapping for complex select queries
    • -
    • $select_string - — - string
      Compiled 'select' clause
    • -
    • $set_array_keys - — - array
      Keys for insert/update statement
    • -
    • $set_string - — - string
      Compiled arguments for insert / update
    • -
    • $values - — - array
      Values to apply to prepared statements
    • -
    • $where_values - — - array
      Values to apply to where clauses in prepared statements
    • -
    -

    public

    - -
    -

    Methods

    -
    -

    protected

    -
      -
    • _append_map() - — Add an additional set of mapping pairs to a internal map
    • -
    • _append_query() - — Convert the prepared statement into readable sql
    • -
    • _compile() - — String together the sql statements for sending to the db
    • -
    • _compile_type() - — Sub-method for generating sql strings
    • -
    • _get_compile() - — Helper function for returning sql strings
    • -
    • _having() - — Simplify building having clauses
    • -
    • _like() - — Simplify 'like' methods
    • -
    • _mixed_set() - — Set values in the class, with either an array or key value pair
    • -
    • _run() - — Executes the compiled query
    • -
    • _select() - — Method to simplify select_ methods
    • -
    • _where() - — Do all the repeditive stuff for where/having type methods
    • -
    • _where_in() - — Simplify where_in methods
    • -
    • _where_string() - — Simplify generating where string
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-11-10T09:24:18-05:00 (commit #39cd2ec)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Fix borkeed tests
      -
      -
    • -
    • -

      2015-07-31T10:24:34-04:00 (commit #056e8bf)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Re-add some missing tests, and update README
      -
      -
    • -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-30T13:13:12-04:00 (commit #8669fcc)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Some scrutinizer fixes
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-11-07T12:21:49-05:00 (commit #6c757f1)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs
      -
      -
    • -
    • -

      2014-11-07T12:14:46-05:00 (commit #6755818)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some issues with multiple array items in where statements
      -
      -
    • -
    • -

      2014-08-08T13:48:20-04:00 (commit #dd672df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize classes to autoload by namespace
      -
      -
    • -
    • -

      2014-07-15T11:01:47-04:00 (commit #2ae2064)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some very minor code quality issues
      -
      -
    • -
    • -

      2014-06-30T11:14:37-04:00 (commit #618a561)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix minor issue of where clause disappearing after a number of joins
      -
      -
    • -
    • -

      2014-06-09T17:02:14-04:00 (commit #1abd835)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Attempting some Quercus compatibility, test-suite runs with simpletest as well as PHPUnit
      -
      -
    • -
    • -

      2014-04-28T16:41:46-04:00 (commit #6a38213)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improve some tests and docblocks
      -
      -
    • -
    • -

      2014-04-24T21:29:40-04:00 (commit #315dc5e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      method shortening
      -
      -
    • -
    • -

      2014-04-24T20:14:19-04:00 (commit #2ae38be)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some variable setting logic duplication
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_append_map.html b/docs/classes/Query_AbstractQueryBuilder/_append_map.html deleted file mode 100644 index 788b625..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_append_map.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_append_map

-

Add an additional set of mapping pairs to a internal map

-

-

    -

    Signature

    -
    - protected function _append_map([string - $conjunction = '', - [string - $string = '', - [string - $type = '']]] ) - -
    -

    Parameters

    -
    -
    $conjunction - — - string
    -
    -
    $string - — - string
    -
    -
    $type - — - string
    -
    -
    -

    Returns

    -
    -
    void
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 5/5 Lines (100%)
    • -
    • Tests: 140
    • -
    • Passed: 140 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_append_query.html b/docs/classes/Query_AbstractQueryBuilder/_append_query.html deleted file mode 100644 index 8699a2e..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_append_query.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_append_query

-

Convert the prepared statement into readable sql

-

-

    -

    Signature

    -
    - protected function _append_query(array - $vals, - string - $sql, - string - $total_time ) - -
    -

    Parameters

    -
    -
    $vals - — - array
    -
    -
    $sql - — - string
    -
    -
    $total_time - — - string
    -
    -
    -

    Returns

    -
    -
    void
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 12/12 Lines (100%)
    • -
    • Tests: 223
    • -
    • Passed: 223 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_compile.html b/docs/classes/Query_AbstractQueryBuilder/_compile.html deleted file mode 100644 index 6617dda..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_compile.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_compile

-

String together the sql statements for sending to the db

-

-

    -

    Signature

    -
    - protected function _compile([string - $type = '', - [string - $table = '']] ) - -
    -

    Parameters

    -
    -
    $type - — - string
    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 25/25 Lines (100%)
    • -
    • Tests: 232
    • -
    • Passed: 232 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_compile_type.html b/docs/classes/Query_AbstractQueryBuilder/_compile_type.html deleted file mode 100644 index d29b4b4..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_compile_type.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_compile_type

-

Sub-method for generating sql strings

-

-

    -

    Signature

    -
    - protected function _compile_type([string - $type = '', - [string - $table = '']] ) - -
    -

    Parameters

    -
    -
    $type - — - string
    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 20/20 Lines (100%)
    • -
    • Tests: 232
    • -
    • Passed: 232 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_get_compile.html b/docs/classes/Query_AbstractQueryBuilder/_get_compile.html deleted file mode 100644 index 9bfe474..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_get_compile.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_get_compile

-

Helper function for returning sql strings

-

-

    -

    Signature

    -
    - protected function _get_compile(string - $type, - string - $table, - bool - $reset ) - -
    -

    Parameters

    -
    -
    $type - — - string
    -
    -
    $table - — - string
    -
    -
    $reset - — - object
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 17
    • -
    • Passed: 17 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_having.html b/docs/classes/Query_AbstractQueryBuilder/_having.html deleted file mode 100644 index 9c616f1..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_having.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_having

-

Simplify building having clauses

-

-

    -

    Signature

    -
    - protected function _having(mixed - $key, - [array - $val = , - [string - $conj = 'AND']] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    $conj - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 10/10 Lines (100%)
    • -
    • Tests: 8
    • -
    • Passed: 8 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_like.html b/docs/classes/Query_AbstractQueryBuilder/_like.html deleted file mode 100644 index 9ef6fa4..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_like.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_like

-

Simplify 'like' methods

-

-

    -

    Signature

    -
    - protected function _like(string - $field, - mixed - $val, - string - $pos, - [string - $like = 'LIKE', - [string - $conj = 'AND']] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    $like - — - string
    -
    -
    $conj - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 14/14 Lines (100%)
    • -
    • Tests: 24
    • -
    • Passed: 24 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_mixed_set.html b/docs/classes/Query_AbstractQueryBuilder/_mixed_set.html deleted file mode 100644 index 7fa227e..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_mixed_set.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_mixed_set

-

Set values in the class, with either an array or key value pair

-

-

    -

    Signature

    -
    - protected function _mixed_set(array& - $var, - mixed - $key, - [mixed - $val = NULL, - [int - $val_type = self::BOTH]] ) - -
    -

    Parameters

    -
    -
    $var - — - array
    -
    -
    $key - — - mixed
    -
    -
    $val - — - mixed
    -
    -
    $val_type - — - int
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 13/13 Lines (100%)
    • -
    • Tests: 128
    • -
    • Passed: 128 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_run.html b/docs/classes/Query_AbstractQueryBuilder/_run.html deleted file mode 100644 index b4b2498..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_run.html +++ /dev/null @@ -1,355 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_run

-

Executes the compiled query

-

-

    -

    Signature

    -
    - protected function _run(string - $type, - string - $table, - [string - $sql = NULL, - [array|null - $vals = NULL]] ) - -
    -

    Parameters

    -
    -
    $type - — - string
    -
    -
    $table - — - string
    -
    -
    $sql - — - string
    -
    -
    $vals - — - object
    -



    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 17/17 Lines (100%)
    • -
    • Tests: 223
    • -
    • Passed: 223 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_select.html b/docs/classes/Query_AbstractQueryBuilder/_select.html deleted file mode 100644 index 6ef0780..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_select.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_select

-

Method to simplify select_ methods

-

-

    -

    Signature

    -
    - protected function _select(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 20
    • -
    • Passed: 20 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_where.html b/docs/classes/Query_AbstractQueryBuilder/_where.html deleted file mode 100644 index 89bdaee..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_where.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_where

-

Do all the repeditive stuff for where/having type methods

-

-

    -

    Signature

    -
    - protected function _where(mixed - $key, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 108
    • -
    • Passed: 108 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_where_in.html b/docs/classes/Query_AbstractQueryBuilder/_where_in.html deleted file mode 100644 index 959c26a..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_where_in.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_where_in

-

Simplify where_in methods

-

-

    -

    Signature

    -
    - protected function _where_in(mixed - $key, - [array - $val = , - [string - $in = 'IN', - [string - $conj = 'AND']]] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    $in - — - string
    -
    - The (not) in fragment
    -
    $conj - — - string
    -
    - The where in conjunction
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 9/9 Lines (100%)
    • -
    • Tests: 16
    • -
    • Passed: 16 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractQueryBuilder/_where_string.html b/docs/classes/Query_AbstractQueryBuilder/_where_string.html deleted file mode 100644 index 6535895..0000000 --- a/docs/classes/Query_AbstractQueryBuilder/_where_string.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractQueryBuilder::_where_string

-

Simplify generating where string

-

-

    -

    Signature

    -
    - protected function _where_string(mixed - $key, - [array - $val = , - [string - $defaultConj = 'AND']] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    $defaultConj - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 17/17 Lines (100%)
    • -
    • Tests: 100
    • -
    • Passed: 100 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractSQL.html b/docs/classes/Query_AbstractSQL.html deleted file mode 100644 index 7e096a4..0000000 --- a/docs/classes/Query_AbstractSQL.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - phpDox - Query\AbstractSQL - - - - - -
-
- -
- -
-

Query\AbstractSQL

-

parent for database manipulation subclasses

-

-

    -

    Synopsis

    -
    class AbstractSQL - implements - SQLInterface - {
    • // methods
    • public string limit() -
    - - }
    -

    Hierarchy

    -
    -

    Implements

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%1 / 1
    Lines100%6 / 6
    -

    Methods

    -
    -

    public

    -
      -
    • limit() - — Limit clause
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-08-08T13:48:20-04:00 (commit #dd672df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize classes to autoload by namespace
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-23T15:53:16-04:00 (commit #aa5aa8e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Docblock fixes and more dependency injection
      -
      -
    • -
    • -

      2014-04-08T17:13:41-04:00 (commit #74d4a00)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Test improvements
      -
      -
    • -
    • -

      2014-04-03T13:28:30-04:00 (commit #4809016)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add insert_batch methods to Firebird and SQLite
      -
      -
    • -
    • -

      2014-04-02T22:40:54-04:00 (commit #600c07f)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move abstract classes and interfaces to their own respective folders
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-31T16:01:58-04:00 (commit #32a01a6)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs, composer and README
      -
      -
    • -
    • -

      2014-03-28T13:38:34-04:00 (commit #b3d3c3f)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Rename interfaces from iFoo to Foo_Interface
      -
      -
    • -
    • -

      2014-03-26T21:33:58-04:00 (commit #5b908f5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add abstract class for sql classes to have base limit method
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_AbstractSQL/limit.html b/docs/classes/Query_AbstractSQL/limit.html deleted file mode 100644 index 8545656..0000000 --- a/docs/classes/Query_AbstractSQL/limit.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractSQL::limit

-

Limit clause

-

-

    -

    Signature

    -
    - public function limit(string - $sql, - int - $limit, - [boolean - $offset = FALSE] ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $limit - — - int
    -
    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 6/6 Lines (100%)
    • -
    • Tests: 34
    • -
    • Passed: 34 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractUtil.html b/docs/classes/Query_AbstractUtil.html deleted file mode 100644 index 7f89e42..0000000 --- a/docs/classes/Query_AbstractUtil.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - phpDox - Query\AbstractUtil - - - - - -
-
- -
- -
-

Query\AbstractUtil

-

Abstract class defining database / table creation methods

-

-

    -

    Synopsis

    -
    class AbstractUtil - {
    • // members
    • private  $conn; -
    - - }
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%6 / 6
    Lines100%19 / 19
    -

    Members

    -
    -

    private

    -
      -
    • - $conn -
      - Reference to the current connection object -
    • -
    -
    -

    Methods

    -
    -

    public

    -
      -
    • __construct() - — Save a reference to the connection object for later use
    • -
    • backup_data() - — Return an SQL file with the database data as insert statements
    • -
    • backup_structure() - — Return an SQL file with the database table structure
    • -
    • create_table() - — Convenience public function to generate sql for creating a db table
    • -
    • delete_table() - — Drop the selected table
    • -
    • get_driver() - — Get the driver object for the current connection
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-08-08T13:48:20-04:00 (commit #dd672df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize classes to autoload by namespace
      -
      -
    • -
    • -

      2014-06-30T11:01:44-04:00 (commit #7fd90ab)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove Table Builder classes
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-24T13:42:01-04:00 (commit #ff77cea)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove __call method from util classes
      -
      -
    • -
    • -

      2014-04-24T13:08:26-04:00 (commit #1f74408)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reduce complexity of create_table method
      -
      -
    • -
    • -

      2014-04-24T11:31:03-04:00 (commit #0baf624)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix a few spelling mistakes
      -
      -
    • -
    • -

      2014-04-23T17:03:46-04:00 (commit #6b814c0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some duplication
      -
      -
    • -
    • -

      2014-04-15T16:16:15-04:00 (commit #2f16b61)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Docblock updates
      -
      -
    • -
    • -

      2014-04-10T15:54:43-04:00 (commit #32696a5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Flesh out the table builder a bit, and add some missing driver methods to SQLite
      -
      -
    • -
    • -

      2014-04-09T10:55:17-04:00 (commit #fde92bc)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix a few code quality issues
      -
      -
    • -
    • -

      2014-04-03T16:49:01-04:00 (commit #3eeea75)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Cut down on some duplication, and increase test coverage
      -
      -
    • -
    • -

      2014-04-03T14:44:03-04:00 (commit #a333920)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Rename db_util to abstract_util, mark create_table method as deprecated
      -
      -
    • -
    • -

      2014-04-03T13:28:30-04:00 (commit #4809016)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add insert_batch methods to Firebird and SQLite
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_AbstractUtil/__construct.html b/docs/classes/Query_AbstractUtil/__construct.html deleted file mode 100644 index 97d8db1..0000000 --- a/docs/classes/Query_AbstractUtil/__construct.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractUtil::__construct

-

Save a reference to the connection object for later use

-

-

    -

    Signature

    -
    - public function __construct(DriverInterface - $conn ) - -
    -

    Parameters

    -
    -
    $conn - — - Query\Driver_Interface
    -



    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 7
    • -
    • Passed: 7 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Query_Parser_Test::testGeneric2
    • -
    • [ PASSED ] — Query_Parser_Test::testWUnderscore
    • -
    • [ PASSED ] — Query_Parser_Test::testFunction
    • -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — SQLiteTest::testConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractUtil/backup_data.html b/docs/classes/Query_AbstractUtil/backup_data.html deleted file mode 100644 index 1a52442..0000000 --- a/docs/classes/Query_AbstractUtil/backup_data.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractUtil::backup_data

-

Return an SQL file with the database data as insert statements

-

-

    -

    Signature

    -
    - public function backup_data() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractUtil/backup_structure.html b/docs/classes/Query_AbstractUtil/backup_structure.html deleted file mode 100644 index 6f4effe..0000000 --- a/docs/classes/Query_AbstractUtil/backup_structure.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractUtil::backup_structure

-

Return an SQL file with the database table structure

-

-

    -

    Signature

    -
    - public function backup_structure() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractUtil/create_table.html b/docs/classes/Query_AbstractUtil/create_table.html deleted file mode 100644 index f926edf..0000000 --- a/docs/classes/Query_AbstractUtil/create_table.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractUtil::create_table

-

Convenience public function to generate sql for creating a db table

-

-

    -

    Signature

    -
    - public function create_table(string - $name, - array - $fields, - [array - $constraints = , - [boolean - $if_not_exists = TRUE]] ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -
    -
    $fields - — - array
    -
    -
    $constraints - — - array
    -
    -
    $if_not_exists - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 15/15 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractUtil/delete_table.html b/docs/classes/Query_AbstractUtil/delete_table.html deleted file mode 100644 index c957405..0000000 --- a/docs/classes/Query_AbstractUtil/delete_table.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractUtil::delete_table

-

Drop the selected table

-

-

    -

    Signature

    -
    - public function delete_table(string - $name ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_AbstractUtil/get_driver.html b/docs/classes/Query_AbstractUtil/get_driver.html deleted file mode 100644 index 8684073..0000000 --- a/docs/classes/Query_AbstractUtil/get_driver.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\AbstractUtil::get_driver

-

Get the driver object for the current connection

-

-

    -

    Signature

    -
    - public function get_driver() - -
    -

    Returns

    -
    -
    Driver_Interface
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 12
    • -
    • Passed: 12 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testBackup
    • -
    • [ PASSED ] — MySQLTest::testBackupData
    • -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testBackupData
    • -
    • [ PASSED ] — SQLiteTest::testBackupStructure
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdQBTest::testBackupStructure
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_BadDBDriverException.html b/docs/classes/Query_BadDBDriverException.html deleted file mode 100644 index 4079bbf..0000000 --- a/docs/classes/Query_BadDBDriverException.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - phpDox - Query\BadDBDriverException - - - - - -
-
- -
- -
-

Query\BadDBDriverException

-

Generic exception for bad drivers

-

-

    -

    Synopsis

    -
    class BadDBDriverException - extends InvalidArgumentException - {
    • // Inherited members from InvalidArgumentException
    • protected  $message; -
    • protected  $code; -
    • protected  $file; -
    • protected  $line; -
    • // Inherited members from LogicException
    • protected  $message; -
    • protected  $code; -
    • protected  $file; -
    • protected  $line; -
    • // Inherited members from Exception
    • protected  $message; -
    • protected  $code; -
    • protected  $file; -
    • protected  $line; -
    • // Inherited methods from InvalidArgumentException
    • public final string getMessage() -
    • public final Exception getPrevious() -
    • public final mixed getCode() -
    • public final string getFile() -
    • public final int getLine() -
    • public final array getTrace() -
    • public final string getTraceAsString() -
    • public string __toString() -
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods0%0 / 0
    Lines0%0 / 0
    -

    Members

    -
    -

    protected

    -
      -
    • $code - — - int
      The exception code
    • -
    • $code - — - int
      The exception code
    • -
    • $code - — - int
      The exception code
    • -
    • $file - — - string
      The filename where the exception was created
    • -
    • $file - — - string
      The filename where the exception was created
    • -
    • $file - — - string
      The filename where the exception was created
    • -
    • $line - — - int
      The line where the exception was created
    • -
    • $line - — - int
      The line where the exception was created
    • -
    • $line - — - int
      The line where the exception was created
    • -
    • $message - — - string
      The exception message
    • -
    • $message - — - string
      The exception message
    • -
    • $message - — - string
      The exception message
    • -
    -
    -

    Methods

    -
    -

    Inherited from InvalidArgumentException

    -

    public

    - -

    Inherited from LogicException

    -

    public

    - -

    Inherited from Exception

    -

    public

    -
      -
    • __toString() - — String representation of the exception
    • -
    • getCode() - — Gets the Exception code
    • -
    • getFile() - — Gets the file in which the exception occurred
    • -
    • getLine() - — Gets the line in which the exception occurred
    • -
    • getMessage() - — Gets the Exception message
    • -
    • getPrevious() - — Returns previous Exception
    • -
    • getTrace() - — Gets the stack trace
    • -
    • getTraceAsString() - — Gets the stack trace as a string
    • -
    -
    -

    History

    -
      -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2014-08-08T13:48:20-04:00 (commit #dd672df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize classes to autoload by namespace
      -
      -
    • -
    • -

      2014-08-08T12:48:14-04:00 (commit #0a0548d)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some useless code, extract an exception into its own class
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager.html b/docs/classes/Query_ConnectionManager.html deleted file mode 100644 index 1525519..0000000 --- a/docs/classes/Query_ConnectionManager.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - phpDox - Query\ConnectionManager - - - - - -
-
- -
- -
-

Query\ConnectionManager

-

Connection manager class to manage connections for the Query method

-

-

    -

    Synopsis

    -
    class ConnectionManager - {
    • // members
    • private array $connections = - ; -
    • private static Connection_Manager $instance = - null; -
    - - }
    -

    Coverage

    - - - - - - - - - - - -
    Methods77.78%7 / 9
    Lines68.57%48 / 70
    -

    Members

    -
    -

    private

    -
      -
    • $connections - — - array
      Map of named database connections
    • -
    • $instance - — - Query\Connection_Manager
      Class instance variable
    • -
    -
    -

    Methods

    -
    -

    private

    -
      -
    • __construct() - — Private constructor to prevent multiple instances
    • -
    • create_dsn() - — Create the dsn from the db type and params
    • -
    -

    public

    -
      -
    • __clone() - — Private clone method to prevent cloning
    • -
    • __sleep() - — Prevent serialization of this object
    • -
    • __wakeup() - — Make sure serialize/deserialize doesn't work
    • -
    • connect() - — Parse the passed parameters and return a connection
    • -
    • get_connection() - — Returns the connection specified by the name given
    • -
    • get_instance() - — Return a connection manager instance
    • -
    • parse_params() - — Parses params into a dsn and option array
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-20T15:27:35-04:00 (commit #7dbae40)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove php 5.4 style array
      -
      -
    • -
    • -

      2015-07-20T15:24:21-04:00 (commit #cd7f904)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add pdo_firebird driver
      -
      -
    • -
    • -

      2015-07-17T16:01:41-04:00 (commit #b4118ce)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs
      -
      -
    • -
    • -

      2015-07-17T15:38:06-04:00 (commit #28f5cb2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix Firebird tests and speed up tests by using one database connection for each query builder datbase test
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-08-08T13:48:20-04:00 (commit #dd672df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize classes to autoload by namespace
      -
      -
    • -
    • -

      2014-08-08T12:48:14-04:00 (commit #0a0548d)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some useless code, extract an exception into its own class
      -
      -
    • -
    • -

      2014-06-09T17:02:14-04:00 (commit #1abd835)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Attempting some Quercus compatibility, test-suite runs with simpletest as well as PHPUnit
      -
      -
    • -
    • -

      2014-04-24T14:50:53-04:00 (commit #993a2ab)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Allow camelCase method calls, update interfaces with missing methods
      -
      -
    • -
    • -

      2014-04-23T15:53:16-04:00 (commit #aa5aa8e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Docblock fixes and more dependency injection
      -
      -
    • -
    • -

      2014-04-22T14:02:54-04:00 (commit #0a64edd)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some typos and docblocks
      -
      -
    • -
    • -

      2014-04-03T14:44:03-04:00 (commit #a333920)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Rename db_util to abstract_util, mark create_table method as deprecated
      -
      -
    • -
    • -

      2014-04-03T13:28:30-04:00 (commit #4809016)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add insert_batch methods to Firebird and SQLite
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/__clone.html b/docs/classes/Query_ConnectionManager/__clone.html deleted file mode 100644 index 66760cb..0000000 --- a/docs/classes/Query_ConnectionManager/__clone.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::__clone

-

Private clone method to prevent cloning

-

-

    -

    Signature

    -
    - public function __clone() - -
    -

    Errors/Exceptions

    -
    -
    - - DomainException - -
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testNoClone
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/__construct.html b/docs/classes/Query_ConnectionManager/__construct.html deleted file mode 100644 index 4ad417b..0000000 --- a/docs/classes/Query_ConnectionManager/__construct.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::__construct

-

Private constructor to prevent multiple instances

-

-

    -

    Signature

    -
    - private function __construct() - -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/__sleep.html b/docs/classes/Query_ConnectionManager/__sleep.html deleted file mode 100644 index ad6840b..0000000 --- a/docs/classes/Query_ConnectionManager/__sleep.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::__sleep

-

Prevent serialization of this object

-

-

    -

    Signature

    -
    - public function __sleep() - -
    -

    Errors/Exceptions

    -
    -
    - - DomainException - -
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testNoSerialize
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/__wakeup.html b/docs/classes/Query_ConnectionManager/__wakeup.html deleted file mode 100644 index 74b0d5e..0000000 --- a/docs/classes/Query_ConnectionManager/__wakeup.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::__wakeup

-

Make sure serialize/deserialize doesn't work

-

-

    -

    Signature

    -
    - public function __wakeup() - -
    -

    Errors/Exceptions

    -
    -
    - - DomainException - -
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testNoUnserialize
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/connect.html b/docs/classes/Query_ConnectionManager/connect.html deleted file mode 100644 index 1622f2a..0000000 --- a/docs/classes/Query_ConnectionManager/connect.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::connect

-

Parse the passed parameters and return a connection

-

-

    -

    Signature

    -
    - public function connect(stdClass - $params ) - -
    -

    Parameters

    -
    -
    $params - — - \stdClass
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 17/17 Lines (100%)
    • -
    • Tests: 7
    • -
    • Passed: 7 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — MySQLQBTest::testBadDriver
    • -
    • [ PASSED ] — PgSQLQBTest::testBadDriver
    • -
    • [ PASSED ] — SQLiteQBTest::testBadDriver
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testBadDriver
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/create_dsn.html b/docs/classes/Query_ConnectionManager/create_dsn.html deleted file mode 100644 index 150b618..0000000 --- a/docs/classes/Query_ConnectionManager/create_dsn.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::create_dsn

-

Create the dsn from the db type and params

-

-

    -

    Signature

    -
    - private function create_dsn(string - $dbtype, - stdClass - $params ) - -
    -

    Parameters

    -
    -
    $dbtype - — - string
    -
    -
    $params - — - \stdClass
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/21 Lines (0%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/get_connection.html b/docs/classes/Query_ConnectionManager/get_connection.html deleted file mode 100644 index ff048e2..0000000 --- a/docs/classes/Query_ConnectionManager/get_connection.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::get_connection

-

Returns the connection specified by the name given

-

-

    -

    Signature

    -
    - public function get_connection([string - $name = ''] ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Errors/Exceptions

    -
    -
    - - InvalidArgumentException - -
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 6/6 Lines (100%)
    • -
    • Tests: 10
    • -
    • Passed: 10 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — MySQLQBTest::testInvalidConnectionName
    • -
    • [ PASSED ] — PgSQLQBTest::testInvalidConnectionName
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryFunctionAlias
    • -
    • [ PASSED ] — SQLiteQBTest::testInvalidConnectionName
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnectionException
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryFunctionAlias
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testInvalidConnectionName
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/get_instance.html b/docs/classes/Query_ConnectionManager/get_instance.html deleted file mode 100644 index 6a7bead..0000000 --- a/docs/classes/Query_ConnectionManager/get_instance.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::get_instance

-

Return a connection manager instance

-

-

    -

    Signature

    -
    - public function get_instance() - -
    -

    Returns

    -
    -
    Connection_Manager
    -

    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 12
    • -
    • Passed: 12 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testInvalidConnectionName
    • -
    • [ PASSED ] — MySQLQBTest::testBadDriver
    • -
    • [ PASSED ] — PgSQLQBTest::testInvalidConnectionName
    • -
    • [ PASSED ] — PgSQLQBTest::testBadDriver
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryFunctionAlias
    • -
    • [ PASSED ] — SQLiteQBTest::testInvalidConnectionName
    • -
    • [ PASSED ] — SQLiteQBTest::testBadDriver
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnectionException
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryFunctionAlias
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testInvalidConnectionName
    • -
    • [ PASSED ] — FirebirdQBTest::testBadDriver
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_ConnectionManager/parse_params.html b/docs/classes/Query_ConnectionManager/parse_params.html deleted file mode 100644 index aadad7d..0000000 --- a/docs/classes/Query_ConnectionManager/parse_params.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\ConnectionManager::parse_params

-

Parses params into a dsn and option array

-

-

    -

    Signature

    -
    - public function parse_params(stdClass - $params ) - -
    -

    Parameters

    -
    -
    $params - — - \stdClass
    -



    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Errors/Exceptions

    -
    -
    - - BadDBDriverException - -
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 20/21 Lines (95.238095238095%)
    • -
    • Tests: 8
    • -
    • Passed: 8 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testParseParams
    • -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — MySQLQBTest::testBadDriver
    • -
    • [ PASSED ] — PgSQLQBTest::testBadDriver
    • -
    • [ PASSED ] — SQLiteQBTest::testBadDriver
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testBadDriver
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver.html b/docs/classes/Query_Drivers_Firebird_Driver.html deleted file mode 100644 index 05d768e..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver.html +++ /dev/null @@ -1,585 +0,0 @@ - - - - - phpDox - Query\Drivers\Firebird\Driver - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver

-

Firebird Database class

-

PDO-firebird isn't stable, so this is a wrapper of the fbird_ public functions.

-
    -

    Synopsis

    -
    class Driver - extends AbstractDriver - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%19 / 19
    Lines100%58 / 58
    -

    Members

    -
    -

    protected

    -
      -
    • $conn - — - resource
      Reference to the connection resource
    • -
    • $escape_char - — - string
      Character to escape identifiers
    • -
    • $has_truncate - — - Query\Drivers\Firebird\bool
      Firebird doesn't have the truncate keyword
    • -
    • $has_truncate - — - Query\bool
      Whether the driver supports 'TRUNCATE'
    • -
    • $last_query - — - string
      Last query executed
    • -
    • $service - — - resource
      Reference to the service resource
    • -
    • $sql - — - Query\SQL_Interface
      Reference to sql class
    • -
    • $statement - — -
      Reference to the last query executed
    • -
    • $statement - — - \PDOStatement
      Reference to the last executed query
    • - -
    • $table_prefix - — - string
      Prefix to apply to table names
    • -
    • $trans - — - resource
      Reference to the current transaction
    • -
    • $util - — - Query\Abstract_Util
      Reference to util class
    • -
    -
    -

    Methods

    -
    -

    public

    -
      -
    • __construct() - — Open the link to the database
    • -
    • __destruct() - — Cleanup some loose ends
    • -
    • beginTransaction() - — Start a database transaction
    • -
    • commit() - — Commit a database transaction
    • -
    • errorCode() - — Method to emulate PDO->errorCode
    • -
    • errorInfo() - — Method to emulate PDO->errorInfo / PDOStatement->errorInfo
    • -
    • exec() - — Execute an sql statement and return number of affected rows
    • -
    • getAttribute() - — Implement for compatibility with PDO
    • -
    • get_service() - — Return service handle
    • -
    • inTransaction() - — Return whether the current statement is in a transaction
    • -
    • insert_batch() - — Create sql for batch insert
    • -
    • lastInsertId() - — Returns the last value of the specified generator
    • -
    • prepare() - — Emulate PDO prepare
    • -
    • prepare_execute() - — Prepare and execute a query
    • -
    • prepare_query() - — Bind a prepared query with arguments for executing
    • -
    • query() - — Wrapper public function to better match PDO
    • -
    • quote() - — Method to emulate PDO->quote
    • -
    • rollBack() - — Rollback a transaction
    • -
    • setAttribute() - — Set a connection attribute
    • -
    -

    Inherited from Query\AbstractDriver

    -

    protected

    - -

    public

    -
      -
    • __call() - — Allow invoke to work on table object
    • -
    • _quote() - — Helper method for quote_ident
    • -
    • affected_rows() - — Returns number of rows affected by an INSERT, UPDATE, DELETE type query
    • -
    • driver_query() - — Method to simplify retrieving db results for meta-data queries
    • -
    • get_columns() - — Retrieve column information for the current database table
    • -
    • get_dbs() - — Return list of dbs for the current connection, if possible
    • -
    • get_fks() - — Retrieve foreign keys for the table
    • -
    • get_functions() - — Return list of functions for the current database
    • -
    • get_indexes() - — Retrieve indexes for the table
    • -
    • get_last_query() - — Get the last sql query exexcuted
    • -
    • get_procedures() - — Return list of stored procedures for the current database
    • -
    • get_schemas() - — Return schemas for databases that list them
    • -
    • get_sequences() - — Return list of sequences for the current database, if they exist
    • -
    • get_sql() - — Get the SQL class for the current driver
    • -
    • get_system_tables() - — Retrieves an array of non-user-created tables for the connection/database
    • -
    • get_tables() - — Return list of tables for the current database
    • -
    • get_triggers() - — Return list of triggers for the current database
    • -
    • get_types() - — Retrieve list of data types for the database
    • -
    • get_util() - — Get the Util class for the current driver
    • -
    • get_views() - — Return list of views for the current database
    • -
    • insert_batch() - — Create sql for batch insert
    • -
    • num_rows() - — Return the number of rows returned for a SELECT query
    • -
    • prefix_table() - — Prefixes a table if it is not already prefixed
    • -
    • prepare_execute() - — Create and execute a prepared statement with the provided parameters
    • -
    • prepare_query() - — Simplifies prepared statements for database queries
    • -
    • quote_ident() - — Surrounds the string with the databases identifier escape characters
    • -
    • quote_table() - — Quote database table name, and set prefix
    • -
    • set_last_query() - — Set the last query sql
    • -
    • set_table_prefix() - — Set the common table name prefix
    • -
    • truncate() - — Empty the passed table
    • -
    -

    Inherited from PDO

    -

    public

    -
      -
    • beginTransaction() - — - Initiates a transaction -
    • -
    • commit() - — - Commits a transaction -
    • -
    • errorCode() - — - Fetch the SQLSTATE associated with the last operation on the database handle -
    • -
    • errorInfo() - — - Fetch extended error information associated with the last operation on the database handle -
    • -
    • exec() - — - Execute an SQL statement and return the number of affected rows -
    • -
    • getAttribute() - — - Retrieve a database connection attribute -
    • -
    • getAvailableDrivers() - — - Return an array of available PDO drivers -
    • -
    • inTransaction() - — - Checks if inside a transaction -
    • -
    • lastInsertId() - — - Returns the ID of the last inserted row or sequence value -
    • -
    • prepare() - — - Prepares a statement for execution and returns a statement object -
    • -
    • query() - — - Executes an SQL statement, returning a result set as a PDOStatement object -
    • -
    • quote() - — - Quotes a string for use in a query. -
    • -
    • rollBack() - — - Rolls back a transaction -
    • -
    • setAttribute() - — - Set an attribute -
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-30T13:13:12-04:00 (commit #8669fcc)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Some scrutinizer fixes
      -
      -
    • -
    • -

      2015-07-29T16:59:27-04:00 (commit #f3769ba)

      -
      -

      - Author: Scrutinizer Auto-Fixer (auto-fixer@scrutinizer-ci.com) / - Commiter: Scrutinizer Auto-Fixer (auto-fixer@scrutinizer-ci.com) -

      -
      Scrutinizer Auto-Fixes
      -
      -This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-17T15:38:06-04:00 (commit #28f5cb2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix Firebird tests and speed up tests by using one database connection for each query builder datbase test
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T20:14:19-04:00 (commit #2ae38be)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some variable setting logic duplication
      -
      -
    • -
    • -

      2014-04-24T17:07:50-04:00 (commit #81be910)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Split Query Builder class
      -
      -
    • -
    • -

      2014-04-24T16:25:04-04:00 (commit #5b531cf)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      De-duplicate truncate method of drivers
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-24T14:50:53-04:00 (commit #993a2ab)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Allow camelCase method calls, update interfaces with missing methods
      -
      -
    • -
    • -

      2014-04-22T14:02:54-04:00 (commit #0a64edd)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some typos and docblocks
      -
      -
    • -
    • -

      2014-04-10T15:54:43-04:00 (commit #32696a5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Flesh out the table builder a bit, and add some missing driver methods to SQLite
      -
      -
    • -
    • -

      2014-04-09T13:20:30-04:00 (commit #3cc260b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Deduplicate error methods in Firebird_Result class
      -
      -
    • -
    • -

      2014-04-08T14:43:07-04:00 (commit #85b804a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update drivers with missing method
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/__construct.html b/docs/classes/Query_Drivers_Firebird_Driver/__construct.html deleted file mode 100644 index ba80f1b..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/__construct.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::__construct

-

Open the link to the database

-

-

    -

    Signature

    -
    - public function __construct(string - $dbpath, - [string - $user = 'SYSDBA', - [string - $pass = 'masterkey', - [array - $options = ]]] ) - -
    -

    Parameters

    -
    -
    $dbpath - — - string
    -
    -
    $user - — - string
    -
    -
    $pass - — - string
    -
    -
    $options - — - array
    -
    -
    -

    Errors/Exceptions

    -
    -
    - - PDOException - -
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 8/8 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/__destruct.html b/docs/classes/Query_Drivers_Firebird_Driver/__destruct.html deleted file mode 100644 index 79f1e90..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/__destruct.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::__destruct

-

Cleanup some loose ends

-

-

    -

    Signature

    -
    - public function __destruct() - -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/beginTransaction.html b/docs/classes/Query_Drivers_Firebird_Driver/beginTransaction.html deleted file mode 100644 index f0a583c..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/beginTransaction.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::beginTransaction

-

Start a database transaction

-

-

    -

    Signature

    -
    - public function beginTransaction() - -
    -

    Returns

    -
    -
    boolean|null
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/commit.html b/docs/classes/Query_Drivers_Firebird_Driver/commit.html deleted file mode 100644 index 36005e8..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/commit.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::commit

-

Commit a database transaction

-

-

    -

    Signature

    -
    - public function commit() - -
    -

    Returns

    -
    -
    bool
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/errorCode.html b/docs/classes/Query_Drivers_Firebird_Driver/errorCode.html deleted file mode 100644 index 694e6fa..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/errorCode.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::errorCode

-

Method to emulate PDO->errorCode

-

-

    -

    Signature

    -
    - public function errorCode() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/errorInfo.html b/docs/classes/Query_Drivers_Firebird_Driver/errorInfo.html deleted file mode 100644 index 2edaba9..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/errorInfo.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::errorInfo

-

Method to emulate PDO->errorInfo / PDOStatement->errorInfo

-

-

    -

    Signature

    -
    - public function errorInfo() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/exec.html b/docs/classes/Query_Drivers_Firebird_Driver/exec.html deleted file mode 100644 index b43c221..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/exec.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::exec

-

Execute an sql statement and return number of affected rows

-

-

    -

    Signature

    -
    - public function exec(string - $sql ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    -

    Returns

    -
    -
    int
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/getAttribute.html b/docs/classes/Query_Drivers_Firebird_Driver/getAttribute.html deleted file mode 100644 index 279fcf8..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/getAttribute.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::getAttribute

-

Implement for compatibility with PDO

-

-

    -

    Signature

    -
    - public function getAttribute(int - $attribute ) - -
    -

    Parameters

    -
    -
    $attribute - — - int
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/get_service.html b/docs/classes/Query_Drivers_Firebird_Driver/get_service.html deleted file mode 100644 index 221809b..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/get_service.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::get_service

-

Return service handle

-

-

    -

    Signature

    -
    - public function get_service() - -
    -

    Returns

    -
    -
    resource
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testBackupStructure
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/inTransaction.html b/docs/classes/Query_Drivers_Firebird_Driver/inTransaction.html deleted file mode 100644 index 24f2226..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/inTransaction.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::inTransaction

-

Return whether the current statement is in a transaction

-

-

    -

    Signature

    -
    - public function inTransaction() - -
    -

    Returns

    -
    -
    bool
    -

    -
    -
    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/insert_batch.html b/docs/classes/Query_Drivers_Firebird_Driver/insert_batch.html deleted file mode 100644 index c46a00c..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/insert_batch.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::insert_batch

-

Create sql for batch insert

-

-

    -

    Signature

    -
    - public function insert_batch(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 13/13 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/lastInsertId.html b/docs/classes/Query_Drivers_Firebird_Driver/lastInsertId.html deleted file mode 100644 index adcc646..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/lastInsertId.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::lastInsertId

-

Returns the last value of the specified generator

-

-

    -

    Signature

    -
    - public function lastInsertId([string - $name = NULL] ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/prepare.html b/docs/classes/Query_Drivers_Firebird_Driver/prepare.html deleted file mode 100644 index 5224b21..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/prepare.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::prepare

-

Emulate PDO prepare

-

-

    -

    Signature

    -
    - public function prepare(string - $query, - [array - $options = ] ) - -
    -

    Parameters

    -
    -
    $query - — - string
    -
    -
    $options - — - array
    -
    -
    -

    Returns

    -
    -
    Result
    -

    -
    -
    -

    Errors/Exceptions

    -
    -
    - - PDOException - -
    -
    -
    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 37
    • -
    • Passed: 37 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/prepare_execute.html b/docs/classes/Query_Drivers_Firebird_Driver/prepare_execute.html deleted file mode 100644 index aa10c56..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/prepare_execute.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::prepare_execute

-

Prepare and execute a query

-

-

    -

    Signature

    -
    - public function prepare_execute(string - $sql, - array - $args ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $args - — - array
    -
    -
    -

    Returns

    -
    -
    Result
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 36
    • -
    • Passed: 36 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/prepare_query.html b/docs/classes/Query_Drivers_Firebird_Driver/prepare_query.html deleted file mode 100644 index 122fce4..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/prepare_query.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::prepare_query

-

Bind a prepared query with arguments for executing

-

-

    -

    Signature

    -
    - public function prepare_query(string - $sql, - array - $params ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $params - — - array
    -
    -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/query.html b/docs/classes/Query_Drivers_Firebird_Driver/query.html deleted file mode 100644 index 589c5d0..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/query.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::query

-

Wrapper public function to better match PDO

-

-

    -

    Signature

    -
    - public function query([string - $sql = ''] ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    -

    Returns

    -
    -
    Result
    -

    -
    -
    -

    Errors/Exceptions

    -
    -
    - - PDOException - -
    -
    -
    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 8/8 Lines (100%)
    • -
    • Tests: 55
    • -
    • Passed: 55 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    • [ PASSED ] — FirebirdQBTest::testTypeList
    • -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/quote.html b/docs/classes/Query_Drivers_Firebird_Driver/quote.html deleted file mode 100644 index 0d39398..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/quote.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::quote

-

Method to emulate PDO->quote

-

-

    -

    Signature

    -
    - public function quote(string - $str, - [int - $param_type = PDO::PARAM_STR] ) - -
    -

    Parameters

    -
    -
    $str - — - string
    -
    -
    $param_type - — - int
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 17
    • -
    • Passed: 17 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/rollBack.html b/docs/classes/Query_Drivers_Firebird_Driver/rollBack.html deleted file mode 100644 index 6271d9b..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/rollBack.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::rollBack

-

Rollback a transaction

-

-

    -

    Signature

    -
    - public function rollBack() - -
    -

    Returns

    -
    -
    bool
    -

    -
    -
    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Driver/setAttribute.html b/docs/classes/Query_Drivers_Firebird_Driver/setAttribute.html deleted file mode 100644 index de1ee4e..0000000 --- a/docs/classes/Query_Drivers_Firebird_Driver/setAttribute.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Driver::setAttribute

-

Set a connection attribute

-

-

    -

    Signature

    -
    - public function setAttribute(int - $attribute, - mixed - $value ) - -
    -

    Parameters

    -
    -
    $attribute - — - int
    -
    -
    $value - — - mixed
    -
    -
    -

    Returns

    -
    -
    bool
    -

    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    -
      -
    • - - PDO - -
    • -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result.html b/docs/classes/Query_Drivers_Firebird_Result.html deleted file mode 100644 index 9e8d3d5..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result.html +++ /dev/null @@ -1,449 +0,0 @@ - - - - - phpDox - Query\Drivers\Firebird\Result - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result

-

Firebird result class to emulate PDOStatement Class - only implements data-fetching methods

-

-

    -

    Synopsis

    -
    class Result - extends PDOStatement - {
    • // members
    • private  $statement; -
    • private  $row; -
    • private array $result = - ; -
    • private Driver $db; -
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%12 / 12
    Lines100%49 / 49
    -

    Members

    -
    -

    private

    -
      -
    • $db - — - \Query\Drivers\Firebird\Driver
      Reference to the db drive to de-duplicate error functions
    • -
    • - $result -
      - Data pulled from query -
    • -
    • $row - — - int
      Current row in result array
    • -
    • $statement - — - resource
      Reference to fbird resource
    • -
    -
    -

    Methods

    -
    -

    public

    -
      -
    • __construct() - — Create the object by passing the resource for the query
    • -
    • bindColumn() - — Invalidate method for data consistency
    • -
    • bindParam() - — Invalidate method for data consistency
    • -
    • bindValue() - — Invalidate method for data consistency
    • -
    • errorCode() - — Method to emulate PDOStatement->errorCode
    • -
    • errorInfo() - — Method to emulate PDO->errorInfo / PDOStatement->errorInfo
    • -
    • execute() - — Run a prepared statement query
    • -
    • fetch() - — Emulate PDO fetch public function
    • -
    • fetchAll() - — Emulate PDO fetchAll public function
    • -
    • fetchColumn() - — Emulate PDOStatement::fetchColumn
    • -
    • fetchObject() - — Emulate PDOStatement::fetchObject, but only for the default use
    • -
    • rowCount() - — Return the number of rows affected by the previous query
    • -
    -

    Inherited from PDOStatement

    -

    public

    -
      -
    • bindColumn() - — - Bind a column to a PHP variable -
    • -
    • bindParam() - — - Binds a parameter to the specified variable name -
    • -
    • bindValue() - — - Binds a value to a parameter -
    • -
    • closeCursor() - — - Closes the cursor, enabling the statement to be executed again. -
    • -
    • columnCount() - — - Returns the number of columns in the result set -
    • -
    • debugDumpParams() - — - Dump an SQL prepared command -
    • -
    • errorCode() - — - Fetch the SQLSTATE associated with the last operation on the statement handle -
    • -
    • errorInfo() - — - Fetch extended error information associated with the last operation on the statement handle -
    • -
    • execute() - — - Executes a prepared statement -
    • -
    • fetch() - — - Fetches the next row from a result set -
    • -
    • fetchAll() - — - Returns an array containing all of the result set rows -
    • -
    • fetchColumn() - — - Returns a single column from the next row of a result set -
    • -
    • fetchObject() - — Fetches the next row and returns it as an object.
    • -
    • getAttribute() - — - Retrieve a statement attribute -
    • -
    • getColumnMeta() - — - Returns metadata for a column in a result set -
    • -
    • nextRowset() - — - Advances to the next rowset in a multi-rowset statement handle -
    • -
    • rowCount() - — - Returns the number of rows affected by the last SQL statement -
    • -
    • setAttribute() - — - Set a statement attribute -
    • -
    • setFetchMode() - — - Set the default fetch mode for this statement -
    • -
    -
    -

    History

    -
      -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-30T13:13:12-04:00 (commit #8669fcc)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Some scrutinizer fixes
      -
      -
    • -
    • -

      2015-07-29T16:59:27-04:00 (commit #f3769ba)

      -
      -

      - Author: Scrutinizer Auto-Fixer (auto-fixer@scrutinizer-ci.com) / - Commiter: Scrutinizer Auto-Fixer (auto-fixer@scrutinizer-ci.com) -

      -
      Scrutinizer Auto-Fixes
      -
      -This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-17T16:01:41-04:00 (commit #b4118ce)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs
      -
      -
    • -
    • -

      2015-07-17T15:38:06-04:00 (commit #28f5cb2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix Firebird tests and speed up tests by using one database connection for each query builder datbase test
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-23T16:27:43-04:00 (commit #fddd92a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some more docblocks
      -
      -
    • -
    • -

      2014-04-23T15:53:16-04:00 (commit #aa5aa8e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Docblock fixes and more dependency injection
      -
      -
    • -
    • -

      2014-04-09T13:20:30-04:00 (commit #3cc260b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Deduplicate error methods in Firebird_Result class
      -
      -
    • -
    • -

      2014-04-08T14:43:07-04:00 (commit #85b804a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update drivers with missing method
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-31T12:58:43-04:00 (commit #23c1cf0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improvements for scrutinizer
      -
      -
    • -
    • -

      2014-03-17T19:35:25-04:00 (commit #2b4154a)

      -
      -

      - Author: Scrutinizer Auto-Fixer (auto-fixer@scrutinizer-ci.com) / - Commiter: Scrutinizer (auto-fixer@scrutinizer-ci.com) -

      -
      Scrutinizer Auto-Fixes
      -
      -This patch was automatically generated as part of the following inspection:
      -https://scrutinizer-ci.com/g/timw4mail/Query/inspections/89ed2aa4-7aae-45bb-9289-ebb27a60ef13
      -
      -Enabled analysis tools:
      - - PHP Analyzer
      -
      -
    • -
    • -

      2014-02-25T13:47:35-05:00 (commit #620441a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Better test coverage
      -
      -
    • -
    • -

      2014-02-18T15:18:01-05:00 (commit #1095e85)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some docblocks, and update test files to 2014
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/__construct.html b/docs/classes/Query_Drivers_Firebird_Result/__construct.html deleted file mode 100644 index d48d2af..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/__construct.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::__construct

-

Create the object by passing the resource for the query

-

-

    -

    Signature

    -
    - public function __construct(resource - $link, - [Driver|null - $db = NULL] ) - -
    -

    Parameters

    -
    -
    $link - — - resource
    -
    -
    $db - — - object
    -



    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 13/13 Lines (100%)
    • -
    • Tests: 90
    • -
    • Passed: 90 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    • [ PASSED ] — FirebirdQBTest::testTypeList
    • -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/bindColumn.html b/docs/classes/Query_Drivers_Firebird_Result/bindColumn.html deleted file mode 100644 index 17cc09a..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/bindColumn.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::bindColumn

-

Invalidate method for data consistency

-

-

    -

    Signature

    -
    - public function bindColumn(mixed - $column, - mixed& - $param, - [int - $type = NULL, - [mixed - $maxlen = NULL, - [array - $driverdata = NULL]]] ) - -
    -

    Parameters

    -
    -
    $column - — - mixed
    -
    -
    $param - — - mixed
    -
    -
    $type - — - int
    -
    -
    $maxlen - — - mixed
    -
    -
    $driverdata - — - array
    -
    -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/bindParam.html b/docs/classes/Query_Drivers_Firebird_Result/bindParam.html deleted file mode 100644 index 70f37c8..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/bindParam.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::bindParam

-

Invalidate method for data consistency

-

-

    -

    Signature

    -
    - public function bindParam(mixed - $parameter, - mixed& - $variable, - [int - $data_type = NULL, - [mixed - $maxlen = NULL, - [array - $driverdata = NULL]]] ) - -
    -

    Parameters

    -
    -
    $parameter - — - mixed
    -
    -
    $variable - — - mixed
    -
    -
    $data_type - — - int
    -
    -
    $maxlen - — - mixed
    -
    -
    $driverdata - — - array
    -
    -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/bindValue.html b/docs/classes/Query_Drivers_Firebird_Result/bindValue.html deleted file mode 100644 index a7a2c5d..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/bindValue.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::bindValue

-

Invalidate method for data consistency

-

-

    -

    Signature

    -
    - public function bindValue(mixed - $parameter, - mixed - $variable, - [int - $data_type = NULL] ) - -
    -

    Parameters

    -
    -
    $parameter - — - mixed
    -
    -
    $variable - — - mixed
    -
    -
    $data_type - — - int
    -
    -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/errorCode.html b/docs/classes/Query_Drivers_Firebird_Result/errorCode.html deleted file mode 100644 index b01d9b0..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/errorCode.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::errorCode

-

Method to emulate PDOStatement->errorCode

-

-

    -

    Signature

    -
    - public function errorCode() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/errorInfo.html b/docs/classes/Query_Drivers_Firebird_Result/errorInfo.html deleted file mode 100644 index 84d9516..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/errorInfo.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::errorInfo

-

Method to emulate PDO->errorInfo / PDOStatement->errorInfo

-

-

    -

    Signature

    -
    - public function errorInfo() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/execute.html b/docs/classes/Query_Drivers_Firebird_Result/execute.html deleted file mode 100644 index 15f9890..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/execute.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::execute

-

Run a prepared statement query

-

-

    -

    Signature

    -
    - public function execute([array - $args = NULL] ) - -
    -

    Parameters

    -
    -
    $args - — - array
    -
    -
    -

    Returns

    -
    -
    Result
    -

    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 37
    • -
    • Passed: 37 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/fetch.html b/docs/classes/Query_Drivers_Firebird_Result/fetch.html deleted file mode 100644 index 4642242..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/fetch.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::fetch

-

Emulate PDO fetch public function

-

-

    -

    Signature

    -
    - public function fetch([int - $fetch_style = PDO::FETCH_ASSOC, - [mixed - $cursor_orientation = PDO::FETCH_ORI_NEXT, - [mixed - $cursor_offset = NULL]]] ) - -
    -

    Parameters

    -
    -
    $fetch_style - — - int
    -
    -
    $cursor_orientation - — - mixed
    -
    -
    $cursor_offset - — - mixed
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 18/18 Lines (100%)
    • -
    • Tests: 38
    • -
    • Passed: 38 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    • [ PASSED ] — FirebirdQBTest::testTypeList
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/fetchAll.html b/docs/classes/Query_Drivers_Firebird_Result/fetchAll.html deleted file mode 100644 index f00d91c..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/fetchAll.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::fetchAll

-

Emulate PDO fetchAll public function

-

-

    -

    Signature

    -
    - public function fetchAll([int - $fetch_style = PDO::FETCH_ASSOC, - [mixed - $statement = NULL, - [mixed - $ctor_args = NULL]]] ) - -
    -

    Parameters

    -
    -
    $fetch_style - — - int
    -
    -
    $statement - — - mixed
    -
    -
    $ctor_args - — - mixed
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 6/6 Lines (100%)
    • -
    • Tests: 37
    • -
    • Passed: 37 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    • [ PASSED ] — FirebirdQBTest::testTypeList
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/fetchColumn.html b/docs/classes/Query_Drivers_Firebird_Result/fetchColumn.html deleted file mode 100644 index e66e252..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/fetchColumn.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::fetchColumn

-

Emulate PDOStatement::fetchColumn

-

-

    -

    Signature

    -
    - public function fetchColumn([integer - $column_num = 0] ) - -
    -

    Parameters

    -
    -
    $column_num - — - integer
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/fetchObject.html b/docs/classes/Query_Drivers_Firebird_Result/fetchObject.html deleted file mode 100644 index 9aa699a..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/fetchObject.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::fetchObject

-

Emulate PDOStatement::fetchObject, but only for the default use

-

-

    -

    Signature

    -
    - public function fetchObject([string - $class_name = 'stdClass', - [array - $ctor_args = ]] ) - -
    -

    Parameters

    -
    -
    $class_name - — - string
    -
    -
    $ctor_args - — - array
    -
    -
    -

    Returns

    -
    -
    stdClass
    -

    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Result/rowCount.html b/docs/classes/Query_Drivers_Firebird_Result/rowCount.html deleted file mode 100644 index fd9e327..0000000 --- a/docs/classes/Query_Drivers_Firebird_Result/rowCount.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Result::rowCount

-

Return the number of rows affected by the previous query

-

-

    -

    Signature

    -
    - public function rowCount() - -
    -

    Returns

    -
    -
    int
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL.html b/docs/classes/Query_Drivers_Firebird_SQL.html deleted file mode 100644 index 053c86c..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - phpDox - Query\Drivers\Firebird\SQL - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL

-

Firebird Specific SQL

-

-

    -

    Synopsis

    -
    class SQL - extends AbstractSQL - {
    • // Inherited methods from AbstractSQL
    • public string limit() -
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%15 / 15
    Lines100%26 / 26
    -

    Methods

    -
    -

    public

    - -

    Inherited from Query\AbstractSQL

    -

    public

    -
      -
    • limit() - — Limit clause
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-28T16:41:46-04:00 (commit #6a38213)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improve some tests and docblocks
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-23T15:53:16-04:00 (commit #aa5aa8e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Docblock fixes and more dependency injection
      -
      -
    • -
    • -

      2014-04-17T16:41:12-04:00 (commit #d6c0fd2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add update and delete rules to foreign key methods
      -
      -
    • -
    • -

      2014-04-15T16:15:08-04:00 (commit #80595df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update foreign key driver methods to return the same kind of information
      -
      -
    • -
    • -

      2014-04-10T15:54:43-04:00 (commit #32696a5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Flesh out the table builder a bit, and add some missing driver methods to SQLite
      -
      -
    • -
    • -

      2014-04-08T14:43:07-04:00 (commit #85b804a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update drivers with missing method
      -
      -
    • -
    • -

      2014-04-07T16:49:49-04:00 (commit #2af3b0b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add method to retrieve foreign keys for a table to driver classes
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-26T21:33:58-04:00 (commit #5b908f5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add abstract class for sql classes to have base limit method
      -
      -
    • -
    • -

      2014-02-07T15:43:25-05:00 (commit #7c0b951)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      More firebird coverage
      -
      -
    • -
    • -

      2014-02-04T20:59:30-05:00 (commit #8dc2079)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add `explain` method to query builder
      -
      -
    • -
    • -

      2014-01-02T12:36:50-05:00 (commit #6dc9ed0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update copyright for the new year
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/column_list.html b/docs/classes/Query_Drivers_Firebird_SQL/column_list.html deleted file mode 100644 index 229ceb1..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/column_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::column_list

-

Return sql to list columns of the specified table

-

-

    -

    Signature

    -
    - public function column_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/db_list.html b/docs/classes/Query_Drivers_Firebird_SQL/db_list.html deleted file mode 100644 index f135d05..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/db_list.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::db_list

-

Returns sql to list other databases

-

-

    -

    Signature

    -
    - public function db_list() - -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/explain.html b/docs/classes/Query_Drivers_Firebird_SQL/explain.html deleted file mode 100644 index 874eb2e..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/explain.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::explain

-

Get the query plan for the sql query

-

-

    -

    Signature

    -
    - public function explain(string - $sql ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/fk_list.html b/docs/classes/Query_Drivers_Firebird_SQL/fk_list.html deleted file mode 100644 index 574ca16..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/fk_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::fk_list

-

Get the list of foreign keys for the current table

-

-

    -

    Signature

    -
    - public function fk_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/function_list.html b/docs/classes/Query_Drivers_Firebird_SQL/function_list.html deleted file mode 100644 index ae471aa..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/function_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::function_list

-

Return sql to list functions

-

-

    -

    Signature

    -
    - public function function_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/index_list.html b/docs/classes/Query_Drivers_Firebird_SQL/index_list.html deleted file mode 100644 index a7a3deb..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/index_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::index_list

-

Get the list of indexes for the current table

-

-

    -

    Signature

    -
    - public function index_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/limit.html b/docs/classes/Query_Drivers_Firebird_SQL/limit.html deleted file mode 100644 index f82929c..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/limit.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::limit

-

Limit clause

-

-

    -

    Signature

    -
    - public function limit(string - $sql, - int - $limit, - [boolean - $offset = FALSE] ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $limit - — - int
    -
    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 8/8 Lines (100%)
    • -
    • Tests: 17
    • -
    • Passed: 17 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/procedure_list.html b/docs/classes/Query_Drivers_Firebird_SQL/procedure_list.html deleted file mode 100644 index 8bb496c..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/procedure_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::procedure_list

-

Return sql to list stored procedures

-

-

    -

    Signature

    -
    - public function procedure_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/random.html b/docs/classes/Query_Drivers_Firebird_SQL/random.html deleted file mode 100644 index 5780a5a..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/random.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::random

-

Random ordering keyword

-

-

    -

    Signature

    -
    - public function random() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/sequence_list.html b/docs/classes/Query_Drivers_Firebird_SQL/sequence_list.html deleted file mode 100644 index 1208c10..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/sequence_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::sequence_list

-

Return sql to list sequences

-

-

    -

    Signature

    -
    - public function sequence_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/system_table_list.html b/docs/classes/Query_Drivers_Firebird_SQL/system_table_list.html deleted file mode 100644 index 83359ce..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/system_table_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::system_table_list

-

Returns sql to list system tables

-

-

    -

    Signature

    -
    - public function system_table_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/table_list.html b/docs/classes/Query_Drivers_Firebird_SQL/table_list.html deleted file mode 100644 index 9e2d559..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/table_list.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::table_list

-

Returns sql to list tables

-

-

    -

    Signature

    -
    - public function table_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 32
    • -
    • Passed: 32 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testNullResultMethods
    • -
    • [ PASSED ] — FirebirdTest::testExists
    • -
    • [ PASSED ] — FirebirdTest::testConnection
    • -
    • [ PASSED ] — FirebirdTest::testGetSystemTables
    • -
    • [ PASSED ] — FirebirdTest::testCreateTable
    • -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    • [ PASSED ] — FirebirdTest::testTruncate
    • -
    • [ PASSED ] — FirebirdTest::testCommitTransaction
    • -
    • [ PASSED ] — FirebirdTest::testRollbackTransaction
    • -
    • [ PASSED ] — FirebirdTest::testPreparedStatements
    • -
    • [ PASSED ] — FirebirdTest::testPrepareExecute
    • -
    • [ PASSED ] — FirebirdTest::testFetch
    • -
    • [ PASSED ] — FirebirdTest::testPrepareQuery
    • -
    • [ PASSED ] — FirebirdTest::testErrorInfo
    • -
    • [ PASSED ] — FirebirdTest::testErrorCode
    • -
    • [ PASSED ] — FirebirdTest::testDBList
    • -
    • [ PASSED ] — FirebirdTest::testExec
    • -
    • [ PASSED ] — FirebirdTest::testInTransaction
    • -
    • [ PASSED ] — FirebirdTest::testGetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testSetAttribute
    • -
    • [ PASSED ] — FirebirdTest::testLastInsertId
    • -
    • [ PASSED ] — FirebirdTest::testGetTables
    • -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    • [ PASSED ] — FirebirdTest::testGetColumns
    • -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdTest::testGetFKs
    • -
    • [ PASSED ] — FirebirdTest::testGetIndexes
    • -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    • [ PASSED ] — FirebirdTest::testGetSequences
    • -
    • [ PASSED ] — FirebirdTest::testGetProcedures
    • -
    • [ PASSED ] — FirebirdTest::testGetFunctions
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/trigger_list.html b/docs/classes/Query_Drivers_Firebird_SQL/trigger_list.html deleted file mode 100644 index ed74fc8..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/trigger_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::trigger_list

-

Returns sql to list triggers

-

-

    -

    Signature

    -
    - public function trigger_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetTriggers
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/type_list.html b/docs/classes/Query_Drivers_Firebird_SQL/type_list.html deleted file mode 100644 index c41d6e0..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/type_list.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::type_list

-

SQL to show list of field types

-

-

    -

    Signature

    -
    - public function type_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetTypes
    • -
    • [ PASSED ] — FirebirdQBTest::testTypeList
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_SQL/view_list.html b/docs/classes/Query_Drivers_Firebird_SQL/view_list.html deleted file mode 100644 index 5cfaff1..0000000 --- a/docs/classes/Query_Drivers_Firebird_SQL/view_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\SQL::view_list

-

Returns sql to list views

-

-

    -

    Signature

    -
    - public function view_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testGetViews
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Util.html b/docs/classes/Query_Drivers_Firebird_Util.html deleted file mode 100644 index b37258d..0000000 --- a/docs/classes/Query_Drivers_Firebird_Util.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - phpDox - Query\Drivers\Firebird\Util - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Util

-

Firebird-specific backup, import and creation methods

-

-

    -

    Synopsis

    -
    class Util - extends AbstractUtil - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods75%3 / 4
    Lines94.12%32 / 34
    -

    Methods

    -
    -

    public

    -
      -
    • backup_data() - — Create an SQL backup file for the current database's data
    • -
    • backup_structure() - — Create an SQL backup file for the current database's structure
    • -
    • create_table() - — Convenience public function to generate sql for creating a db table
    • -
    • delete_table() - — Drop the selected table
    • -
    -

    Inherited from Query\AbstractUtil

    -

    public

    -
      -
    • backup_data() - — Return an SQL file with the database data as insert statements
    • -
    • backup_structure() - — Return an SQL file with the database table structure
    • -
    • create_table() - — Convenience public function to generate sql for creating a db table
    • -
    • delete_table() - — Drop the selected table
    • -
    • get_driver() - — Get the driver object for the current connection
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-17T15:38:06-04:00 (commit #28f5cb2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix Firebird tests and speed up tests by using one database connection for each query builder datbase test
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-24T13:42:01-04:00 (commit #ff77cea)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove __call method from util classes
      -
      -
    • -
    • -

      2014-04-24T11:31:03-04:00 (commit #0baf624)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix a few spelling mistakes
      -
      -
    • -
    • -

      2014-04-23T17:03:46-04:00 (commit #6b814c0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some duplication
      -
      -
    • -
    • -

      2014-04-23T15:53:16-04:00 (commit #aa5aa8e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Docblock fixes and more dependency injection
      -
      -
    • -
    • -

      2014-04-10T15:54:43-04:00 (commit #32696a5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Flesh out the table builder a bit, and add some missing driver methods to SQLite
      -
      -
    • -
    • -

      2014-04-09T13:20:30-04:00 (commit #3cc260b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Deduplicate error methods in Firebird_Result class
      -
      -
    • -
    • -

      2014-04-09T10:55:17-04:00 (commit #fde92bc)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix a few code quality issues
      -
      -
    • -
    • -

      2014-04-08T14:43:07-04:00 (commit #85b804a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update drivers with missing method
      -
      -
    • -
    • -

      2014-04-03T16:49:01-04:00 (commit #3eeea75)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Cut down on some duplication, and increase test coverage
      -
      -
    • -
    • -

      2014-04-03T14:44:03-04:00 (commit #a333920)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Rename db_util to abstract_util, mark create_table method as deprecated
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Util/backup_data.html b/docs/classes/Query_Drivers_Firebird_Util/backup_data.html deleted file mode 100644 index 1256d66..0000000 --- a/docs/classes/Query_Drivers_Firebird_Util/backup_data.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Util::backup_data

-

Create an SQL backup file for the current database's data

-

-

    -

    Signature

    -
    - public function backup_data([array - $exclude = , - [boolean - $system_tables = FALSE]] ) - -
    -

    Parameters

    -
    -
    $exclude - — - array
    -
    -
    $system_tables - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 29/31 Lines (93.548387096774%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testBackupData
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Util/backup_structure.html b/docs/classes/Query_Drivers_Firebird_Util/backup_structure.html deleted file mode 100644 index c172e94..0000000 --- a/docs/classes/Query_Drivers_Firebird_Util/backup_structure.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Util::backup_structure

-

Create an SQL backup file for the current database's structure

-

-

    -

    Signature

    -
    - public function backup_structure() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdQBTest::testBackupStructure
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Util/create_table.html b/docs/classes/Query_Drivers_Firebird_Util/create_table.html deleted file mode 100644 index 508fa10..0000000 --- a/docs/classes/Query_Drivers_Firebird_Util/create_table.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Util::create_table

-

Convenience public function to generate sql for creating a db table

-

-

    -

    Signature

    -
    - public function create_table(string - $name, - array - $fields, - [array - $constraints = , - [boolean - $if_not_exists = FALSE]] ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -
    -
    $fields - — - array
    -
    -
    $constraints - — - array
    -
    -
    $if_not_exists - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Firebird_Util/delete_table.html b/docs/classes/Query_Drivers_Firebird_Util/delete_table.html deleted file mode 100644 index da54ce4..0000000 --- a/docs/classes/Query_Drivers_Firebird_Util/delete_table.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Firebird\Util::delete_table

-

Drop the selected table

-

-

    -

    Signature

    -
    - public function delete_table(string - $name ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — FirebirdTest::testDeleteTable
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_Driver.html b/docs/classes/Query_Drivers_Mysql_Driver.html deleted file mode 100644 index 29f3286..0000000 --- a/docs/classes/Query_Drivers_Mysql_Driver.html +++ /dev/null @@ -1,499 +0,0 @@ - - - - - phpDox - Query\Drivers\Mysql\Driver - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\Driver

-

MySQL specific class

-

-

    -

    Synopsis

    -
    class Driver - extends AbstractDriver - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%1 / 1
    Lines0%0 / 0
    -

    Members

    -
    -

    protected

    -
      -
    • $escape_char - — - string
      Set the backtick as the MySQL escape character
    • -
    • $escape_char - — - string
      Character to escape identifiers
    • -
    • $has_truncate - — - Query\bool
      Whether the driver supports 'TRUNCATE'
    • -
    • $last_query - — - string
      Last query executed
    • -
    • $sql - — - Query\SQL_Interface
      Reference to sql class
    • -
    • $statement - — - \PDOStatement
      Reference to the last executed query
    • -
    • $table_prefix - — - string
      Prefix to apply to table names
    • -
    • $util - — - Query\Abstract_Util
      Reference to util class
    • -
    -
    -

    Methods

    -
    -

    Inherited from Query\AbstractDriver

    -

    protected

    - -

    public

    -
      -
    • __call() - — Allow invoke to work on table object
    • -
    • _quote() - — Helper method for quote_ident
    • -
    • affected_rows() - — Returns number of rows affected by an INSERT, UPDATE, DELETE type query
    • -
    • driver_query() - — Method to simplify retrieving db results for meta-data queries
    • -
    • get_columns() - — Retrieve column information for the current database table
    • -
    • get_dbs() - — Return list of dbs for the current connection, if possible
    • -
    • get_fks() - — Retrieve foreign keys for the table
    • -
    • get_functions() - — Return list of functions for the current database
    • -
    • get_indexes() - — Retrieve indexes for the table
    • -
    • get_last_query() - — Get the last sql query exexcuted
    • -
    • get_procedures() - — Return list of stored procedures for the current database
    • -
    • get_schemas() - — Return schemas for databases that list them
    • -
    • get_sequences() - — Return list of sequences for the current database, if they exist
    • -
    • get_sql() - — Get the SQL class for the current driver
    • -
    • get_system_tables() - — Retrieves an array of non-user-created tables for the connection/database
    • -
    • get_tables() - — Return list of tables for the current database
    • -
    • get_triggers() - — Return list of triggers for the current database
    • -
    • get_types() - — Retrieve list of data types for the database
    • -
    • get_util() - — Get the Util class for the current driver
    • -
    • get_views() - — Return list of views for the current database
    • -
    • insert_batch() - — Create sql for batch insert
    • -
    • num_rows() - — Return the number of rows returned for a SELECT query
    • -
    • prefix_table() - — Prefixes a table if it is not already prefixed
    • -
    • prepare_execute() - — Create and execute a prepared statement with the provided parameters
    • -
    • prepare_query() - — Simplifies prepared statements for database queries
    • -
    • quote_ident() - — Surrounds the string with the databases identifier escape characters
    • -
    • quote_table() - — Quote database table name, and set prefix
    • -
    • set_last_query() - — Set the last query sql
    • -
    • set_table_prefix() - — Set the common table name prefix
    • -
    • truncate() - — Empty the passed table
    • -
    -

    Inherited from PDO

    -

    public

    -
      -
    • beginTransaction() - — - Initiates a transaction -
    • -
    • commit() - — - Commits a transaction -
    • -
    • errorCode() - — - Fetch the SQLSTATE associated with the last operation on the database handle -
    • -
    • errorInfo() - — - Fetch extended error information associated with the last operation on the database handle -
    • -
    • exec() - — - Execute an SQL statement and return the number of affected rows -
    • -
    • getAttribute() - — - Retrieve a database connection attribute -
    • -
    • getAvailableDrivers() - — - Return an array of available PDO drivers -
    • -
    • inTransaction() - — - Checks if inside a transaction -
    • -
    • lastInsertId() - — - Returns the ID of the last inserted row or sequence value -
    • -
    • prepare() - — - Prepares a statement for execution and returns a statement object -
    • -
    • query() - — - Executes an SQL statement, returning a result set as a PDOStatement object -
    • -
    • quote() - — - Quotes a string for use in a query. -
    • -
    • rollBack() - — - Rolls back a transaction -
    • -
    • setAttribute() - — - Set an attribute -
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T16:25:04-04:00 (commit #5b531cf)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      De-duplicate truncate method of drivers
      -
      -
    • -
    • -

      2014-04-09T10:30:01-04:00 (commit #3ce35d7)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix tests, by fixing some issues with auto-prefixing table names
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-26T20:49:33-04:00 (commit #846e68a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add interface for pdo drivers to enforce the same interface on the Firebird driver
      -
      -
    • -
    • -

      2014-02-11T14:38:08-05:00 (commit #8e16cc0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix dsn issue in tests
      -
      -
    • -
    • -

      2014-02-11T14:29:41-05:00 (commit #bed0d1b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improve code coverage
      -
      -
    • -
    • -

      2014-02-04T20:59:30-05:00 (commit #8dc2079)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add `explain` method to query builder
      -
      -
    • -
    • -

      2014-01-02T12:36:50-05:00 (commit #6dc9ed0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update copyright for the new year
      -
      -
    • -
    • -

      2013-01-02T14:26:42-05:00 (commit #0e44bba)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Update year
      -
      -
    • -
    • -

      2012-12-18T16:19:52-05:00 (commit #785e5f2)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Add interfaces
      -
      -
    • -
    • -

      2012-07-05T14:19:49-04:00 (commit #1e71b22)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Make mysql/postgres drivers compatible with Quercus
      -
      -
    • -
    • -

      2012-05-07T16:05:51-04:00 (commit #e4acfda)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Add list_types abstract method to db_sql class
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_Driver/__construct.html b/docs/classes/Query_Drivers_Mysql_Driver/__construct.html deleted file mode 100644 index 68c7e68..0000000 --- a/docs/classes/Query_Drivers_Mysql_Driver/__construct.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\Driver::__construct

-

Connect to MySQL Database

-

-

    -

    Signature

    -
    - public function __construct(string - $dsn, - [string - $username = null, - [string - $password = null, - [array - $options = ]]] ) - -
    -

    Parameters

    -
    -
    $dsn - — - string
    -
    -
    $username - — - string
    -
    -
    $password - — - string
    -
    -
    $options - — - array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL.html b/docs/classes/Query_Drivers_Mysql_SQL.html deleted file mode 100644 index 2f61b3f..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - phpDox - Query\Drivers\Mysql\SQL - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL

-

MySQL specifc SQL

-

-

    -

    Synopsis

    -
    class SQL - extends AbstractSQL - {
    • // Inherited methods from AbstractSQL
    • public string limit() -
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%15 / 15
    Lines100%20 / 20
    -

    Methods

    -
    -

    public

    - -

    Inherited from Query\AbstractSQL

    -

    public

    -
      -
    • limit() - — Limit clause
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-17T16:41:12-04:00 (commit #d6c0fd2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add update and delete rules to foreign key methods
      -
      -
    • -
    • -

      2014-04-15T16:15:08-04:00 (commit #80595df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update foreign key driver methods to return the same kind of information
      -
      -
    • -
    • -

      2014-04-08T17:13:41-04:00 (commit #74d4a00)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Test improvements
      -
      -
    • -
    • -

      2014-04-08T14:43:07-04:00 (commit #85b804a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update drivers with missing method
      -
      -
    • -
    • -

      2014-04-07T16:49:49-04:00 (commit #2af3b0b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add method to retrieve foreign keys for a table to driver classes
      -
      -
    • -
    • -

      2014-04-07T10:02:52-04:00 (commit #87754e6)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Micro-optimization for MySQL order by rand
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-26T21:33:58-04:00 (commit #5b908f5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add abstract class for sql classes to have base limit method
      -
      -
    • -
    • -

      2014-02-25T13:47:35-05:00 (commit #620441a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Better test coverage
      -
      -
    • -
    • -

      2014-02-04T20:59:30-05:00 (commit #8dc2079)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add `explain` method to query builder
      -
      -
    • -
    • -

      2014-01-02T12:36:50-05:00 (commit #6dc9ed0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update copyright for the new year
      -
      -
    • -
    • -

      2013-05-01T15:59:23-04:00 (commit #40c76b2)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Changed invalid methods to return NULL instead of FALSE, added insert_batch
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/column_list.html b/docs/classes/Query_Drivers_Mysql_SQL/column_list.html deleted file mode 100644 index 62cae3c..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/column_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::column_list

-

SQL to show infromation about columns in a table

-

-

    -

    Signature

    -
    - public function column_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetColumns
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/db_list.html b/docs/classes/Query_Drivers_Mysql_SQL/db_list.html deleted file mode 100644 index 67ccf94..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/db_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::db_list

-

Returns sql to list other databases

-

-

    -

    Signature

    -
    - public function db_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testBackup
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/explain.html b/docs/classes/Query_Drivers_Mysql_SQL/explain.html deleted file mode 100644 index 3ef390f..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/explain.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::explain

-

Get the query plan for the sql query

-

-

    -

    Signature

    -
    - public function explain(string - $sql ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/fk_list.html b/docs/classes/Query_Drivers_Mysql_SQL/fk_list.html deleted file mode 100644 index 9a31c70..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/fk_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::fk_list

-

Get the list of foreign keys for the current table

-

-

    -

    Signature

    -
    - public function fk_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetFKs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/function_list.html b/docs/classes/Query_Drivers_Mysql_SQL/function_list.html deleted file mode 100644 index b53c13c..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/function_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::function_list

-

Return sql to list functions

-

-

    -

    Signature

    -
    - public function function_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetFunctions
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/index_list.html b/docs/classes/Query_Drivers_Mysql_SQL/index_list.html deleted file mode 100644 index bc000e3..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/index_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::index_list

-

Get the list of indexes for the current table

-

-

    -

    Signature

    -
    - public function index_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetIndexes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/limit.html b/docs/classes/Query_Drivers_Mysql_SQL/limit.html deleted file mode 100644 index fccab07..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/limit.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::limit

-

Limit clause

-

-

    -

    Signature

    -
    - public function limit(string - $sql, - int - $limit, - [boolean - $offset = FALSE] ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $limit - — - int
    -
    -
    $offset - — - boolean
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 17
    • -
    • Passed: 17 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/procedure_list.html b/docs/classes/Query_Drivers_Mysql_SQL/procedure_list.html deleted file mode 100644 index 3259157..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/procedure_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::procedure_list

-

Return sql to list stored procedures

-

-

    -

    Signature

    -
    - public function procedure_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetProcedures
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/random.html b/docs/classes/Query_Drivers_Mysql_SQL/random.html deleted file mode 100644 index 2152664..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/random.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::random

-

Random ordering keyword

-

-

    -

    Signature

    -
    - public function random() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/sequence_list.html b/docs/classes/Query_Drivers_Mysql_SQL/sequence_list.html deleted file mode 100644 index 7efb76d..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/sequence_list.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::sequence_list

-

Return sql to list sequences

-

-

    -

    Signature

    -
    - public function sequence_list() - -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetSequences
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/system_table_list.html b/docs/classes/Query_Drivers_Mysql_SQL/system_table_list.html deleted file mode 100644 index 0efe2fe..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/system_table_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::system_table_list

-

Overridden in MySQL class

-

-

    -

    Signature

    -
    - public function system_table_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetSystemTables
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/table_list.html b/docs/classes/Query_Drivers_Mysql_SQL/table_list.html deleted file mode 100644 index 987e4d1..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/table_list.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::table_list

-

Returns sql to list tables

-

-

    -

    Signature

    -
    - public function table_list([string - $database = ''] ) - -
    -

    Parameters

    -
    -
    $database - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testCreateTable
    • -
    • [ PASSED ] — MySQLTest::testGetTables
    • -
    • [ PASSED ] — MySQLTest::testBackupData
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/trigger_list.html b/docs/classes/Query_Drivers_Mysql_SQL/trigger_list.html deleted file mode 100644 index 60a7114..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/trigger_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::trigger_list

-

Returns sql to list triggers

-

-

    -

    Signature

    -
    - public function trigger_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetTriggers
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/type_list.html b/docs/classes/Query_Drivers_Mysql_SQL/type_list.html deleted file mode 100644 index 77de25d..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/type_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::type_list

-

SQL to show list of field types

-

-

    -

    Signature

    -
    - public function type_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetTypes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_SQL/view_list.html b/docs/classes/Query_Drivers_Mysql_SQL/view_list.html deleted file mode 100644 index eee9aa8..0000000 --- a/docs/classes/Query_Drivers_Mysql_SQL/view_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\SQL::view_list

-

Returns sql to list views

-

-

    -

    Signature

    -
    - public function view_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testGetViews
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_Util.html b/docs/classes/Query_Drivers_Mysql_Util.html deleted file mode 100644 index 2a86f14..0000000 --- a/docs/classes/Query_Drivers_Mysql_Util.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - phpDox - Query\Drivers\Mysql\Util - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\Util

-

MySQL-specific backup, import and creation methods

-

-

    -

    Synopsis

    -
    class Util - extends AbstractUtil - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%2 / 2
    Lines100%39 / 39
    -

    Methods

    -
    -

    public

    -
      -
    • backup_data() - — Create an SQL backup file for the current database's data
    • -
    • backup_structure() - — Create an SQL backup file for the current database's structure
    • -
    -

    Inherited from Query\AbstractUtil

    -

    public

    -
      -
    • backup_data() - — Return an SQL file with the database data as insert statements
    • -
    • backup_structure() - — Return an SQL file with the database table structure
    • -
    • create_table() - — Convenience public function to generate sql for creating a db table
    • -
    • delete_table() - — Drop the selected table
    • -
    • get_driver() - — Get the driver object for the current connection
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-24T13:42:01-04:00 (commit #ff77cea)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove __call method from util classes
      -
      -
    • -
    • -

      2014-04-08T17:13:41-04:00 (commit #74d4a00)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Test improvements
      -
      -
    • -
    • -

      2014-04-03T16:49:01-04:00 (commit #3eeea75)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Cut down on some duplication, and increase test coverage
      -
      -
    • -
    • -

      2014-04-03T14:44:03-04:00 (commit #a333920)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Rename db_util to abstract_util, mark create_table method as deprecated
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-04-02T10:31:59-04:00 (commit #02d4e0e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      improve query builder and connection manager, skip coverage of some soon-to-be-removed methods
      -
      -
    • -
    • -

      2014-03-20T11:20:30-04:00 (commit #af73f80)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove pointless constructor over-riding
      -
      -
    • -
    • -

      2014-03-17T20:12:58-04:00 (commit #df5b4b9)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix more code quality issues
      -
      -
    • -
    • -

      2014-03-17T19:52:43-04:00 (commit #b6192e6)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      More appeasement of scrutinizer-ci
      -
      -
    • -
    • -

      2014-03-17T19:45:41-04:00 (commit #97730f0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some code quality issues
      -
      -
    • -
    • -

      2014-03-17T19:34:48-04:00 (commit #5e464ef)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some dead code, update docs
      -
      -
    • -
    • -

      2014-02-18T15:18:01-05:00 (commit #1095e85)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some docblocks, and update test files to 2014
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_Util/backup_data.html b/docs/classes/Query_Drivers_Mysql_Util/backup_data.html deleted file mode 100644 index 61d862c..0000000 --- a/docs/classes/Query_Drivers_Mysql_Util/backup_data.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\Util::backup_data

-

Create an SQL backup file for the current database's data

-

-

    -

    Signature

    -
    - public function backup_data([array - $exclude = ] ) - -
    -

    Parameters

    -
    -
    $exclude - — - array
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 26/26 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testBackupData
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Mysql_Util/backup_structure.html b/docs/classes/Query_Drivers_Mysql_Util/backup_structure.html deleted file mode 100644 index a7bdfe1..0000000 --- a/docs/classes/Query_Drivers_Mysql_Util/backup_structure.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Mysql\Util::backup_structure

-

Create an SQL backup file for the current database's structure

-

-

    -

    Signature

    -
    - public function backup_structure() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 13/13 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLTest::testBackup
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_Driver.html b/docs/classes/Query_Drivers_Pgsql_Driver.html deleted file mode 100644 index 6ca9dba..0000000 --- a/docs/classes/Query_Drivers_Pgsql_Driver.html +++ /dev/null @@ -1,505 +0,0 @@ - - - - - phpDox - Query\Drivers\Pgsql\Driver - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\Driver

-

PostgreSQL specifc class

-

-

    -

    Synopsis

    -
    class Driver - extends AbstractDriver - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%3 / 3
    Lines100%13 / 13
    -

    Members

    -
    -

    protected

    -
      -
    • $escape_char - — - string
      Character to escape identifiers
    • -
    • $has_truncate - — - Query\bool
      Whether the driver supports 'TRUNCATE'
    • -
    • $last_query - — - string
      Last query executed
    • -
    • $sql - — - Query\SQL_Interface
      Reference to sql class
    • -
    • $statement - — - \PDOStatement
      Reference to the last executed query
    • -
    • $table_prefix - — - string
      Prefix to apply to table names
    • -
    • $util - — - Query\Abstract_Util
      Reference to util class
    • -
    -
    -

    Methods

    -
    -

    public

    -
      -
    • __construct() - — Connect to a PosgreSQL database
    • -
    • get_fks() - — Retrieve foreign keys for the table
    • -
    • get_schemas() - — Get a list of schemas for the current connection
    • -
    -

    Inherited from Query\AbstractDriver

    -

    protected

    - -

    public

    -
      -
    • __call() - — Allow invoke to work on table object
    • -
    • _quote() - — Helper method for quote_ident
    • -
    • affected_rows() - — Returns number of rows affected by an INSERT, UPDATE, DELETE type query
    • -
    • driver_query() - — Method to simplify retrieving db results for meta-data queries
    • -
    • get_columns() - — Retrieve column information for the current database table
    • -
    • get_dbs() - — Return list of dbs for the current connection, if possible
    • -
    • get_fks() - — Retrieve foreign keys for the table
    • -
    • get_functions() - — Return list of functions for the current database
    • -
    • get_indexes() - — Retrieve indexes for the table
    • -
    • get_last_query() - — Get the last sql query exexcuted
    • -
    • get_procedures() - — Return list of stored procedures for the current database
    • -
    • get_schemas() - — Return schemas for databases that list them
    • -
    • get_sequences() - — Return list of sequences for the current database, if they exist
    • -
    • get_sql() - — Get the SQL class for the current driver
    • -
    • get_system_tables() - — Retrieves an array of non-user-created tables for the connection/database
    • -
    • get_tables() - — Return list of tables for the current database
    • -
    • get_triggers() - — Return list of triggers for the current database
    • -
    • get_types() - — Retrieve list of data types for the database
    • -
    • get_util() - — Get the Util class for the current driver
    • -
    • get_views() - — Return list of views for the current database
    • -
    • insert_batch() - — Create sql for batch insert
    • -
    • num_rows() - — Return the number of rows returned for a SELECT query
    • -
    • prefix_table() - — Prefixes a table if it is not already prefixed
    • -
    • prepare_execute() - — Create and execute a prepared statement with the provided parameters
    • -
    • prepare_query() - — Simplifies prepared statements for database queries
    • -
    • quote_ident() - — Surrounds the string with the databases identifier escape characters
    • -
    • quote_table() - — Quote database table name, and set prefix
    • -
    • set_last_query() - — Set the last query sql
    • -
    • set_table_prefix() - — Set the common table name prefix
    • -
    • truncate() - — Empty the passed table
    • -
    -

    Inherited from PDO

    -

    public

    -
      -
    • beginTransaction() - — - Initiates a transaction -
    • -
    • commit() - — - Commits a transaction -
    • -
    • errorCode() - — - Fetch the SQLSTATE associated with the last operation on the database handle -
    • -
    • errorInfo() - — - Fetch extended error information associated with the last operation on the database handle -
    • -
    • exec() - — - Execute an SQL statement and return the number of affected rows -
    • -
    • getAttribute() - — - Retrieve a database connection attribute -
    • -
    • getAvailableDrivers() - — - Return an array of available PDO drivers -
    • -
    • inTransaction() - — - Checks if inside a transaction -
    • -
    • lastInsertId() - — - Returns the ID of the last inserted row or sequence value -
    • -
    • prepare() - — - Prepares a statement for execution and returns a statement object -
    • -
    • query() - — - Executes an SQL statement, returning a result set as a PDOStatement object -
    • -
    • quote() - — - Quotes a string for use in a query. -
    • -
    • rollBack() - — - Rolls back a transaction -
    • -
    • setAttribute() - — - Set an attribute -
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T16:25:04-04:00 (commit #5b531cf)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      De-duplicate truncate method of drivers
      -
      -
    • -
    • -

      2014-04-17T16:41:12-04:00 (commit #d6c0fd2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add update and delete rules to foreign key methods
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-26T20:49:33-04:00 (commit #846e68a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add interface for pdo drivers to enforce the same interface on the Firebird driver
      -
      -
    • -
    • -

      2014-02-14T10:38:25-05:00 (commit #4cb7c97)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Minor query formatting changes
      -
      -
    • -
    • -

      2014-02-11T14:38:08-05:00 (commit #8e16cc0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix dsn issue in tests
      -
      -
    • -
    • -

      2014-02-11T14:29:41-05:00 (commit #bed0d1b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improve code coverage
      -
      -
    • -
    • -

      2014-01-02T12:36:50-05:00 (commit #6dc9ed0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update copyright for the new year
      -
      -
    • -
    • -

      2013-01-02T14:26:42-05:00 (commit #0e44bba)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Update year
      -
      -
    • -
    • -

      2012-12-18T16:19:52-05:00 (commit #785e5f2)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Add interfaces
      -
      -
    • -
    • -

      2012-07-05T14:19:49-04:00 (commit #1e71b22)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Make mysql/postgres drivers compatible with Quercus
      -
      -
    • -
    • -

      2012-05-07T16:05:51-04:00 (commit #e4acfda)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Add list_types abstract method to db_sql class
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_Driver/__construct.html b/docs/classes/Query_Drivers_Pgsql_Driver/__construct.html deleted file mode 100644 index 15e6a6b..0000000 --- a/docs/classes/Query_Drivers_Pgsql_Driver/__construct.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\Driver::__construct

-

Connect to a PosgreSQL database

-

-

    -

    Signature

    -
    - public function __construct(string - $dsn, - [string - $username = null, - [string - $password = null, - [array - $options = ]]] ) - -
    -

    Parameters

    -
    -
    $dsn - — - string
    -
    -
    $username - — - string
    -
    -
    $password - — - string
    -
    -
    $options - — - array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_Driver/get_fks.html b/docs/classes/Query_Drivers_Pgsql_Driver/get_fks.html deleted file mode 100644 index f7a8672..0000000 --- a/docs/classes/Query_Drivers_Pgsql_Driver/get_fks.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\Driver::get_fks

-

Retrieve foreign keys for the table

-

-

    -

    Signature

    -
    - public function get_fks(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 11/11 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetFKs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_Driver/get_schemas.html b/docs/classes/Query_Drivers_Pgsql_Driver/get_schemas.html deleted file mode 100644 index 695767f..0000000 --- a/docs/classes/Query_Drivers_Pgsql_Driver/get_schemas.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\Driver::get_schemas

-

Get a list of schemas for the current connection

-

-

    -

    Signature

    -
    - public function get_schemas() - -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetSchemas
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL.html b/docs/classes/Query_Drivers_Pgsql_SQL.html deleted file mode 100644 index 1b4bc07..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - phpDox - Query\Drivers\Pgsql\SQL - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL

-

PostgreSQL specifc SQL

-

-

    -

    Synopsis

    -
    class SQL - extends AbstractSQL - {
    • // Inherited methods from AbstractSQL
    • public string limit() -
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%14 / 14
    Lines100%20 / 20
    -

    Methods

    -
    -

    public

    - -

    Inherited from Query\AbstractSQL

    -

    public

    -
      -
    • limit() - — Limit clause
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-30T16:40:30-04:00 (commit #225017a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Lots of refactoring -- accessors/mutators instead of direct access, reduce query builder test database connections, and simplify some logic
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-20T15:24:21-04:00 (commit #cd7f904)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add pdo_firebird driver
      -
      -
    • -
    • -

      2015-07-16T17:02:54-04:00 (commit #6b20982)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix naming error in pg driver
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-17T16:41:12-04:00 (commit #d6c0fd2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add update and delete rules to foreign key methods
      -
      -
    • -
    • -

      2014-04-15T16:15:08-04:00 (commit #80595df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update foreign key driver methods to return the same kind of information
      -
      -
    • -
    • -

      2014-04-08T14:43:07-04:00 (commit #85b804a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update drivers with missing method
      -
      -
    • -
    • -

      2014-04-07T16:49:49-04:00 (commit #2af3b0b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add method to retrieve foreign keys for a table to driver classes
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-26T21:33:58-04:00 (commit #5b908f5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add abstract class for sql classes to have base limit method
      -
      -
    • -
    • -

      2014-02-04T20:59:30-05:00 (commit #8dc2079)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add `explain` method to query builder
      -
      -
    • -
    • -

      2014-01-02T12:36:50-05:00 (commit #6dc9ed0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update copyright for the new year
      -
      -
    • -
    • -

      2013-05-01T15:59:23-04:00 (commit #40c76b2)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Changed invalid methods to return NULL instead of FALSE, added insert_batch
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/column_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/column_list.html deleted file mode 100644 index d618b2c..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/column_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::column_list

-

Return sql to list columns of the specified table

-

-

    -

    Signature

    -
    - public function column_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetColumns
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/db_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/db_list.html deleted file mode 100644 index 870f085..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/db_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::db_list

-

Returns sql to list other databases

-

-

    -

    Signature

    -
    - public function db_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetDBs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/explain.html b/docs/classes/Query_Drivers_Pgsql_SQL/explain.html deleted file mode 100644 index 0e29d9e..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/explain.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::explain

-

Get the query plan for the sql query

-

-

    -

    Signature

    -
    - public function explain(string - $sql ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/fk_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/fk_list.html deleted file mode 100644 index eec09ad..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/fk_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::fk_list

-

Get the list of foreign keys for the current table

-

-

    -

    Signature

    -
    - public function fk_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetFKs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/function_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/function_list.html deleted file mode 100644 index 9747c36..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/function_list.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::function_list

-

Return sql to list functions

-

-

    -

    Signature

    -
    - public function function_list() - -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetFunctions
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/index_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/index_list.html deleted file mode 100644 index 32cb89a..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/index_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::index_list

-

Get the list of indexes for the current table

-

-

    -

    Signature

    -
    - public function index_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetIndexes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/procedure_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/procedure_list.html deleted file mode 100644 index 6186ce9..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/procedure_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::procedure_list

-

Return sql to list stored procedures

-

-

    -

    Signature

    -
    - public function procedure_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetProcedures
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/random.html b/docs/classes/Query_Drivers_Pgsql_SQL/random.html deleted file mode 100644 index b398a83..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/random.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::random

-

Random ordering keyword

-

-

    -

    Signature

    -
    - public function random() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/sequence_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/sequence_list.html deleted file mode 100644 index d6545af..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/sequence_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::sequence_list

-

Return sql to list sequences

-

-

    -

    Signature

    -
    - public function sequence_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetSequences
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/system_table_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/system_table_list.html deleted file mode 100644 index 01bb95b..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/system_table_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::system_table_list

-

Returns sql to list system tables

-

-

    -

    Signature

    -
    - public function system_table_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetSystemTables
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/table_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/table_list.html deleted file mode 100644 index 7c7a217..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/table_list.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::table_list

-

Returns sql to list tables

-

-

    -

    Signature

    -
    - public function table_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testCreateTable
    • -
    • [ PASSED ] — PgTest::testGetTables
    • -
    • [ PASSED ] — PgTest::testBackupData
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/trigger_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/trigger_list.html deleted file mode 100644 index 57f6e2b..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/trigger_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::trigger_list

-

Returns sql to list triggers

-

-

    -

    Signature

    -
    - public function trigger_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetTriggers
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/type_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/type_list.html deleted file mode 100644 index 72f1008..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/type_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::type_list

-

SQL to show list of field types

-

-

    -

    Signature

    -
    - public function type_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetTypes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_SQL/view_list.html b/docs/classes/Query_Drivers_Pgsql_SQL/view_list.html deleted file mode 100644 index b673937..0000000 --- a/docs/classes/Query_Drivers_Pgsql_SQL/view_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\SQL::view_list

-

Returns sql to list views

-

-

    -

    Signature

    -
    - public function view_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testGetViews
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_Util.html b/docs/classes/Query_Drivers_Pgsql_Util.html deleted file mode 100644 index 480ed6c..0000000 --- a/docs/classes/Query_Drivers_Pgsql_Util.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - phpDox - Query\Drivers\Pgsql\Util - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\Util

-

Posgres-specific backup, import and creation methods

-

-

    -

    Synopsis

    -
    class Util - extends AbstractUtil - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%2 / 2
    Lines100%27 / 27
    -

    Tasks

    - - - - - - - - - - - -
    LineTask
    33Implement Backup function
    -

    Methods

    -
    -

    public

    -
      -
    • backup_data() - — Create an SQL backup file for the current database's data
    • -
    • backup_structure() - — Create an SQL backup file for the current database's structure
    • -
    -

    Inherited from Query\AbstractUtil

    -

    public

    -
      -
    • backup_data() - — Return an SQL file with the database data as insert statements
    • -
    • backup_structure() - — Return an SQL file with the database table structure
    • -
    • create_table() - — Convenience public function to generate sql for creating a db table
    • -
    • delete_table() - — Drop the selected table
    • -
    • get_driver() - — Get the driver object for the current connection
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-24T13:42:01-04:00 (commit #ff77cea)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove __call method from util classes
      -
      -
    • -
    • -

      2014-04-03T14:44:03-04:00 (commit #a333920)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Rename db_util to abstract_util, mark create_table method as deprecated
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-31T16:35:02-04:00 (commit #3fd4580)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove redundant method
      -
      -
    • -
    • -

      2014-03-31T12:58:43-04:00 (commit #23c1cf0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improvements for scrutinizer
      -
      -
    • -
    • -

      2014-03-20T11:20:30-04:00 (commit #af73f80)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove pointless constructor over-riding
      -
      -
    • -
    • -

      2014-03-17T20:20:53-04:00 (commit #97275ba)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update some docblocks for __called methods
      -
      -
    • -
    • -

      2014-02-18T15:18:01-05:00 (commit #1095e85)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some docblocks, and update test files to 2014
      -
      -
    • -
    • -

      2014-01-02T12:36:50-05:00 (commit #6dc9ed0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update copyright for the new year
      -
      -
    • -
    • -

      2013-01-02T14:26:42-05:00 (commit #0e44bba)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Update year
      -
      -
    • -
    • -

      2012-05-07T16:05:51-04:00 (commit #e4acfda)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Add list_types abstract method to db_sql class
      -
      -
    • -
    • -

      2012-04-20T13:17:39-04:00 (commit #62a7eaf)

      -
      -

      - Author: Timothy Warren (tim@timshomepage.net) / - Commiter: Timothy Warren (tim@timshomepage.net) -

      -
      Add package docblock options
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_Util/backup_data.html b/docs/classes/Query_Drivers_Pgsql_Util/backup_data.html deleted file mode 100644 index 4d12b17..0000000 --- a/docs/classes/Query_Drivers_Pgsql_Util/backup_data.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\Util::backup_data

-

Create an SQL backup file for the current database's data

-

-

    -

    Signature

    -
    - public function backup_data([array - $exclude = ] ) - -
    -

    Parameters

    -
    -
    $exclude - — - array
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 26/26 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgTest::testBackupData
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Pgsql_Util/backup_structure.html b/docs/classes/Query_Drivers_Pgsql_Util/backup_structure.html deleted file mode 100644 index fef1733..0000000 --- a/docs/classes/Query_Drivers_Pgsql_Util/backup_structure.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Pgsql\Util::backup_structure

-

Create an SQL backup file for the current database's structure

-

-

    -

    Signature

    -
    - public function backup_structure() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — PgSQLQBTest::testBackupStructure
    • -
    -
    - - - - - - - - - - - -
    LineTask
    33Implement Backup function
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_Driver.html b/docs/classes/Query_Drivers_Sqlite_Driver.html deleted file mode 100644 index 95ff77c..0000000 --- a/docs/classes/Query_Drivers_Sqlite_Driver.html +++ /dev/null @@ -1,523 +0,0 @@ - - - - - phpDox - Query\Drivers\Sqlite\Driver - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\Driver

-

SQLite specific class

-

-

    -

    Synopsis

    -
    class Driver - extends AbstractDriver - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%4 / 4
    Lines100%17 / 17
    -

    Members

    -
    -

    protected

    -
      -
    • $escape_char - — - string
      Character to escape identifiers
    • -
    • $has_truncate - — - Query\Drivers\Sqlite\bool
      SQLite has a truncate optimization, but no support for the actual keyword
    • -
    • $has_truncate - — - Query\bool
      Whether the driver supports 'TRUNCATE'
    • -
    • $last_query - — - string
      Last query executed
    • -
    • $sql - — - Query\SQL_Interface
      Reference to sql class
    • -
    • $statement - — - Query\Drivers\Sqlite\PDOStatement
      Reference to the last executed sql query
    • -
    • $statement - — - \PDOStatement
      Reference to the last executed query
    • -
    • $table_prefix - — - string
      Prefix to apply to table names
    • -
    • $util - — - Query\Abstract_Util
      Reference to util class
    • -
    -
    -

    Methods

    -
    -

    public

    - -

    Inherited from Query\AbstractDriver

    -

    protected

    - -

    public

    -
      -
    • __call() - — Allow invoke to work on table object
    • -
    • _quote() - — Helper method for quote_ident
    • -
    • affected_rows() - — Returns number of rows affected by an INSERT, UPDATE, DELETE type query
    • -
    • driver_query() - — Method to simplify retrieving db results for meta-data queries
    • -
    • get_columns() - — Retrieve column information for the current database table
    • -
    • get_dbs() - — Return list of dbs for the current connection, if possible
    • -
    • get_fks() - — Retrieve foreign keys for the table
    • -
    • get_functions() - — Return list of functions for the current database
    • -
    • get_indexes() - — Retrieve indexes for the table
    • -
    • get_last_query() - — Get the last sql query exexcuted
    • -
    • get_procedures() - — Return list of stored procedures for the current database
    • -
    • get_schemas() - — Return schemas for databases that list them
    • -
    • get_sequences() - — Return list of sequences for the current database, if they exist
    • -
    • get_sql() - — Get the SQL class for the current driver
    • -
    • get_system_tables() - — Retrieves an array of non-user-created tables for the connection/database
    • -
    • get_tables() - — Return list of tables for the current database
    • -
    • get_triggers() - — Return list of triggers for the current database
    • -
    • get_types() - — Retrieve list of data types for the database
    • -
    • get_util() - — Get the Util class for the current driver
    • -
    • get_views() - — Return list of views for the current database
    • -
    • insert_batch() - — Create sql for batch insert
    • -
    • num_rows() - — Return the number of rows returned for a SELECT query
    • -
    • prefix_table() - — Prefixes a table if it is not already prefixed
    • -
    • prepare_execute() - — Create and execute a prepared statement with the provided parameters
    • -
    • prepare_query() - — Simplifies prepared statements for database queries
    • -
    • quote_ident() - — Surrounds the string with the databases identifier escape characters
    • -
    • quote_table() - — Quote database table name, and set prefix
    • -
    • set_last_query() - — Set the last query sql
    • -
    • set_table_prefix() - — Set the common table name prefix
    • -
    • truncate() - — Empty the passed table
    • -
    -

    Inherited from PDO

    -

    public

    -
      -
    • beginTransaction() - — - Initiates a transaction -
    • -
    • commit() - — - Commits a transaction -
    • -
    • errorCode() - — - Fetch the SQLSTATE associated with the last operation on the database handle -
    • -
    • errorInfo() - — - Fetch extended error information associated with the last operation on the database handle -
    • -
    • exec() - — - Execute an SQL statement and return the number of affected rows -
    • -
    • getAttribute() - — - Retrieve a database connection attribute -
    • -
    • getAvailableDrivers() - — - Return an array of available PDO drivers -
    • -
    • inTransaction() - — - Checks if inside a transaction -
    • -
    • lastInsertId() - — - Returns the ID of the last inserted row or sequence value -
    • -
    • prepare() - — - Prepares a statement for execution and returns a statement object -
    • -
    • query() - — - Executes an SQL statement, returning a result set as a PDOStatement object -
    • -
    • quote() - — - Quotes a string for use in a query. -
    • -
    • rollBack() - — - Rolls back a transaction -
    • -
    • setAttribute() - — - Set an attribute -
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-20T15:24:21-04:00 (commit #cd7f904)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add pdo_firebird driver
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-28T16:41:46-04:00 (commit #6a38213)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improve some tests and docblocks
      -
      -
    • -
    • -

      2014-04-24T16:25:04-04:00 (commit #5b531cf)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      De-duplicate truncate method of drivers
      -
      -
    • -
    • -

      2014-04-17T16:41:12-04:00 (commit #d6c0fd2)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add update and delete rules to foreign key methods
      -
      -
    • -
    • -

      2014-04-15T16:15:08-04:00 (commit #80595df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update foreign key driver methods to return the same kind of information
      -
      -
    • -
    • -

      2014-04-10T15:54:43-04:00 (commit #32696a5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Flesh out the table builder a bit, and add some missing driver methods to SQLite
      -
      -
    • -
    • -

      2014-04-03T16:49:01-04:00 (commit #3eeea75)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Cut down on some duplication, and increase test coverage
      -
      -
    • -
    • -

      2014-04-03T14:44:03-04:00 (commit #a333920)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Rename db_util to abstract_util, mark create_table method as deprecated
      -
      -
    • -
    • -

      2014-04-03T13:28:30-04:00 (commit #4809016)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add insert_batch methods to Firebird and SQLite
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-26T20:49:33-04:00 (commit #846e68a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add interface for pdo drivers to enforce the same interface on the Firebird driver
      -
      -
    • -
    • -

      2014-03-17T19:45:41-04:00 (commit #97730f0)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some code quality issues
      -
      -
    • -
    • -

      2014-03-17T19:35:25-04:00 (commit #2b4154a)

      -
      -

      - Author: Scrutinizer Auto-Fixer (auto-fixer@scrutinizer-ci.com) / - Commiter: Scrutinizer (auto-fixer@scrutinizer-ci.com) -

      -
      Scrutinizer Auto-Fixes
      -
      -This patch was automatically generated as part of the following inspection:
      -https://scrutinizer-ci.com/g/timw4mail/Query/inspections/89ed2aa4-7aae-45bb-9289-ebb27a60ef13
      -
      -Enabled analysis tools:
      - - PHP Analyzer
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_Driver/__construct.html b/docs/classes/Query_Drivers_Sqlite_Driver/__construct.html deleted file mode 100644 index 43362cf..0000000 --- a/docs/classes/Query_Drivers_Sqlite_Driver/__construct.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\Driver::__construct

-

Open SQLite Database

-

-

    -

    Signature

    -
    - public function __construct(string - $dsn, - [string - $user = NULL, - [string - $pass = NULL, - [array - $driver_options = ]]] ) - -
    -

    Parameters

    -
    -
    $dsn - — - string
    -
    -
    $user - — - string
    -
    -
    $pass - — - string
    -
    -
    $driver_options - — - array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 6
    • -
    • Passed: 6 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Query_Parser_Test::testGeneric2
    • -
    • [ PASSED ] — Query_Parser_Test::testWUnderscore
    • -
    • [ PASSED ] — Query_Parser_Test::testFunction
    • -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — SQLiteTest::testConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_Driver/get_fks.html b/docs/classes/Query_Drivers_Sqlite_Driver/get_fks.html deleted file mode 100644 index 62d48f2..0000000 --- a/docs/classes/Query_Drivers_Sqlite_Driver/get_fks.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\Driver::get_fks

-

Retrieve foreign keys for the table

-

-

    -

    Signature

    -
    - public function get_fks(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 11/11 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetFKs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_Driver/get_tables.html b/docs/classes/Query_Drivers_Sqlite_Driver/get_tables.html deleted file mode 100644 index 4ca3c59..0000000 --- a/docs/classes/Query_Drivers_Sqlite_Driver/get_tables.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\Driver::get_tables

-

List tables for the current database

-

-

    -

    Signature

    -
    - public function get_tables() - -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testCreateTable
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testGetTables
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_Driver/insert_batch.html b/docs/classes/Query_Drivers_Sqlite_Driver/insert_batch.html deleted file mode 100644 index 7db230a..0000000 --- a/docs/classes/Query_Drivers_Sqlite_Driver/insert_batch.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\Driver::insert_batch

-

Create sql for batch insert

-

-

    -

    Signature

    -
    - public function insert_batch(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - DriverInterface - -

    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL.html b/docs/classes/Query_Drivers_Sqlite_SQL.html deleted file mode 100644 index 3a124a9..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - phpDox - Query\Drivers\Sqlite\SQL - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL

-

SQLite Specific SQL

-

-

    -

    Synopsis

    -
    class SQL - extends AbstractSQL - {
    • // Inherited methods from AbstractSQL
    • public string limit() -
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%14 / 14
    Lines100%14 / 14
    -

    Methods

    -
    -

    public

    - -

    Inherited from Query\AbstractSQL

    -

    public

    -
      -
    • limit() - — Limit clause
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-08-08T14:02:14-04:00 (commit #e51fe2b)

      -
      -

      - Author: Scrutinizer Auto-Fixer (auto-fixer@scrutinizer-ci.com) / - Commiter: Scrutinizer (auto-fixer@scrutinizer-ci.com) -

      -
      Scrutinizer Auto-Fixes
      -
      -This patch was automatically generated as part of the following inspection:
      -https://scrutinizer-ci.com/g/timw4mail/Query/inspections/d131279f-a838-49e5-bbfb-20c256a06153
      -
      -Enabled analysis tools:
      - - PHP Analyzer
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-23T16:27:43-04:00 (commit #fddd92a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some more docblocks
      -
      -
    • -
    • -

      2014-04-10T15:54:43-04:00 (commit #32696a5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Flesh out the table builder a bit, and add some missing driver methods to SQLite
      -
      -
    • -
    • -

      2014-04-08T15:38:18-04:00 (commit #303eda1)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix sql test errors
      -
      -
    • -
    • -

      2014-04-08T14:43:07-04:00 (commit #85b804a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update drivers with missing method
      -
      -
    • -
    • -

      2014-04-07T16:49:49-04:00 (commit #2af3b0b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add method to retrieve foreign keys for a table to driver classes
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-26T21:33:58-04:00 (commit #5b908f5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add abstract class for sql classes to have base limit method
      -
      -
    • -
    • -

      2014-03-26T21:19:24-04:00 (commit #3a16f3c)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Make sqlite limit statement more different than mysql limit statement
      -
      -
    • -
    • -

      2014-03-26T20:49:33-04:00 (commit #846e68a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add interface for pdo drivers to enforce the same interface on the Firebird driver
      -
      -
    • -
    • -

      2014-03-17T19:35:25-04:00 (commit #2b4154a)

      -
      -

      - Author: Scrutinizer Auto-Fixer (auto-fixer@scrutinizer-ci.com) / - Commiter: Scrutinizer (auto-fixer@scrutinizer-ci.com) -

      -
      Scrutinizer Auto-Fixes
      -
      -This patch was automatically generated as part of the following inspection:
      -https://scrutinizer-ci.com/g/timw4mail/Query/inspections/89ed2aa4-7aae-45bb-9289-ebb27a60ef13
      -
      -Enabled analysis tools:
      - - PHP Analyzer
      -
      -
    • -
    • -

      2014-02-04T20:59:30-05:00 (commit #8dc2079)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add `explain` method to query builder
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/column_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/column_list.html deleted file mode 100644 index 4ba41d0..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/column_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::column_list

-

SQL to show infromation about columns in a table

-

-

    -

    Signature

    -
    - public function column_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetColumns
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/db_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/db_list.html deleted file mode 100644 index 947f9f9..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/db_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::db_list

-

Returns sql to list other databases

-

-

    -

    Signature

    -
    - public function db_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetDBs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/explain.html b/docs/classes/Query_Drivers_Sqlite_SQL/explain.html deleted file mode 100644 index 879e9ca..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/explain.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::explain

-

Get the query plan for the sql query

-

-

    -

    Signature

    -
    - public function explain(string - $sql ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/fk_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/fk_list.html deleted file mode 100644 index dea9633..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/fk_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::fk_list

-

Get the list of foreign keys for the current table

-

-

    -

    Signature

    -
    - public function fk_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetFKs
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/function_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/function_list.html deleted file mode 100644 index 444b5ab..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/function_list.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::function_list

-

Return sql to list functions

-

-

    -

    Signature

    -
    - public function function_list() - -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testNullMethods
    • -
    • [ PASSED ] — SQLiteTest::testGetFunctions
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/index_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/index_list.html deleted file mode 100644 index af98b4d..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/index_list.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::index_list

-

Get the list of indexes for the current table

-

-

    -

    Signature

    -
    - public function index_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetIndexes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/procedure_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/procedure_list.html deleted file mode 100644 index 45ed41e..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/procedure_list.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::procedure_list

-

Return sql to list stored procedures

-

-

    -

    Signature

    -
    - public function procedure_list() - -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testNullMethods
    • -
    • [ PASSED ] — SQLiteTest::testGetProcedures
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/random.html b/docs/classes/Query_Drivers_Sqlite_SQL/random.html deleted file mode 100644 index 317078f..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/random.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::random

-

Random ordering keyword

-

-

    -

    Signature

    -
    - public function random() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/sequence_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/sequence_list.html deleted file mode 100644 index c88b4d2..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/sequence_list.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::sequence_list

-

Return sql to list sequences

-

-

    -

    Signature

    -
    - public function sequence_list() - -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 2
    • -
    • Passed: 2 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testNullMethods
    • -
    • [ PASSED ] — SQLiteTest::testGetSequences
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/system_table_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/system_table_list.html deleted file mode 100644 index 2fb393e..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/system_table_list.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::system_table_list

-

List the system tables

-

-

    -

    Signature

    -
    - public function system_table_list() - -
    -

    Returns

    -
    -
    array
    -

    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetSystemTables
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/table_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/table_list.html deleted file mode 100644 index 03106d4..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/table_list.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::table_list

-

Returns sql to list tables

-

-

    -

    Signature

    -
    - public function table_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testCreateTable
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testGetTables
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/trigger_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/trigger_list.html deleted file mode 100644 index bbb627b..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/trigger_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::trigger_list

-

Returns sql to list triggers

-

-

    -

    Signature

    -
    - public function trigger_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetTriggers
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/type_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/type_list.html deleted file mode 100644 index b80aab0..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/type_list.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::type_list

-

SQL to show list of field types

-

-

    -

    Signature

    -
    - public function type_list() - -
    -

    Returns

    -
    -
    array
    -

    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetTypes
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_SQL/view_list.html b/docs/classes/Query_Drivers_Sqlite_SQL/view_list.html deleted file mode 100644 index 1378cb6..0000000 --- a/docs/classes/Query_Drivers_Sqlite_SQL/view_list.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\SQL::view_list

-

Returns sql to list views

-

-

    -

    Signature

    -
    - public function view_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - SQLInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testGetViews
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_Util.html b/docs/classes/Query_Drivers_Sqlite_Util.html deleted file mode 100644 index 9d0f1ab..0000000 --- a/docs/classes/Query_Drivers_Sqlite_Util.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - phpDox - Query\Drivers\Sqlite\Util - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\Util

-

SQLite-specific backup, import and creation methods

-

-

    -

    Synopsis

    -
    class Util - extends AbstractUtil - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%2 / 2
    Lines100%38 / 38
    -

    Methods

    -
    -

    public

    -
      -
    • backup_data() - — Create an SQL backup file for the current database's data
    • -
    • backup_structure() - — Create an SQL backup file for the current database's structure
    • -
    -

    Inherited from Query\AbstractUtil

    -

    public

    -
      -
    • backup_data() - — Return an SQL file with the database data as insert statements
    • -
    • backup_structure() - — Return an SQL file with the database table structure
    • -
    • create_table() - — Convenience public function to generate sql for creating a db table
    • -
    • delete_table() - — Drop the selected table
    • -
    • get_driver() - — Get the driver object for the current connection
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T16:29:17-05:00 (commit #a1c3b9e)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Change test setup to be more extensible
      -
      -
    • -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-04-24T15:32:09-04:00 (commit #17354ee)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move SQL and Util classes to their own namespaces
      -
      -
    • -
    • -

      2014-04-24T13:42:01-04:00 (commit #ff77cea)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove __call method from util classes
      -
      -
    • -
    • -

      2014-04-08T15:19:47-04:00 (commit #d87de2b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix sqlite tests
      -
      -
    • -
    • -

      2014-04-03T16:49:01-04:00 (commit #3eeea75)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Cut down on some duplication, and increase test coverage
      -
      -
    • -
    • -

      2014-04-03T14:44:03-04:00 (commit #a333920)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Rename db_util to abstract_util, mark create_table method as deprecated
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-04-02T10:31:59-04:00 (commit #02d4e0e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      improve query builder and connection manager, skip coverage of some soon-to-be-removed methods
      -
      -
    • -
    • -

      2014-03-20T11:20:30-04:00 (commit #af73f80)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove pointless constructor over-riding
      -
      -
    • -
    • -

      2014-03-17T20:20:53-04:00 (commit #97275ba)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update some docblocks for __called methods
      -
      -
    • -
    • -

      2014-02-21T15:02:41-05:00 (commit #4702ccb)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      No more skipped tests, and minor update to query formatting
      -
      -
    • -
    • -

      2014-02-18T15:18:01-05:00 (commit #1095e85)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some docblocks, and update test files to 2014
      -
      -
    • -
    • -

      2014-02-07T14:18:08-05:00 (commit #29f824b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize sqlite tests and improve coverage
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_Util/backup_data.html b/docs/classes/Query_Drivers_Sqlite_Util/backup_data.html deleted file mode 100644 index d97ad76..0000000 --- a/docs/classes/Query_Drivers_Sqlite_Util/backup_data.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\Util::backup_data

-

Create an SQL backup file for the current database's data

-

-

    -

    Signature

    -
    - public function backup_data([array - $excluded = ] ) - -
    -

    Parameters

    -
    -
    $excluded - — - array
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 30/30 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testBackupData
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_Drivers_Sqlite_Util/backup_structure.html b/docs/classes/Query_Drivers_Sqlite_Util/backup_structure.html deleted file mode 100644 index 18813d6..0000000 --- a/docs/classes/Query_Drivers_Sqlite_Util/backup_structure.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\Drivers\Sqlite\Util::backup_structure

-

Create an SQL backup file for the current database's structure

-

-

    -

    Signature

    -
    - public function backup_structure() - -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Parent Implementation

    - -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 8/8 Lines (100%)
    • -
    • Tests: 1
    • -
    • Passed: 1 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — SQLiteTest::testBackupStructure
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder.html b/docs/classes/Query_QueryBuilder.html deleted file mode 100644 index e9782ea..0000000 --- a/docs/classes/Query_QueryBuilder.html +++ /dev/null @@ -1,601 +0,0 @@ - - - - - phpDox - Query\QueryBuilder - - - - - -
-
- -
- -
-

Query\QueryBuilder

-

Convenience class for creating sql queries - also the class that instantiates the specific db driver

-

-

    -

    Synopsis

    -
    class QueryBuilder - extends AbstractQueryBuilder - implements - QueryBuilderInterface - {
    - - }
    -

    Hierarchy

    -
    -

    Extends

    - -

    Implements

    - -
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%45 / 45
    Lines100%148 / 148
    -

    Constants

    - - - - - - - - - - - - - - - - - - - - - -
    NameValue
    KEY0
    VALUE1
    BOTH2
    -

    Members

    -
    -

    private

    -
      -
    • $array_vars - — - array
      Array class variables to be reset
    • -
    • $string_vars - — - array
      String class values to be reset
    • -
    -

    protected

    -
      -
    • $explain - — - Query\bool
      Whether to do only an explain on the query
    • -
    • $from_string - — - string
      Compiled 'from' clause
    • -
    • $group_array - — - array
      Key/val pairs for group by clause
    • -
    • $group_string - — - string
      Group by clause
    • -
    • $having_map - — - array
      Map for having clause
    • -
    • $limit - — - string
      Value for limit string
    • -
    • $offset - — - int
      Value for offset in limit string
    • -
    • $order_array - — - array
      Key/val pairs for order by clause
    • -
    • $order_string - — - string
      Order by clause
    • -
    • $query_map - — - array
      Query component order mapping for complex select queries
    • -
    • $select_string - — - string
      Compiled 'select' clause
    • -
    • $set_array_keys - — - array
      Keys for insert/update statement
    • -
    • $set_string - — - string
      Compiled arguments for insert / update
    • -
    • $values - — - array
      Values to apply to prepared statements
    • -
    • $where_values - — - array
      Values to apply to where clauses in prepared statements
    • -
    -

    public

    - -
    -

    Methods

    -
    -

    public

    -
      -
    • __construct() - — Constructor
    • -
    • __destruct() - — Destructor
    • -
    • __call() - — Calls a function further down the inheritence chain
    • -
    • count_all() - — Retreive the number of rows in the selected table
    • -
    • count_all_results() - — Retrieve the number of results for the generated query - used in place of the get() method
    • -
    • delete() - — Deletes data from a table
    • -
    • distinct() - — Adds the 'distinct' keyword to a query
    • -
    • explain() - — Tell the database to give you the query plan instead of result set
    • -
    • from() - — Specify the database table to select from
    • -
    • get() - — Select and retrieve all records from the current table, and/or execute current compiled query
    • -
    • get_compiled_delete() - — Returns the generated 'delete' sql query
    • -
    • get_compiled_insert() - — Returns the generated 'insert' sql query
    • -
    • get_compiled_select() - — Returns the generated 'select' sql query
    • -
    • get_compiled_update() - — Returns the generated 'update' sql query
    • -
    • get_where() - — Convenience method for get() with a where clause
    • -
    • group_by() - — Group the results by the selected field(s)
    • -
    • group_end() - — Ends a query group
    • -
    • group_start() - — Adds a paren to the current query for query grouping
    • -
    • having() - — Generates a 'Having' clause
    • -
    • insert() - — Creates an insert clause, and executes it
    • -
    • insert_batch() - — Creates and executes a batch insertion query
    • -
    • join() - — Creates a join phrase in a compiled query
    • -
    • like() - — Creates a Like clause in the sql statement
    • -
    • limit() - — Set a limit on the current sql statement
    • -
    • not_like() - — Generates a NOT LIKE clause
    • -
    • or_group_start() - — Adds a paren to the current query for query grouping, prefixed with 'OR'
    • -
    • or_having() - — Generates a 'Having' clause prefixed with 'OR'
    • -
    • or_like() - — Generates an OR Like clause
    • -
    • or_not_group_start() - — Adds a paren to the current query for query grouping, prefixed with 'OR NOT'
    • -
    • or_not_like() - — Generates a OR NOT LIKE clause
    • -
    • or_where() - — Where clause prefixed with "OR"
    • -
    • or_where_in() - — Where in statement prefixed with "or"
    • -
    • or_where_not_in() - — OR WHERE NOT IN (FOO) clause
    • -
    • order_by() - — Order the results by the selected field(s)
    • -
    • reset_query() - — Clear out the class variables, so the next query can be run
    • -
    • select() - — Specifies rows to select in a query
    • -
    • select_avg() - — Selects the average value of a field from a query
    • -
    • select_max() - — Selects the maximum value of a field from a query
    • -
    • select_min() - — Selects the minimum value of a field from a query
    • -
    • select_sum() - — Selects the sum of a field from a query
    • -
    • set() - — Sets values for inserts / updates / deletes
    • -
    • update() - — Creates an update clause, and executes it
    • -
    • where() - — Specify condition(s) in the where clause of a query Note: this function works with key / value, or a passed array with key / value pairs
    • -
    • where_in() - — Where clause with 'IN' statement
    • -
    • where_not_in() - — WHERE NOT IN (FOO) clause
    • -
    -

    Inherited from Query\AbstractQueryBuilder

    -

    protected

    -
      -
    • _append_map() - — Add an additional set of mapping pairs to a internal map
    • -
    • _append_query() - — Convert the prepared statement into readable sql
    • -
    • _compile() - — String together the sql statements for sending to the db
    • -
    • _compile_type() - — Sub-method for generating sql strings
    • -
    • _get_compile() - — Helper function for returning sql strings
    • -
    • _having() - — Simplify building having clauses
    • -
    • _like() - — Simplify 'like' methods
    • -
    • _mixed_set() - — Set values in the class, with either an array or key value pair
    • -
    • _run() - — Executes the compiled query
    • -
    • _select() - — Method to simplify select_ methods
    • -
    • _where() - — Do all the repeditive stuff for where/having type methods
    • -
    • _where_in() - — Simplify where_in methods
    • -
    • _where_string() - — Simplify generating where string
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T11:18:11-05:00 (commit #1e2a7ee)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Actually fix tests
      -
      -
    • -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-11-10T06:45:55-05:00 (commit #e6ac4a7)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Set up jenkins build
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-17T16:01:41-04:00 (commit #b4118ce)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-11-07T12:14:46-05:00 (commit #6755818)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some issues with multiple array items in where statements
      -
      -
    • -
    • -

      2014-08-08T13:48:20-04:00 (commit #dd672df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize classes to autoload by namespace
      -
      -
    • -
    • -

      2014-06-30T11:21:40-04:00 (commit #2ccac50)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix small docblock discrepency
      -
      -
    • -
    • -

      2014-06-30T11:16:50-04:00 (commit #d4838ba)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add an additional type check to limit
      -
      -
    • -
    • -

      2014-06-09T17:02:14-04:00 (commit #1abd835)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Attempting some Quercus compatibility, test-suite runs with simpletest as well as PHPUnit
      -
      -
    • -
    • -

      2014-04-28T16:41:46-04:00 (commit #6a38213)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improve some tests and docblocks
      -
      -
    • -
    • -

      2014-04-24T21:29:40-04:00 (commit #315dc5e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      method shortening
      -
      -
    • -
    • -

      2014-04-24T20:14:19-04:00 (commit #2ae38be)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Remove some variable setting logic duplication
      -
      -
    • -
    • -

      2014-04-24T17:07:50-04:00 (commit #81be910)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Split Query Builder class
      -
      -
    • -
    • -

      2014-04-24T14:50:53-04:00 (commit #993a2ab)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Allow camelCase method calls, update interfaces with missing methods
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/__call.html b/docs/classes/Query_QueryBuilder/__call.html deleted file mode 100644 index 0ff1c02..0000000 --- a/docs/classes/Query_QueryBuilder/__call.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::__call

-

Calls a function further down the inheritence chain

-

-

    -

    Signature

    -
    - public function __call(string - $name, - array - $params ) - -
    -

    Parameters

    -
    -
    $name - — - string
    -
    -
    $params - — - array
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -

    Errors/Exceptions

    -
    -
    - - BadMethodCallException - -
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 9/9 Lines (100%)
    • -
    • Tests: 49
    • -
    • Passed: 49 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testBadMethod
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testBadMethod
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteTest::testCreateTable
    • -
    • [ PASSED ] — SQLiteTest::testBackupStructure
    • -
    • [ PASSED ] — SQLiteTest::testDeleteTable
    • -
    • [ PASSED ] — SQLiteTest::testTruncate
    • -
    • [ PASSED ] — SQLiteTest::testPreparedStatements
    • -
    • [ PASSED ] — SQLiteTest::testPrepareExecute
    • -
    • [ PASSED ] — SQLiteTest::testCommitTransaction
    • -
    • [ PASSED ] — SQLiteTest::testRollbackTransaction
    • -
    • [ PASSED ] — SQLiteTest::testGetDBs
    • -
    • [ PASSED ] — SQLiteTest::testGetSchemas
    • -
    • [ PASSED ] — SQLiteTest::testGetSystemTables
    • -
    • [ PASSED ] — SQLiteTest::testGetSequences
    • -
    • [ PASSED ] — SQLiteTest::testGetFunctions
    • -
    • [ PASSED ] — SQLiteTest::testGetProcedures
    • -
    • [ PASSED ] — SQLiteTest::testGetTables
    • -
    • [ PASSED ] — SQLiteTest::testBackupData
    • -
    • [ PASSED ] — SQLiteTest::testGetColumns
    • -
    • [ PASSED ] — SQLiteTest::testGetTypes
    • -
    • [ PASSED ] — SQLiteTest::testGetFKs
    • -
    • [ PASSED ] — SQLiteTest::testGetIndexes
    • -
    • [ PASSED ] — SQLiteTest::testGetViews
    • -
    • [ PASSED ] — SQLiteTest::testGetTriggers
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testBadMethod
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testTypeList
    • -
    • [ PASSED ] — FirebirdQBTest::testResultErrors
    • -
    • [ PASSED ] — FirebirdQBTest::testBackupStructure
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testBadMethod
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/__construct.html b/docs/classes/Query_QueryBuilder/__construct.html deleted file mode 100644 index 6c825fa..0000000 --- a/docs/classes/Query_QueryBuilder/__construct.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::__construct

-

Constructor

-

-

    -

    Signature

    -
    - public function __construct(DriverInterface - $db, - QueryParser - $parser ) - -
    -

    Parameters

    -
    -
    $db - — - Query\DriverInterface
    -



    -
    $parser - — - Query\QueryParser
    -



    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 6/6 Lines (100%)
    • -
    • Tests: 3
    • -
    • Passed: 3 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/__destruct.html b/docs/classes/Query_QueryBuilder/__destruct.html deleted file mode 100644 index 8742438..0000000 --- a/docs/classes/Query_QueryBuilder/__destruct.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::__destruct

-

Destructor

-

-

    -

    Signature

    -
    - public function __destruct() - -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 0/0 Lines (100%)
    • -
    • Tests: 0
    • -
    • Passed: 0 (0%)
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/count_all.html b/docs/classes/Query_QueryBuilder/count_all.html deleted file mode 100644 index 541e5c1..0000000 --- a/docs/classes/Query_QueryBuilder/count_all.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::count_all

-

Retreive the number of rows in the selected table

-

-

    -

    Signature

    -
    - public function count_all(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    int
    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testCountAll
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAll
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAll
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAll
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/count_all_results.html b/docs/classes/Query_QueryBuilder/count_all_results.html deleted file mode 100644 index 6faff5b..0000000 --- a/docs/classes/Query_QueryBuilder/count_all_results.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::count_all_results

-

Retrieve the number of results for the generated query - used in place of the get() method

-

-

    -

    Signature

    -
    - public function count_all_results([string - $table = ''] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    int
    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 8
    • -
    • Passed: 8 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/delete.html b/docs/classes/Query_QueryBuilder/delete.html deleted file mode 100644 index 78960e0..0000000 --- a/docs/classes/Query_QueryBuilder/delete.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::delete

-

Deletes data from a table

-

-

    -

    Signature

    -
    - public function delete(string - $table, - [string - $where = ''] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $where - — - string
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 8
    • -
    • Passed: 8 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/distinct.html b/docs/classes/Query_QueryBuilder/distinct.html deleted file mode 100644 index a34c510..0000000 --- a/docs/classes/Query_QueryBuilder/distinct.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::distinct

-

Adds the 'distinct' keyword to a query

-

-

    -

    Signature

    -
    - public function distinct() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/explain.html b/docs/classes/Query_QueryBuilder/explain.html deleted file mode 100644 index 805db86..0000000 --- a/docs/classes/Query_QueryBuilder/explain.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::explain

-

Tell the database to give you the query plan instead of result set

-

-

    -

    Signature

    -
    - public function explain() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/from.html b/docs/classes/Query_QueryBuilder/from.html deleted file mode 100644 index 7a9630e..0000000 --- a/docs/classes/Query_QueryBuilder/from.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::from

-

Specify the database table to select from

-

-

    -

    Signature

    -
    - public function from(string - $tblname ) - -
    -

    Parameters

    -
    -
    $tblname - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 6/6 Lines (100%)
    • -
    • Tests: 187
    • -
    • Passed: 187 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/get.html b/docs/classes/Query_QueryBuilder/get.html deleted file mode 100644 index 091d119..0000000 --- a/docs/classes/Query_QueryBuilder/get.html +++ /dev/null @@ -1,314 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::get

-

Select and retrieve all records from the current table, and/or execute current compiled query

-

-

    -

    Signature

    -
    - public function get([string - $table = '', - [boolean - $limit = FALSE, - [boolean - $offset = FALSE]]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $limit - — - boolean
    -



    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 179
    • -
    • Passed: 179 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/get_compiled_delete.html b/docs/classes/Query_QueryBuilder/get_compiled_delete.html deleted file mode 100644 index 549839a..0000000 --- a/docs/classes/Query_QueryBuilder/get_compiled_delete.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::get_compiled_delete

-

Returns the generated 'delete' sql query

-

-

    -

    Signature

    -
    - public function get_compiled_delete([string - $table = "", - [boolean - $reset = TRUE]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $reset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/get_compiled_insert.html b/docs/classes/Query_QueryBuilder/get_compiled_insert.html deleted file mode 100644 index a947fbd..0000000 --- a/docs/classes/Query_QueryBuilder/get_compiled_insert.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::get_compiled_insert

-

Returns the generated 'insert' sql query

-

-

    -

    Signature

    -
    - public function get_compiled_insert(string - $table, - [boolean - $reset = TRUE] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $reset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/get_compiled_select.html b/docs/classes/Query_QueryBuilder/get_compiled_select.html deleted file mode 100644 index a8262fe..0000000 --- a/docs/classes/Query_QueryBuilder/get_compiled_select.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::get_compiled_select

-

Returns the generated 'select' sql query

-

-

    -

    Signature

    -
    - public function get_compiled_select([string - $table = '', - [boolean - $reset = TRUE]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $reset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 5
    • -
    • Passed: 5 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/get_compiled_update.html b/docs/classes/Query_QueryBuilder/get_compiled_update.html deleted file mode 100644 index 293a2c9..0000000 --- a/docs/classes/Query_QueryBuilder/get_compiled_update.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::get_compiled_update

-

Returns the generated 'update' sql query

-

-

    -

    Signature

    -
    - public function get_compiled_update([string - $table = '', - [boolean - $reset = TRUE]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $reset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/get_where.html b/docs/classes/Query_QueryBuilder/get_where.html deleted file mode 100644 index 484658f..0000000 --- a/docs/classes/Query_QueryBuilder/get_where.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::get_where

-

Convenience method for get() with a where clause

-

-

    -

    Signature

    -
    - public function get_where(string - $table, - [array - $where = , - [boolean - $limit = FALSE, - [boolean - $offset = FALSE]]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $where - — - array
    -
    -
    $limit - — - boolean
    -



    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/group_by.html b/docs/classes/Query_QueryBuilder/group_by.html deleted file mode 100644 index bff95ad..0000000 --- a/docs/classes/Query_QueryBuilder/group_by.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::group_by

-

Group the results by the selected field(s)

-

-

    -

    Signature

    -
    - public function group_by(mixed - $field ) - -
    -

    Parameters

    -
    -
    $field - — - mixed
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 8/8 Lines (100%)
    • -
    • Tests: 16
    • -
    • Passed: 16 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/group_end.html b/docs/classes/Query_QueryBuilder/group_end.html deleted file mode 100644 index 3d54da3..0000000 --- a/docs/classes/Query_QueryBuilder/group_end.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::group_end

-

Ends a query group

-

-

    -

    Signature

    -
    - public function group_end() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 16
    • -
    • Passed: 16 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/group_start.html b/docs/classes/Query_QueryBuilder/group_start.html deleted file mode 100644 index d42acda..0000000 --- a/docs/classes/Query_QueryBuilder/group_start.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::group_start

-

Adds a paren to the current query for query grouping

-

-

    -

    Signature

    -
    - public function group_start() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 16
    • -
    • Passed: 16 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/having.html b/docs/classes/Query_QueryBuilder/having.html deleted file mode 100644 index 7b02d04..0000000 --- a/docs/classes/Query_QueryBuilder/having.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::having

-

Generates a 'Having' clause

-

-

    -

    Signature

    -
    - public function having(mixed - $key, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 8
    • -
    • Passed: 8 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/insert.html b/docs/classes/Query_QueryBuilder/insert.html deleted file mode 100644 index b10dc7d..0000000 --- a/docs/classes/Query_QueryBuilder/insert.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::insert

-

Creates an insert clause, and executes it

-

-

    -

    Signature

    -
    - public function insert(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 12
    • -
    • Passed: 12 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/insert_batch.html b/docs/classes/Query_QueryBuilder/insert_batch.html deleted file mode 100644 index 518bfd4..0000000 --- a/docs/classes/Query_QueryBuilder/insert_batch.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::insert_batch

-

Creates and executes a batch insertion query

-

-

    -

    Signature

    -
    - public function insert_batch(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 4/4 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/join.html b/docs/classes/Query_QueryBuilder/join.html deleted file mode 100644 index 46b008e..0000000 --- a/docs/classes/Query_QueryBuilder/join.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::join

-

Creates a join phrase in a compiled query

-

-

    -

    Signature

    -
    - public function join(string - $table, - string - $condition, - [string - $type = ''] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $condition - — - string
    -
    -
    $type - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 8/8 Lines (100%)
    • -
    • Tests: 16
    • -
    • Passed: 16 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/like.html b/docs/classes/Query_QueryBuilder/like.html deleted file mode 100644 index f1e8022..0000000 --- a/docs/classes/Query_QueryBuilder/like.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::like

-

Creates a Like clause in the sql statement

-

-

    -

    Signature

    -
    - public function like(string - $field, - mixed - $val, - [string - $pos = 'both'] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 24
    • -
    • Passed: 24 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/limit.html b/docs/classes/Query_QueryBuilder/limit.html deleted file mode 100644 index f8e58b7..0000000 --- a/docs/classes/Query_QueryBuilder/limit.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::limit

-

Set a limit on the current sql statement

-

-

    -

    Signature

    -
    - public function limit(int - $limit, - [boolean - $offset = FALSE] ) - -
    -

    Parameters

    -
    -
    $limit - — - int
    -
    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 3/3 Lines (100%)
    • -
    • Tests: 68
    • -
    • Passed: 68 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/not_like.html b/docs/classes/Query_QueryBuilder/not_like.html deleted file mode 100644 index ebe39c7..0000000 --- a/docs/classes/Query_QueryBuilder/not_like.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::not_like

-

Generates a NOT LIKE clause

-

-

    -

    Signature

    -
    - public function not_like(string - $field, - mixed - $val, - [string - $pos = 'both'] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/or_group_start.html b/docs/classes/Query_QueryBuilder/or_group_start.html deleted file mode 100644 index 7666774..0000000 --- a/docs/classes/Query_QueryBuilder/or_group_start.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::or_group_start

-

Adds a paren to the current query for query grouping, prefixed with 'OR'

-

-

    -

    Signature

    -
    - public function or_group_start() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/or_having.html b/docs/classes/Query_QueryBuilder/or_having.html deleted file mode 100644 index f660e8d..0000000 --- a/docs/classes/Query_QueryBuilder/or_having.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::or_having

-

Generates a 'Having' clause prefixed with 'OR'

-

-

    -

    Signature

    -
    - public function or_having(mixed - $key, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/or_like.html b/docs/classes/Query_QueryBuilder/or_like.html deleted file mode 100644 index a1df6ea..0000000 --- a/docs/classes/Query_QueryBuilder/or_like.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::or_like

-

Generates an OR Like clause

-

-

    -

    Signature

    -
    - public function or_like(string - $field, - mixed - $val, - [string - $pos = 'both'] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/or_not_group_start.html b/docs/classes/Query_QueryBuilder/or_not_group_start.html deleted file mode 100644 index 171ccde..0000000 --- a/docs/classes/Query_QueryBuilder/or_not_group_start.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::or_not_group_start

-

Adds a paren to the current query for query grouping, prefixed with 'OR NOT'

-

-

    -

    Signature

    -
    - public function or_not_group_start() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 8
    • -
    • Passed: 8 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/or_not_like.html b/docs/classes/Query_QueryBuilder/or_not_like.html deleted file mode 100644 index 25bf8ad..0000000 --- a/docs/classes/Query_QueryBuilder/or_not_like.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::or_not_like

-

Generates a OR NOT LIKE clause

-

-

    -

    Signature

    -
    - public function or_not_like(string - $field, - mixed - $val, - [string - $pos = 'both'] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/or_where.html b/docs/classes/Query_QueryBuilder/or_where.html deleted file mode 100644 index aede48e..0000000 --- a/docs/classes/Query_QueryBuilder/or_where.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::or_where

-

Where clause prefixed with "OR"

-

-

    -

    Signature

    -
    - public function or_where(string - $key, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $key - — - string
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 8
    • -
    • Passed: 8 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/or_where_in.html b/docs/classes/Query_QueryBuilder/or_where_in.html deleted file mode 100644 index 5ef94ce..0000000 --- a/docs/classes/Query_QueryBuilder/or_where_in.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::or_where_in

-

Where in statement prefixed with "or"

-

-

    -

    Signature

    -
    - public function or_where_in(string - $field, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/or_where_not_in.html b/docs/classes/Query_QueryBuilder/or_where_not_in.html deleted file mode 100644 index 41bf992..0000000 --- a/docs/classes/Query_QueryBuilder/or_where_not_in.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::or_where_not_in

-

OR WHERE NOT IN (FOO) clause

-

-

    -

    Signature

    -
    - public function or_where_not_in(string - $field, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/order_by.html b/docs/classes/Query_QueryBuilder/order_by.html deleted file mode 100644 index 97f5c4a..0000000 --- a/docs/classes/Query_QueryBuilder/order_by.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::order_by

-

Order the results by the selected field(s)

-

-

    -

    Signature

    -
    - public function order_by(string - $field, - [string - $type = ""] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $type - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 15/15 Lines (100%)
    • -
    • Tests: 16
    • -
    • Passed: 16 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/reset_query.html b/docs/classes/Query_QueryBuilder/reset_query.html deleted file mode 100644 index 73497d8..0000000 --- a/docs/classes/Query_QueryBuilder/reset_query.html +++ /dev/null @@ -1,348 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::reset_query

-

Clear out the class variables, so the next query can be run

-

-

    -

    Signature

    -
    - public function reset_query() - -
    -

    Returns

    -
    -
    void
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 7/7 Lines (100%)
    • -
    • Tests: 236
    • -
    • Passed: 236 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testGet
    • -
    • [ PASSED ] — MySQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — MySQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimit
    • -
    • [ PASSED ] — MySQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — MySQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrLike
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testNotLike
    • -
    • [ PASSED ] — MySQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — MySQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testNumRows
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGet
    • -
    • [ PASSED ] — PgSQLQBTest::testPrefixGet
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimit
    • -
    • [ PASSED ] — PgSQLQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrLike
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testNotLike
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeBefore
    • -
    • [ PASSED ] — PgSQLQBTest::testLikeAfter
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertBatch
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGet
    • -
    • [ PASSED ] — SQLiteQBTest::testPrefixGet
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimit
    • -
    • [ PASSED ] — SQLiteQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrLike
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testNotLike
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeBefore
    • -
    • [ PASSED ] — SQLiteQBTest::testLikeAfter
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertBatch
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGet
    • -
    • [ PASSED ] — FirebirdQBTest::testPrefixGet
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimit
    • -
    • [ PASSED ] — FirebirdQBTest::testGetLimitSkip
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testMultiOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrLike
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testNotLike
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeBefore
    • -
    • [ PASSED ] — FirebirdQBTest::testLikeAfter
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertBatch
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledSelect
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/select.html b/docs/classes/Query_QueryBuilder/select.html deleted file mode 100644 index 6035b74..0000000 --- a/docs/classes/Query_QueryBuilder/select.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::select

-

Specifies rows to select in a query

-

-

    -

    Signature

    -
    - public function select(string - $fields ) - -
    -

    Parameters

    -
    -
    $fields - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 20/20 Lines (100%)
    • -
    • Tests: 72
    • -
    • Passed: 72 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — MySQLQBTest::testHaving
    • -
    • [ PASSED ] — MySQLQBTest::testOrHaving
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testFunctionGet
    • -
    • [ PASSED ] — PgSQLQBTest::testHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testOrHaving
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testFunctionGet
    • -
    • [ PASSED ] — SQLiteQBTest::testHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testOrHaving
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testFunctionGet
    • -
    • [ PASSED ] — FirebirdQBTest::testHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testOrHaving
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/select_avg.html b/docs/classes/Query_QueryBuilder/select_avg.html deleted file mode 100644 index 8cd8eec..0000000 --- a/docs/classes/Query_QueryBuilder/select_avg.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::select_avg

-

Selects the average value of a field from a query

-

-

    -

    Signature

    -
    - public function select_avg(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectAvg
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectAvg
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectAvg
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/select_max.html b/docs/classes/Query_QueryBuilder/select_max.html deleted file mode 100644 index c552029..0000000 --- a/docs/classes/Query_QueryBuilder/select_max.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::select_max

-

Selects the maximum value of a field from a query

-

-

    -

    Signature

    -
    - public function select_max(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testSelectMax
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMax
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMax
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMax
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/select_min.html b/docs/classes/Query_QueryBuilder/select_min.html deleted file mode 100644 index 3a0fc07..0000000 --- a/docs/classes/Query_QueryBuilder/select_min.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::select_min

-

Selects the minimum value of a field from a query

-

-

    -

    Signature

    -
    - public function select_min(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testSelectMin
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectMin
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectMin
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectMin
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/select_sum.html b/docs/classes/Query_QueryBuilder/select_sum.html deleted file mode 100644 index 24a11cd..0000000 --- a/docs/classes/Query_QueryBuilder/select_sum.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::select_sum

-

Selects the sum of a field from a query

-

-

    -

    Signature

    -
    - public function select_sum(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 8
    • -
    • Passed: 8 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testSelectSum
    • -
    • [ PASSED ] — MySQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectSum
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectDistinct
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectSum
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectDistinct
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectSum
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectDistinct
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/set.html b/docs/classes/Query_QueryBuilder/set.html deleted file mode 100644 index 3e7fb26..0000000 --- a/docs/classes/Query_QueryBuilder/set.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::set

-

Sets values for inserts / updates / deletes

-

-

    -

    Signature

    -
    - public function set(mixed - $key, - [mixed - $val = NULL] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - mixed
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 6/6 Lines (100%)
    • -
    • Tests: 32
    • -
    • Passed: 32 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testInsert
    • -
    • [ PASSED ] — MySQLQBTest::testInsertArray
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — MySQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — PgSQLQBTest::testInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testInsertArray
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — PgSQLQBTest::testBadNumRows
    • -
    • [ PASSED ] — SQLiteQBTest::testInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testInsertArray
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — SQLiteQBTest::testBadNumRows
    • -
    • [ PASSED ] — FirebirdQBTest::testInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testInsertArray
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledInsert
    • -
    • [ PASSED ] — FirebirdQBTest::testBadNumRows
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/update.html b/docs/classes/Query_QueryBuilder/update.html deleted file mode 100644 index 3ddf0c3..0000000 --- a/docs/classes/Query_QueryBuilder/update.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::update

-

Creates an update clause, and executes it

-

-

    -

    Signature

    -
    - public function update(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 12
    • -
    • Passed: 12 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/where.html b/docs/classes/Query_QueryBuilder/where.html deleted file mode 100644 index 3cf1999..0000000 --- a/docs/classes/Query_QueryBuilder/where.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::where

-

Specify condition(s) in the where clause of a query Note: this function works with key / value, or a passed array with key / value pairs

-

-

    -

    Signature

    -
    - public function where(mixed - $key, - [array - $val = , - [mixed - $escape = NULL]] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    $escape - — - mixed
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 100
    • -
    • Passed: 100 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — MySQLQBTest::testGetWhere
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — MySQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — MySQLQBTest::testGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrGroup
    • -
    • [ PASSED ] — MySQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — MySQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — MySQLQBTest::testOrderBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — MySQLQBTest::testGroupBy
    • -
    • [ PASSED ] — MySQLQBTest::testOrWhere
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — MySQLQBTest::testDelete
    • -
    • [ PASSED ] — MySQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — MySQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — MySQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testQueryExplain
    • -
    • [ PASSED ] — PgSQLQBTest::testGetWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — PgSQLQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — PgSQLQBTest::testGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testOrNotGroup
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrderByRandom
    • -
    • [ PASSED ] — PgSQLQBTest::testGroupBy
    • -
    • [ PASSED ] — PgSQLQBTest::testOrWhere
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — PgSQLQBTest::testDelete
    • -
    • [ PASSED ] — PgSQLQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testCountAllResults2
    • -
    • [ PASSED ] — PgSQLQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testQueryExplain
    • -
    • [ PASSED ] — SQLiteQBTest::testGetWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — SQLiteQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — SQLiteQBTest::testGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testOrNotGroup
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrderByRandom
    • -
    • [ PASSED ] — SQLiteQBTest::testGroupBy
    • -
    • [ PASSED ] — SQLiteQBTest::testOrWhere
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — SQLiteQBTest::testDelete
    • -
    • [ PASSED ] — SQLiteQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testCountAllResults2
    • -
    • [ PASSED ] — SQLiteQBTest::testGetCompiledDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testQueryExplain
    • -
    • [ PASSED ] — FirebirdQBTest::testGetWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectFromLimitGet
    • -
    • [ PASSED ] — FirebirdQBTest::testSelectWhereGet2
    • -
    • [ PASSED ] — FirebirdQBTest::testGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testOrNotGroup
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupCamelCase
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrderByRandom
    • -
    • [ PASSED ] — FirebirdQBTest::testGroupBy
    • -
    • [ PASSED ] — FirebirdQBTest::testOrWhere
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testSetArrayUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereSetUpdate
    • -
    • [ PASSED ] — FirebirdQBTest::testDelete
    • -
    • [ PASSED ] — FirebirdQBTest::testDeleteWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testCountAllResults2
    • -
    • [ PASSED ] — FirebirdQBTest::testGetCompiledDelete
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/where_in.html b/docs/classes/Query_QueryBuilder/where_in.html deleted file mode 100644 index ef5b5e4..0000000 --- a/docs/classes/Query_QueryBuilder/where_in.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::where_in

-

Where clause with 'IN' statement

-

-

    -

    Signature

    -
    - public function where_in(mixed - $field, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $field - — - mixed
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testWhereIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereIn
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryBuilder/where_not_in.html b/docs/classes/Query_QueryBuilder/where_not_in.html deleted file mode 100644 index ed81f9f..0000000 --- a/docs/classes/Query_QueryBuilder/where_not_in.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilder::where_not_in

-

WHERE NOT IN (FOO) clause

-

-

    -

    Signature

    -
    - public function where_not_in(string - $field, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -

    Defined by Interface

    -

    - - QueryBuilderInterface - -

    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 1/1 Lines (100%)
    • -
    • Tests: 4
    • -
    • Passed: 4 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — PgSQLQBTest::testWhereNotIn
    • -
    • [ PASSED ] — SQLiteQBTest::testWhereNotIn
    • -
    • [ PASSED ] — FirebirdQBTest::testWhereNotIn
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryParser.html b/docs/classes/Query_QueryParser.html deleted file mode 100644 index 7d40912..0000000 --- a/docs/classes/Query_QueryParser.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - phpDox - Query\QueryParser - - - - - -
-
- -
- -
-

Query\QueryParser

-

Utility Class to parse sql clauses for properly escaping identifiers

-

-

    -

    Synopsis

    -
    class QueryParser - {
    - - }
    -

    Coverage

    - - - - - - - - - - - -
    Methods100%4 / 4
    Lines100%23 / 23
    -

    Members

    -
    -

    private

    -
      -
    • $db - — - Query\DriverInterface
      DB Driver
    • -
    • $match_patterns - — - array
      Regex patterns for various syntax components
    • -
    -

    public

    -
      -
    • $matches - — - array
      Regex matches
    • -
    -
    -

    Methods

    -
    -

    protected

    - -

    public

    -
      -
    • __construct() - — Constructor/entry point into parser
    • -
    • compile_join() - — Compiles a join condition after parsing
    • -
    • parse_join() - — Parser method for setting the parse string
    • -
    -
    -

    History

    -
      -
    • -

      2015-11-10T16:29:17-05:00 (commit #a1c3b9e)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Change test setup to be more extensible
      -
      -
    • -
    • -

      2015-11-10T11:18:11-05:00 (commit #1e2a7ee)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Actually fix tests
      -
      -
    • -
    • -

      2015-11-10T10:12:23-05:00 (commit #b5a141f)

      -
      -

      - Author: Timothy J Warren (tim@timshomepage.net) / - Commiter: Timothy J Warren (tim@timshomepage.net) -

      -
      Make class names Pascal Case
      -
      -
    • -
    • -

      2015-07-31T10:24:34-04:00 (commit #056e8bf)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Re-add some missing tests, and update README
      -
      -
    • -
    • -

      2015-07-29T16:51:17-04:00 (commit #8511c6a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Move library into src folder, fix simpletest test runner
      -
      -
    • -
    • -

      2015-07-17T16:01:41-04:00 (commit #b4118ce)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs
      -
      -
    • -
    • -

      2015-07-16T16:56:13-04:00 (commit #bfc3ea3)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize drivers into a more modern layout
      -
      -
    • -
    • -

      2014-08-08T13:48:20-04:00 (commit #dd672df)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Reorganize classes to autoload by namespace
      -
      -
    • -
    • -

      2014-04-23T16:27:43-04:00 (commit #fddd92a)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some more docblocks
      -
      -
    • -
    • -

      2014-04-23T15:53:16-04:00 (commit #aa5aa8e)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Docblock fixes and more dependency injection
      -
      -
    • -
    • -

      2014-04-03T13:28:30-04:00 (commit #4809016)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Add insert_batch methods to Firebird and SQLite
      -
      -
    • -
    • -

      2014-04-02T18:53:48-04:00 (commit #bccea8c)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      A little cleanup of parser and connection code
      -
      -
    • -
    • -

      2014-04-02T17:08:50-04:00 (commit #e3fdad5)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Namespaces!
      -
      -
    • -
    • -

      2014-03-31T16:01:58-04:00 (commit #32a01a6)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Update docs, composer and README
      -
      -
    • -
    • -

      2014-02-18T15:18:01-05:00 (commit #1095e85)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Fix some docblocks, and update test files to 2014
      -
      -
    • -
    • -

      2014-02-11T14:29:41-05:00 (commit #bed0d1b)

      -
      -

      - Author: Timothy J. Warren (tim@timshomepage.net) / - Commiter: Timothy J. Warren (tim@timshomepage.net) -

      -
      Improve code coverage
      -
      -
    • -
    -
-
- - - diff --git a/docs/classes/Query_QueryParser/__construct.html b/docs/classes/Query_QueryParser/__construct.html deleted file mode 100644 index a9ebfa1..0000000 --- a/docs/classes/Query_QueryParser/__construct.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryParser::__construct

-

Constructor/entry point into parser

-

-

    -

    Signature

    -
    - public function __construct(DriverInterface - $db ) - -
    -

    Parameters

    -
    -
    $db - — - Query\Driver\DriverInterface
    -



    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 2/2 Lines (100%)
    • -
    • Tests: 6
    • -
    • Passed: 6 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Query_Parser_Test::testGeneric2
    • -
    • [ PASSED ] — Query_Parser_Test::testWUnderscore
    • -
    • [ PASSED ] — Query_Parser_Test::testFunction
    • -
    • [ PASSED ] — Connection_Manager_Test::testConnect
    • -
    • [ PASSED ] — Connection_Manager_Test::testGetConnection
    • -
    • [ PASSED ] — FirebirdQBTest::testGetNamedConnection
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryParser/compile_join.html b/docs/classes/Query_QueryParser/compile_join.html deleted file mode 100644 index fa0c799..0000000 --- a/docs/classes/Query_QueryParser/compile_join.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryParser::compile_join

-

Compiles a join condition after parsing

-

-

    -

    Signature

    -
    - public function compile_join(string - $condition ) - -
    -

    Parameters

    -
    -
    $condition - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 9/9 Lines (100%)
    • -
    • Tests: 16
    • -
    • Passed: 16 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryParser/filter_array.html b/docs/classes/Query_QueryParser/filter_array.html deleted file mode 100644 index b5cfd1e..0000000 --- a/docs/classes/Query_QueryParser/filter_array.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryParser::filter_array

-

Returns a more useful match array

-

-

    -

    Signature

    -
    - protected function filter_array(array - $array ) - -
    -

    Parameters

    -
    -
    $array - — - array
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 5/5 Lines (100%)
    • -
    • Tests: 19
    • -
    • Passed: 19 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Query_Parser_Test::testGeneric2
    • -
    • [ PASSED ] — Query_Parser_Test::testWUnderscore
    • -
    • [ PASSED ] — Query_Parser_Test::testFunction
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    -
    -
-
- - - diff --git a/docs/classes/Query_QueryParser/parse_join.html b/docs/classes/Query_QueryParser/parse_join.html deleted file mode 100644 index cfc456d..0000000 --- a/docs/classes/Query_QueryParser/parse_join.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryParser::parse_join

-

Parser method for setting the parse string

-

-

    -

    Signature

    -
    - public function parse_join(string - $sql ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -

    Test Coverage

    -
    -

    Information

    -
      -
    • Coverage: 7/7 Lines (100%)
    • -
    • Tests: 19
    • -
    • Passed: 19 (100%)
    • -
    -

    Tests

    -
      -
    • [ PASSED ] — Query_Parser_Test::testGeneric2
    • -
    • [ PASSED ] — Query_Parser_Test::testWUnderscore
    • -
    • [ PASSED ] — Query_Parser_Test::testFunction
    • -
    • [ PASSED ] — MySQLQBTest::testJoin
    • -
    • [ PASSED ] — MySQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — MySQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — MySQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — PgSQLQBTest::testJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testLeftJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testInnerJoin
    • -
    • [ PASSED ] — PgSQLQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — SQLiteQBTest::testJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testLeftJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testInnerJoin
    • -
    • [ PASSED ] — SQLiteQBTest::testJoinWithMultipleWhereValues
    • -
    • [ PASSED ] — FirebirdQBTest::testJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testLeftJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testInnerJoin
    • -
    • [ PASSED ] — FirebirdQBTest::testJoinWithMultipleWhereValues
    • -
    -
    -
-
- - - diff --git a/docs/css/bootstrap-combined.no-icons.min.css b/docs/css/bootstrap-combined.no-icons.min.css new file mode 100644 index 0000000..5ab243e --- /dev/null +++ b/docs/css/bootstrap-combined.no-icons.min.css @@ -0,0 +1,732 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} +audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} +audio:not([controls]){display:none;} +html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} +a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +a:hover,a:active{outline:0;} +sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;} +sup{top:-0.5em;} +sub{bottom:-0.25em;} +img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;} +#map_canvas img,.google-maps img{max-width:none;} +button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;} +button,input{*overflow:visible;line-height:normal;} +button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;} +button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;} +label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;} +input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;} +input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;} +textarea{overflow:auto;vertical-align:top;} +@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:0.5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333333;background-color:#ffffff;} +a{color:#0088cc;text-decoration:none;} +a:hover,a:focus{color:#005580;text-decoration:underline;} +.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);} +.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;} +.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} +.row:after{clear:both;} +[class*="span"]{float:left;min-height:1px;margin-left:20px;} +.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} +.span12{width:940px;} +.span11{width:860px;} +.span10{width:780px;} +.span9{width:700px;} +.span8{width:620px;} +.span7{width:540px;} +.span6{width:460px;} +.span5{width:380px;} +.span4{width:300px;} +.span3{width:220px;} +.span2{width:140px;} +.span1{width:60px;} +.offset12{margin-left:980px;} +.offset11{margin-left:900px;} +.offset10{margin-left:820px;} +.offset9{margin-left:740px;} +.offset8{margin-left:660px;} +.offset7{margin-left:580px;} +.offset6{margin-left:500px;} +.offset5{margin-left:420px;} +.offset4{margin-left:340px;} +.offset3{margin-left:260px;} +.offset2{margin-left:180px;} +.offset1{margin-left:100px;} +.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} +.row-fluid:after{clear:both;} +.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;} +.row-fluid [class*="span"]:first-child{margin-left:0;} +.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;} +.row-fluid .span12{width:100%;*width:99.94680851063829%;} +.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;} +.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;} +.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;} +.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;} +.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;} +.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;} +.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;} +.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;} +.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;} +.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;} +.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;} +.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;} +.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;} +.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;} +.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;} +.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;} +.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;} +.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;} +.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;} +.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;} +.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;} +.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;} +.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;} +.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;} +.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;} +.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;} +.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;} +.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;} +.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;} +.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;} +.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;} +.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;} +.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;} +.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;} +.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;} +[class*="span"].hide,.row-fluid [class*="span"].hide{display:none;} +[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;} +.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;} +.container:after{clear:both;} +.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;} +.container-fluid:after{clear:both;} +p{margin:0 0 10px;} +.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px;} +small{font-size:85%;} +strong{font-weight:bold;} +em{font-style:italic;} +cite{font-style:normal;} +.muted{color:#999999;} +a.muted:hover,a.muted:focus{color:#808080;} +.text-warning{color:#c09853;} +a.text-warning:hover,a.text-warning:focus{color:#a47e3c;} +.text-error{color:#b94a48;} +a.text-error:hover,a.text-error:focus{color:#953b39;} +.text-info{color:#3a87ad;} +a.text-info:hover,a.text-info:focus{color:#2d6987;} +.text-success{color:#468847;} +a.text-success:hover,a.text-success:focus{color:#356635;} +.text-left{text-align:left;} +.text-right{text-align:right;} +.text-center{text-align:center;} +h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999999;} +h1,h2,h3{line-height:40px;} +h1{font-size:38.5px;} +h2{font-size:31.5px;} +h3{font-size:24.5px;} +h4{font-size:17.5px;} +h5{font-size:14px;} +h6{font-size:11.9px;} +h1 small{font-size:24.5px;} +h2 small{font-size:17.5px;} +h3 small{font-size:14px;} +h4 small{font-size:14px;} +.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;} +ul,ol{padding:0;margin:0 0 10px 25px;} +ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} +li{line-height:20px;} +ul.unstyled,ol.unstyled{margin-left:0;list-style:none;} +ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px;} +dl{margin-bottom:20px;} +dt,dd{line-height:20px;} +dt{font-weight:bold;} +dd{margin-left:10px;} +.dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;} +.dl-horizontal:after{clear:both;} +.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +.dl-horizontal dd{margin-left:180px;} +hr{margin:20px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;} +abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;} +abbr.initialism{font-size:90%;text-transform:uppercase;} +blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25;} +blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';} +blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;} +blockquote.pull-right small:before{content:'';} +blockquote.pull-right small:after{content:'\00A0 \2014';} +q:before,q:after,blockquote:before,blockquote:after{content:"";} +address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;} +code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap;} +pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}pre.prettyprint{margin-bottom:20px;} +pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0;} +.pre-scrollable{max-height:340px;overflow-y:scroll;} +.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;} +.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;} +.label:empty,.badge:empty{display:none;} +a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer;} +.label-important,.badge-important{background-color:#b94a48;} +.label-important[href],.badge-important[href]{background-color:#953b39;} +.label-warning,.badge-warning{background-color:#f89406;} +.label-warning[href],.badge-warning[href]{background-color:#c67605;} +.label-success,.badge-success{background-color:#468847;} +.label-success[href],.badge-success[href]{background-color:#356635;} +.label-info,.badge-info{background-color:#3a87ad;} +.label-info[href],.badge-info[href]{background-color:#2d6987;} +.label-inverse,.badge-inverse{background-color:#333333;} +.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;} +.btn .label,.btn .badge{position:relative;top:-1px;} +.btn-mini .label,.btn-mini .badge{top:0;} +table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;} +.table{width:100%;margin-bottom:20px;}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;} +.table th{font-weight:bold;} +.table thead th{vertical-align:bottom;} +.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;} +.table tbody+tbody{border-top:2px solid #dddddd;} +.table .table{background-color:#ffffff;} +.table-condensed th,.table-condensed td{padding:4px 5px;} +.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;} +.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;} +.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;} +.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;} +.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;} +.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;} +.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;} +.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5;} +table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0;} +.table td.span1,.table th.span1{float:none;width:44px;margin-left:0;} +.table td.span2,.table th.span2{float:none;width:124px;margin-left:0;} +.table td.span3,.table th.span3{float:none;width:204px;margin-left:0;} +.table td.span4,.table th.span4{float:none;width:284px;margin-left:0;} +.table td.span5,.table th.span5{float:none;width:364px;margin-left:0;} +.table td.span6,.table th.span6{float:none;width:444px;margin-left:0;} +.table td.span7,.table th.span7{float:none;width:524px;margin-left:0;} +.table td.span8,.table th.span8{float:none;width:604px;margin-left:0;} +.table td.span9,.table th.span9{float:none;width:684px;margin-left:0;} +.table td.span10,.table th.span10{float:none;width:764px;margin-left:0;} +.table td.span11,.table th.span11{float:none;width:844px;margin-left:0;} +.table td.span12,.table th.span12{float:none;width:924px;margin-left:0;} +.table tbody tr.success>td{background-color:#dff0d8;} +.table tbody tr.error>td{background-color:#f2dede;} +.table tbody tr.warning>td{background-color:#fcf8e3;} +.table tbody tr.info>td{background-color:#d9edf7;} +.table-hover tbody tr.success:hover>td{background-color:#d0e9c6;} +.table-hover tbody tr.error:hover>td{background-color:#ebcccc;} +.table-hover tbody tr.warning:hover>td{background-color:#faf2cc;} +.table-hover tbody tr.info:hover>td{background-color:#c4e3f3;} +form{margin:0 0 20px;} +fieldset{padding:0;margin:0;border:0;} +legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333333;border:0;border-bottom:1px solid #e5e5e5;}legend small{font-size:15px;color:#999999;} +label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px;} +input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;} +label{display:block;margin-bottom:5px;} +select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555555;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;vertical-align:middle;} +input,textarea,.uneditable-input{width:206px;} +textarea{height:auto;} +textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear .2s, box-shadow linear .2s;-moz-transition:border linear .2s, box-shadow linear .2s;-o-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82, 168, 236, 0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);} +input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;} +input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto;} +select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px;} +select{width:220px;border:1px solid #cccccc;background-color:#ffffff;} +select[multiple],select[size]{height:auto;} +select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.uneditable-input,.uneditable-textarea{color:#999999;background-color:#fcfcfc;border-color:#cccccc;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} +.uneditable-input{overflow:hidden;white-space:nowrap;} +.uneditable-textarea{width:auto;height:auto;} +input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;} +input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;} +input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;} +.radio,.checkbox{min-height:20px;padding-left:20px;} +.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px;} +.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;} +.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;} +.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;} +.input-mini{width:60px;} +.input-small{width:90px;} +.input-medium{width:150px;} +.input-large{width:210px;} +.input-xlarge{width:270px;} +.input-xxlarge{width:530px;} +input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0;} +.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block;} +input,textarea,.uneditable-input{margin-left:0;} +.controls-row [class*="span"]+[class*="span"]{margin-left:20px;} +input.span12,textarea.span12,.uneditable-input.span12{width:926px;} +input.span11,textarea.span11,.uneditable-input.span11{width:846px;} +input.span10,textarea.span10,.uneditable-input.span10{width:766px;} +input.span9,textarea.span9,.uneditable-input.span9{width:686px;} +input.span8,textarea.span8,.uneditable-input.span8{width:606px;} +input.span7,textarea.span7,.uneditable-input.span7{width:526px;} +input.span6,textarea.span6,.uneditable-input.span6{width:446px;} +input.span5,textarea.span5,.uneditable-input.span5{width:366px;} +input.span4,textarea.span4,.uneditable-input.span4{width:286px;} +input.span3,textarea.span3,.uneditable-input.span3{width:206px;} +input.span2,textarea.span2,.uneditable-input.span2{width:126px;} +input.span1,textarea.span1,.uneditable-input.span1{width:46px;} +.controls-row{*zoom:1;}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0;} +.controls-row:after{clear:both;} +.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left;} +.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px;} +input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eeeeee;} +input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent;} +.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;} +.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;} +.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;} +.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;} +.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;} +.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;} +.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;} +.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;} +.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;} +.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;} +.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;} +.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;} +.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;} +.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;} +.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;} +.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;} +input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} +.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1;}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0;} +.form-actions:after{clear:both;} +.help-block,.help-inline{color:#595959;} +.help-block{display:block;margin-bottom:10px;} +.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;} +.input-append,.input-prepend{display:inline-block;margin-bottom:10px;vertical-align:middle;font-size:0;white-space:nowrap;}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px;} +.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2;} +.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #ccc;} +.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546;} +.input-prepend .add-on,.input-prepend .btn{margin-right:-1px;} +.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px;} +.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append .btn-group:first-child{margin-left:0;} +input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;} +.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;} +.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;} +.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;} +.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle;} +.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;} +.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block;} +.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;} +.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;} +.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0;} +.control-group{margin-bottom:10px;} +legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate;} +.form-horizontal .control-group{margin-bottom:20px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0;} +.form-horizontal .control-group:after{clear:both;} +.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right;} +.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0;}.form-horizontal .controls:first-child{*padding-left:180px;} +.form-horizontal .help-block{margin-bottom:0;} +.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px;} +.form-horizontal .form-actions{padding-left:180px;} +.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(to bottom, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid #cccccc;*border:0;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;} +.btn:active,.btn.active{background-color:#cccccc \9;} +.btn:first-child{*margin-left:0;} +.btn:hover,.btn:focus{color:#333333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;} +.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);} +.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px;} +.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0;} +.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px;} +.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.btn-block+.btn-block{margin-top:5px;} +input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;} +.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255, 255, 255, 0.75);} +.btn-primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(to bottom, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#0044cc;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;} +.btn-primary:active,.btn-primary.active{background-color:#003399 \9;} +.btn-warning{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;} +.btn-warning:active,.btn-warning.active{background-color:#c67605 \9;} +.btn-danger{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;} +.btn-danger:active,.btn-danger.active{background-color:#942a25 \9;} +.btn-success{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(to bottom, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;} +.btn-success:active,.btn-success.active{background-color:#408140 \9;} +.btn-info{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(to bottom, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;} +.btn-info:active,.btn-info.active{background-color:#24748c \9;} +.btn-inverse{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#363636;background-image:-moz-linear-gradient(top, #444444, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));background-image:-webkit-linear-gradient(top, #444444, #222222);background-image:-o-linear-gradient(top, #444444, #222222);background-image:linear-gradient(to bottom, #444444, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#222222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;} +.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;} +button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;} +button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;} +button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;} +button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;} +.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn-link{border-color:transparent;cursor:pointer;color:#0088cc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent;} +.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333333;text-decoration:none;} +.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em;}.btn-group:first-child{*margin-left:0;} +.btn-group+.btn-group{margin-left:5px;} +.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px;}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px;} +.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-group>.btn+.btn{margin-left:-1px;} +.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px;} +.btn-group>.btn-mini{font-size:10.5px;} +.btn-group>.btn-small{font-size:11.9px;} +.btn-group>.btn-large{font-size:17.5px;} +.btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} +.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} +.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2;} +.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;} +.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px;} +.btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px;} +.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px;} +.btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px;} +.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);} +.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6;} +.btn-group.open .btn-primary.dropdown-toggle{background-color:#0044cc;} +.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406;} +.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f;} +.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351;} +.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4;} +.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222222;} +.btn .caret{margin-top:8px;margin-left:0;} +.btn-large .caret{margin-top:6px;} +.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px;} +.btn-mini .caret,.btn-small .caret{margin-top:8px;} +.dropup .btn-large .caret{border-bottom-width:5px;} +.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.btn-group-vertical{display:inline-block;*display:inline;*zoom:1;} +.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;} +.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;} +.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;} +.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0;} +.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;} +.nav{margin-left:0;margin-bottom:20px;list-style:none;} +.nav>li>a{display:block;} +.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee;} +.nav>li>a>img{max-width:none;} +.nav>.pull-right{float:right;} +.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;} +.nav li+.nav-header{margin-top:9px;} +.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;} +.nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);} +.nav-list>li>a{padding:3px 15px;} +.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;} +.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;} +.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;} +.nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;} +.nav-tabs:after,.nav-pills:after{clear:both;} +.nav-tabs>li,.nav-pills>li{float:left;} +.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;} +.nav-tabs{border-bottom:1px solid #ddd;} +.nav-tabs>li{margin-bottom:-1px;} +.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eeeeee #eeeeee #dddddd;} +.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} +.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#ffffff;background-color:#0088cc;} +.nav-stacked>li{float:none;} +.nav-stacked>li>a{margin-right:0;} +.nav-tabs.nav-stacked{border-bottom:0;} +.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{border-color:#ddd;z-index:2;} +.nav-pills.nav-stacked>li>a{margin-bottom:3px;} +.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;} +.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;} +.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.nav .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;} +.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580;} +.nav-tabs .dropdown-toggle .caret{margin-top:8px;} +.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff;} +.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;} +.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer;} +.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#ffffff;background-color:#999999;border-color:#999999;} +.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);} +.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999999;} +.tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0;} +.tabbable:after{clear:both;} +.tab-content{overflow:auto;} +.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0;} +.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;} +.tab-content>.active,.pill-content>.active{display:block;} +.tabs-below>.nav-tabs{border-top:1px solid #ddd;} +.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0;} +.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-bottom-color:transparent;border-top-color:#ddd;} +.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd;} +.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none;} +.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;} +.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;} +.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eeeeee #dddddd #eeeeee #eeeeee;} +.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;} +.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;} +.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eeeeee #eeeeee #eeeeee #dddddd;} +.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;} +.nav>.disabled>a{color:#999999;} +.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;background-color:transparent;cursor:default;} +.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2;} +.navbar-inner{min-height:40px;padding-left:20px;padding-right:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top, #ffffff, #f2f2f2);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));background-image:-webkit-linear-gradient(top, #ffffff, #f2f2f2);background-image:-o-linear-gradient(top, #ffffff, #f2f2f2);background-image:linear-gradient(to bottom, #ffffff, #f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);*zoom:1;}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0;} +.navbar-inner:after{clear:both;} +.navbar .container{width:auto;} +.nav-collapse.collapse{height:auto;overflow:visible;} +.navbar .brand{float:left;display:block;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777777;text-shadow:0 1px 0 #ffffff;}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none;} +.navbar-text{margin-bottom:0;line-height:40px;color:#777777;} +.navbar-link{color:#777777;}.navbar-link:hover,.navbar-link:focus{color:#333333;} +.navbar .divider-vertical{height:40px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid #ffffff;} +.navbar .btn,.navbar .btn-group{margin-top:5px;} +.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0;} +.navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;} +.navbar-form:after{clear:both;} +.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;} +.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0;} +.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;} +.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap;}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0;} +.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0;}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.navbar-static-top{position:static;margin-bottom:0;}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;} +.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;} +.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;} +.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} +.navbar-fixed-top{top:0;} +.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1);} +.navbar-fixed-bottom{bottom:0;}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1);} +.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;} +.navbar .nav.pull-right{float:right;margin-right:0;} +.navbar .nav>li{float:left;} +.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777777;text-decoration:none;text-shadow:0 1px 0 #ffffff;} +.navbar .nav .dropdown-toggle .caret{margin-top:8px;} +.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333333;text-decoration:none;} +.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);-moz-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);} +.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#ededed;background-image:-moz-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));background-image:-webkit-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-o-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:linear-gradient(to bottom, #f2f2f2, #e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;} +.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;} +.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);} +.btn-navbar .icon-bar+.icon-bar{margin-top:3px;} +.navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;} +.navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;} +.navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0, 0, 0, 0.2);border-bottom:0;bottom:-7px;top:auto;} +.navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;} +.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333333;border-bottom-color:#333333;} +.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#e5e5e5;color:#555555;} +.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777777;border-bottom-color:#777777;} +.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;} +.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0;}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px;} +.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px;} +.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;} +.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top, #222222, #111111);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));background-image:-webkit-linear-gradient(top, #222222, #111111);background-image:-o-linear-gradient(top, #222222, #111111);background-image:linear-gradient(to bottom, #222222, #111111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);border-color:#252525;} +.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999999;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#ffffff;} +.navbar-inverse .brand{color:#999999;} +.navbar-inverse .navbar-text{color:#999999;} +.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:transparent;color:#ffffff;} +.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#ffffff;background-color:#111111;} +.navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#ffffff;} +.navbar-inverse .divider-vertical{border-left-color:#111111;border-right-color:#222222;} +.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111111;color:#ffffff;} +.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999999;border-bottom-color:#999999;} +.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.navbar-inverse .navbar-search .search-query{color:#ffffff;background-color:#515151;border-color:#111111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;} +.navbar-inverse .btn-navbar{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top, #151515, #040404);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));background-image:-webkit-linear-gradient(top, #151515, #040404);background-image:-o-linear-gradient(top, #151515, #040404);background-image:linear-gradient(to bottom, #151515, #040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);border-color:#040404 #040404 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;} +.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;} +.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #ffffff;}.breadcrumb>li>.divider{padding:0 5px;color:#ccc;} +.breadcrumb>.active{color:#999999;} +.pagination{margin:20px 0;} +.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} +.pagination ul>li{display:inline;} +.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;border-left-width:0;} +.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5;} +.pagination ul>.active>a,.pagination ul>.active>span{color:#999999;cursor:default;} +.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999999;background-color:transparent;cursor:default;} +.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.pagination-centered{text-align:center;} +.pagination-right{text-align:right;} +.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px;} +.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} +.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} +.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px;} +.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px;} +.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px;} +.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px;} +.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";line-height:0;} +.pager:after{clear:both;} +.pager li{display:inline;} +.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5;} +.pager .next>a,.pager .next>span{float:right;} +.pager .previous>a,.pager .previous>span{float:left;} +.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#fff;cursor:default;} +.thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;} +.thumbnails:after{clear:both;} +.row-fluid .thumbnails{margin-left:0;} +.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px;} +.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;} +a.thumbnail:hover,a.thumbnail:focus{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);} +.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;} +.thumbnail .caption{padding:9px;color:#555555;} +.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.alert,.alert h4{color:#c09853;} +.alert h4{margin:0;} +.alert .close{position:relative;top:-2px;right:-21px;line-height:20px;} +.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;} +.alert-success h4{color:#468847;} +.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;} +.alert-danger h4,.alert-error h4{color:#b94a48;} +.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;} +.alert-info h4{color:#3a87ad;} +.alert-block{padding-top:14px;padding-bottom:14px;} +.alert-block>p,.alert-block>ul{margin-bottom:0;} +.alert-block p+p{margin-top:5px;} +@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-o-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(to bottom, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.progress .bar{width:0%;height:100%;color:#ffffff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(to bottom, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;} +.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);} +.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;} +.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;} +.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(to bottom, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);} +.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(to bottom, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);} +.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(to bottom, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);} +.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);} +.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eeeeee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px;} +.hero-unit li{line-height:30px;} +.media,.media-body{overflow:hidden;*overflow:visible;zoom:1;} +.media,.media .media{margin-top:15px;} +.media:first-child{margin-top:0;} +.media-object{display:block;} +.media-heading{margin:0 0 5px;} +.media>.pull-left{margin-right:10px;} +.media>.pull-right{margin-left:10px;} +.media-list{margin-left:0;list-style:none;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;padding:5px 0;} +.tooltip.right{margin-left:3px;padding:0 5px;} +.tooltip.bottom{margin-top:3px;padding:5px 0;} +.tooltip.left{margin-left:-3px;padding:0 5px;} +.tooltip-inner{max-width:200px;padding:8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);white-space:normal;}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;}.popover-title:empty{display:none;} +.popover-content{padding:9px 14px;} +.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow{border-width:11px;} +.popover .arrow:after{border-width:10px;content:"";} +.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0, 0, 0, 0.25);bottom:-11px;}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff;} +.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0, 0, 0, 0.25);}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff;} +.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0, 0, 0, 0.25);top:-11px;}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff;} +.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0, 0, 0, 0.25);}.popover.left .arrow:after{right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px;} +.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;} +.modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);} +.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:none;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;} +.modal.fade.in{top:10%;} +.modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;} +.modal-header h3{margin:0;line-height:30px;} +.modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px;} +.modal-form{margin-bottom:0;} +.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0;} +.modal-footer:after{clear:both;} +.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;} +.modal-footer .btn-group .btn+.btn{margin-left:-1px;} +.modal-footer .btn-block+.btn-block{margin-left:0;} +.dropup,.dropdown{position:relative;} +.dropdown-toggle{*margin-bottom:-3px;} +.dropdown-toggle:active,.open .dropdown-toggle{outline:0;} +.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000000;border-right:4px solid transparent;border-left:4px solid transparent;content:"";} +.dropdown .caret{margin-top:8px;margin-left:2px;} +.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#ffffff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.dropdown-menu.pull-right{right:0;left:auto;} +.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;} +.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333333;white-space:nowrap;} +.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{text-decoration:none;color:#ffffff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);} +.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);} +.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999;} +.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default;} +.open{*z-index:1000;}.open>.dropdown-menu{display:block;} +.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990;} +.pull-right>.dropdown-menu{right:0;left:auto;} +.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000000;content:"";} +.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;} +.dropdown-submenu{position:relative;} +.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;} +.dropdown-submenu:hover>.dropdown-menu{display:block;} +.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0;} +.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;} +.dropdown-submenu:hover>a:after{border-left-color:#ffffff;} +.dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;} +.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px;} +.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.accordion{margin-bottom:20px;} +.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.accordion-heading{border-bottom:0;} +.accordion-heading .accordion-toggle{display:block;padding:8px 15px;} +.accordion-toggle{cursor:pointer;} +.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;} +.carousel{position:relative;margin-bottom:20px;line-height:1;} +.carousel-inner{overflow:hidden;width:100%;position:relative;} +.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1;} +.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block;} +.carousel-inner>.active{left:0;} +.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%;} +.carousel-inner>.next{left:100%;} +.carousel-inner>.prev{left:-100%;} +.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0;} +.carousel-inner>.active.left{left:-100%;} +.carousel-inner>.active.right{left:100%;} +.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;} +.carousel-control:hover,.carousel-control:focus{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);} +.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none;}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255, 255, 255, 0.25);border-radius:5px;} +.carousel-indicators .active{background-color:#fff;} +.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333333;background:rgba(0, 0, 0, 0.75);} +.carousel-caption h4,.carousel-caption p{color:#ffffff;line-height:20px;} +.carousel-caption h4{margin:0 0 5px;} +.carousel-caption p{margin-bottom:0;} +.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} +.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(opacity=40);} +button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;} +.pull-right{float:right;} +.pull-left{float:left;} +.hide{display:none;} +.show{display:block;} +.invisible{visibility:hidden;} +.affix{position:fixed;} +.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;}.fade.in{opacity:1;} +.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;}.collapse.in{height:auto;} +@-ms-viewport{width:device-width;}.hidden{display:none;visibility:hidden;} +.visible-phone{display:none !important;} +.visible-tablet{display:none !important;} +.hidden-desktop{display:none !important;} +.visible-desktop{display:inherit !important;} +@media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important ;} .visible-tablet{display:inherit !important;} .hidden-tablet{display:none !important;}}@media (max-width:767px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important;} .visible-phone{display:inherit !important;} .hidden-phone{display:none !important;}}.visible-print{display:none !important;} +@media print{.visible-print{display:inherit !important;} .hidden-print{display:none !important;}}@media (max-width:767px){body{padding-left:20px;padding-right:20px;} .navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px;} .container-fluid{padding:0;} .dl-horizontal dt{float:none;clear:none;width:auto;text-align:left;} .dl-horizontal dd{margin-left:0;} .container{width:auto;} .row-fluid{width:100%;} .row,.thumbnails{margin-left:0;} .thumbnails>li{float:none;margin-left:0;} [class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .row-fluid [class*="offset"]:first-child{margin-left:0;} .input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto;} .controls-row [class*="span"]+[class*="span"]{margin-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade{top:-100px;} .modal.fade.in{top:20px;}}@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:20px;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .media .pull-left,.media .pull-right{float:none;display:block;margin-bottom:10px;} .media-object{margin-right:0;margin-left:0;} .modal{top:10px;left:10px;right:10px;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}}@media (min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:20px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px;} .span12{width:724px;} .span11{width:662px;} .span10{width:600px;} .span9{width:538px;} .span8{width:476px;} .span7{width:414px;} .span6{width:352px;} .span5{width:290px;} .span4{width:228px;} .span3{width:166px;} .span2{width:104px;} .span1{width:42px;} .offset12{margin-left:764px;} .offset11{margin-left:702px;} .offset10{margin-left:640px;} .offset9{margin-left:578px;} .offset8{margin-left:516px;} .offset7{margin-left:454px;} .offset6{margin-left:392px;} .offset5{margin-left:330px;} .offset4{margin-left:268px;} .offset3{margin-left:206px;} .offset2{margin-left:144px;} .offset1{margin-left:82px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%;} .row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%;} .row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%;} .row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%;} .row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%;} .row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%;} .row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%;} .row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%;} .row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%;} .row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%;} .row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%;} .row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%;} .row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%;} .row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%;} .row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%;} .row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%;} .row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%;} .row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%;} .row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%;} .row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%;} .row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%;} .row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%;} .row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%;} .row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%;} .row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%;} .row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%;} .row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%;} .row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%;} .row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%;} .row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%;} .row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%;} .row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%;} .row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%;} .row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%;} .row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} input.span12,textarea.span12,.uneditable-input.span12{width:710px;} input.span11,textarea.span11,.uneditable-input.span11{width:648px;} input.span10,textarea.span10,.uneditable-input.span10{width:586px;} input.span9,textarea.span9,.uneditable-input.span9{width:524px;} input.span8,textarea.span8,.uneditable-input.span8{width:462px;} input.span7,textarea.span7,.uneditable-input.span7{width:400px;} input.span6,textarea.span6,.uneditable-input.span6{width:338px;} input.span5,textarea.span5,.uneditable-input.span5{width:276px;} input.span4,textarea.span4,.uneditable-input.span4{width:214px;} input.span3,textarea.span3,.uneditable-input.span3{width:152px;} input.span2,textarea.span2,.uneditable-input.span2{width:90px;} input.span1,textarea.span1,.uneditable-input.span1{width:28px;}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:30px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%;} .row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%;} .row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%;} .row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%;} .row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%;} .row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%;} .row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%;} .row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%;} .row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%;} .row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%;} .row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%;} .row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%;} .row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%;} .row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%;} .row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%;} .row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%;} .row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%;} .row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%;} .row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%;} .row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%;} .row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%;} .row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%;} .row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%;} .row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%;} .row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%;} .row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%;} .row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%;} .row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%;} .row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%;} .row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%;} .row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%;} .row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%;} .row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%;} .row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%;} .row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:30px;} input.span12,textarea.span12,.uneditable-input.span12{width:1156px;} input.span11,textarea.span11,.uneditable-input.span11{width:1056px;} input.span10,textarea.span10,.uneditable-input.span10{width:956px;} input.span9,textarea.span9,.uneditable-input.span9{width:856px;} input.span8,textarea.span8,.uneditable-input.span8{width:756px;} input.span7,textarea.span7,.uneditable-input.span7{width:656px;} input.span6,textarea.span6,.uneditable-input.span6{width:556px;} input.span5,textarea.span5,.uneditable-input.span5{width:456px;} input.span4,textarea.span4,.uneditable-input.span4{width:356px;} input.span3,textarea.span3,.uneditable-input.span3{width:256px;} input.span2,textarea.span2,.uneditable-input.span2{width:156px;} input.span1,textarea.span1,.uneditable-input.span1{width:56px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;} .row-fluid .thumbnails{margin-left:0;}}@media (max-width:979px){body{padding-top:0;} .navbar-fixed-top,.navbar-fixed-bottom{position:static;} .navbar-fixed-top{margin-bottom:20px;} .navbar-fixed-bottom{margin-top:20px;} .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px;} .navbar .container{width:auto;padding:0;} .navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px;} .nav-collapse{clear:both;} .nav-collapse .nav{float:none;margin:0 0 10px;} .nav-collapse .nav>li{float:none;} .nav-collapse .nav>li>a{margin-bottom:2px;} .nav-collapse .nav>.divider-vertical{display:none;} .nav-collapse .nav .nav-header{color:#777777;text-shadow:none;} .nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} .nav-collapse .dropdown-menu li+li a{margin-bottom:2px;} .nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2;} .navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999999;} .navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111111;} .nav-collapse.in .btn-group{margin-top:5px;padding:0;} .nav-collapse .dropdown-menu{position:static;top:auto;left:auto;float:none;display:none;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .nav-collapse .open>.dropdown-menu{display:block;} .nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none;} .nav-collapse .dropdown-menu .divider{display:none;} .nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none;} .nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);} .navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111111;border-bottom-color:#111111;} .navbar .nav-collapse .nav.pull-right{float:none;margin-left:0;} .nav-collapse,.nav-collapse.collapse{overflow:hidden;height:0;} .navbar .btn-navbar{display:block;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important;}} diff --git a/docs/css/font-awesome.min.css b/docs/css/font-awesome.min.css new file mode 100644 index 0000000..866437f --- /dev/null +++ b/docs/css/font-awesome.min.css @@ -0,0 +1,403 @@ +@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.2.1');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;} +[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none;} +.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;} +a [class^="icon-"],a [class*=" icon-"]{display:inline;} +[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;} +.icons-ul{margin-left:2.142857142857143em;list-style-type:none;}.icons-ul>li{position:relative;} +.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;} +[class^="icon-"].hide,[class*=" icon-"].hide{display:none;} +.icon-muted{color:#eeeeee;} +.icon-light{color:#ffffff;} +.icon-dark{color:#333333;} +.icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;} +.pull-right{float:right;} +.pull-left{float:left;} +[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;} +[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;} +[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;} +.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;} +.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;} +.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;} +.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;} +.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;} +.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;} +.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;} +.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;} +.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;} +.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;} +.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{line-height:inherit;} +.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;} +.icon-stack .icon-stack-base{font-size:2em;*line-height:1em;} +.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;} +a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none;} +@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);} +.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);} +.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);} +.icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);} +.icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);} +a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;} +.icon-glass:before{content:"\f000";} +.icon-music:before{content:"\f001";} +.icon-search:before{content:"\f002";} +.icon-envelope-alt:before{content:"\f003";} +.icon-heart:before{content:"\f004";} +.icon-star:before{content:"\f005";} +.icon-star-empty:before{content:"\f006";} +.icon-user:before{content:"\f007";} +.icon-film:before{content:"\f008";} +.icon-th-large:before{content:"\f009";} +.icon-th:before{content:"\f00a";} +.icon-th-list:before{content:"\f00b";} +.icon-ok:before{content:"\f00c";} +.icon-remove:before{content:"\f00d";} +.icon-zoom-in:before{content:"\f00e";} +.icon-zoom-out:before{content:"\f010";} +.icon-power-off:before,.icon-off:before{content:"\f011";} +.icon-signal:before{content:"\f012";} +.icon-gear:before,.icon-cog:before{content:"\f013";} +.icon-trash:before{content:"\f014";} +.icon-home:before{content:"\f015";} +.icon-file-alt:before{content:"\f016";} +.icon-time:before{content:"\f017";} +.icon-road:before{content:"\f018";} +.icon-download-alt:before{content:"\f019";} +.icon-download:before{content:"\f01a";} +.icon-upload:before{content:"\f01b";} +.icon-inbox:before{content:"\f01c";} +.icon-play-circle:before{content:"\f01d";} +.icon-rotate-right:before,.icon-repeat:before{content:"\f01e";} +.icon-refresh:before{content:"\f021";} +.icon-list-alt:before{content:"\f022";} +.icon-lock:before{content:"\f023";} +.icon-flag:before{content:"\f024";} +.icon-headphones:before{content:"\f025";} +.icon-volume-off:before{content:"\f026";} +.icon-volume-down:before{content:"\f027";} +.icon-volume-up:before{content:"\f028";} +.icon-qrcode:before{content:"\f029";} +.icon-barcode:before{content:"\f02a";} +.icon-tag:before{content:"\f02b";} +.icon-tags:before{content:"\f02c";} +.icon-book:before{content:"\f02d";} +.icon-bookmark:before{content:"\f02e";} +.icon-print:before{content:"\f02f";} +.icon-camera:before{content:"\f030";} +.icon-font:before{content:"\f031";} +.icon-bold:before{content:"\f032";} +.icon-italic:before{content:"\f033";} +.icon-text-height:before{content:"\f034";} +.icon-text-width:before{content:"\f035";} +.icon-align-left:before{content:"\f036";} +.icon-align-center:before{content:"\f037";} +.icon-align-right:before{content:"\f038";} +.icon-align-justify:before{content:"\f039";} +.icon-list:before{content:"\f03a";} +.icon-indent-left:before{content:"\f03b";} +.icon-indent-right:before{content:"\f03c";} +.icon-facetime-video:before{content:"\f03d";} +.icon-picture:before{content:"\f03e";} +.icon-pencil:before{content:"\f040";} +.icon-map-marker:before{content:"\f041";} +.icon-adjust:before{content:"\f042";} +.icon-tint:before{content:"\f043";} +.icon-edit:before{content:"\f044";} +.icon-share:before{content:"\f045";} +.icon-check:before{content:"\f046";} +.icon-move:before{content:"\f047";} +.icon-step-backward:before{content:"\f048";} +.icon-fast-backward:before{content:"\f049";} +.icon-backward:before{content:"\f04a";} +.icon-play:before{content:"\f04b";} +.icon-pause:before{content:"\f04c";} +.icon-stop:before{content:"\f04d";} +.icon-forward:before{content:"\f04e";} +.icon-fast-forward:before{content:"\f050";} +.icon-step-forward:before{content:"\f051";} +.icon-eject:before{content:"\f052";} +.icon-chevron-left:before{content:"\f053";} +.icon-chevron-right:before{content:"\f054";} +.icon-plus-sign:before{content:"\f055";} +.icon-minus-sign:before{content:"\f056";} +.icon-remove-sign:before{content:"\f057";} +.icon-ok-sign:before{content:"\f058";} +.icon-question-sign:before{content:"\f059";} +.icon-info-sign:before{content:"\f05a";} +.icon-screenshot:before{content:"\f05b";} +.icon-remove-circle:before{content:"\f05c";} +.icon-ok-circle:before{content:"\f05d";} +.icon-ban-circle:before{content:"\f05e";} +.icon-arrow-left:before{content:"\f060";} +.icon-arrow-right:before{content:"\f061";} +.icon-arrow-up:before{content:"\f062";} +.icon-arrow-down:before{content:"\f063";} +.icon-mail-forward:before,.icon-share-alt:before{content:"\f064";} +.icon-resize-full:before{content:"\f065";} +.icon-resize-small:before{content:"\f066";} +.icon-plus:before{content:"\f067";} +.icon-minus:before{content:"\f068";} +.icon-asterisk:before{content:"\f069";} +.icon-exclamation-sign:before{content:"\f06a";} +.icon-gift:before{content:"\f06b";} +.icon-leaf:before{content:"\f06c";} +.icon-fire:before{content:"\f06d";} +.icon-eye-open:before{content:"\f06e";} +.icon-eye-close:before{content:"\f070";} +.icon-warning-sign:before{content:"\f071";} +.icon-plane:before{content:"\f072";} +.icon-calendar:before{content:"\f073";} +.icon-random:before{content:"\f074";} +.icon-comment:before{content:"\f075";} +.icon-magnet:before{content:"\f076";} +.icon-chevron-up:before{content:"\f077";} +.icon-chevron-down:before{content:"\f078";} +.icon-retweet:before{content:"\f079";} +.icon-shopping-cart:before{content:"\f07a";} +.icon-folder-close:before{content:"\f07b";} +.icon-folder-open:before{content:"\f07c";} +.icon-resize-vertical:before{content:"\f07d";} +.icon-resize-horizontal:before{content:"\f07e";} +.icon-bar-chart:before{content:"\f080";} +.icon-twitter-sign:before{content:"\f081";} +.icon-facebook-sign:before{content:"\f082";} +.icon-camera-retro:before{content:"\f083";} +.icon-key:before{content:"\f084";} +.icon-gears:before,.icon-cogs:before{content:"\f085";} +.icon-comments:before{content:"\f086";} +.icon-thumbs-up-alt:before{content:"\f087";} +.icon-thumbs-down-alt:before{content:"\f088";} +.icon-star-half:before{content:"\f089";} +.icon-heart-empty:before{content:"\f08a";} +.icon-signout:before{content:"\f08b";} +.icon-linkedin-sign:before{content:"\f08c";} +.icon-pushpin:before{content:"\f08d";} +.icon-external-link:before{content:"\f08e";} +.icon-signin:before{content:"\f090";} +.icon-trophy:before{content:"\f091";} +.icon-github-sign:before{content:"\f092";} +.icon-upload-alt:before{content:"\f093";} +.icon-lemon:before{content:"\f094";} +.icon-phone:before{content:"\f095";} +.icon-unchecked:before,.icon-check-empty:before{content:"\f096";} +.icon-bookmark-empty:before{content:"\f097";} +.icon-phone-sign:before{content:"\f098";} +.icon-twitter:before{content:"\f099";} +.icon-facebook:before{content:"\f09a";} +.icon-github:before{content:"\f09b";} +.icon-unlock:before{content:"\f09c";} +.icon-credit-card:before{content:"\f09d";} +.icon-rss:before{content:"\f09e";} +.icon-hdd:before{content:"\f0a0";} +.icon-bullhorn:before{content:"\f0a1";} +.icon-bell:before{content:"\f0a2";} +.icon-certificate:before{content:"\f0a3";} +.icon-hand-right:before{content:"\f0a4";} +.icon-hand-left:before{content:"\f0a5";} +.icon-hand-up:before{content:"\f0a6";} +.icon-hand-down:before{content:"\f0a7";} +.icon-circle-arrow-left:before{content:"\f0a8";} +.icon-circle-arrow-right:before{content:"\f0a9";} +.icon-circle-arrow-up:before{content:"\f0aa";} +.icon-circle-arrow-down:before{content:"\f0ab";} +.icon-globe:before{content:"\f0ac";} +.icon-wrench:before{content:"\f0ad";} +.icon-tasks:before{content:"\f0ae";} +.icon-filter:before{content:"\f0b0";} +.icon-briefcase:before{content:"\f0b1";} +.icon-fullscreen:before{content:"\f0b2";} +.icon-group:before{content:"\f0c0";} +.icon-link:before{content:"\f0c1";} +.icon-cloud:before{content:"\f0c2";} +.icon-beaker:before{content:"\f0c3";} +.icon-cut:before{content:"\f0c4";} +.icon-copy:before{content:"\f0c5";} +.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";} +.icon-save:before{content:"\f0c7";} +.icon-sign-blank:before{content:"\f0c8";} +.icon-reorder:before{content:"\f0c9";} +.icon-list-ul:before{content:"\f0ca";} +.icon-list-ol:before{content:"\f0cb";} +.icon-strikethrough:before{content:"\f0cc";} +.icon-underline:before{content:"\f0cd";} +.icon-table:before{content:"\f0ce";} +.icon-magic:before{content:"\f0d0";} +.icon-truck:before{content:"\f0d1";} +.icon-pinterest:before{content:"\f0d2";} +.icon-pinterest-sign:before{content:"\f0d3";} +.icon-google-plus-sign:before{content:"\f0d4";} +.icon-google-plus:before{content:"\f0d5";} +.icon-money:before{content:"\f0d6";} +.icon-caret-down:before{content:"\f0d7";} +.icon-caret-up:before{content:"\f0d8";} +.icon-caret-left:before{content:"\f0d9";} +.icon-caret-right:before{content:"\f0da";} +.icon-columns:before{content:"\f0db";} +.icon-sort:before{content:"\f0dc";} +.icon-sort-down:before{content:"\f0dd";} +.icon-sort-up:before{content:"\f0de";} +.icon-envelope:before{content:"\f0e0";} +.icon-linkedin:before{content:"\f0e1";} +.icon-rotate-left:before,.icon-undo:before{content:"\f0e2";} +.icon-legal:before{content:"\f0e3";} +.icon-dashboard:before{content:"\f0e4";} +.icon-comment-alt:before{content:"\f0e5";} +.icon-comments-alt:before{content:"\f0e6";} +.icon-bolt:before{content:"\f0e7";} +.icon-sitemap:before{content:"\f0e8";} +.icon-umbrella:before{content:"\f0e9";} +.icon-paste:before{content:"\f0ea";} +.icon-lightbulb:before{content:"\f0eb";} +.icon-exchange:before{content:"\f0ec";} +.icon-cloud-download:before{content:"\f0ed";} +.icon-cloud-upload:before{content:"\f0ee";} +.icon-user-md:before{content:"\f0f0";} +.icon-stethoscope:before{content:"\f0f1";} +.icon-suitcase:before{content:"\f0f2";} +.icon-bell-alt:before{content:"\f0f3";} +.icon-coffee:before{content:"\f0f4";} +.icon-food:before{content:"\f0f5";} +.icon-file-text-alt:before{content:"\f0f6";} +.icon-building:before{content:"\f0f7";} +.icon-hospital:before{content:"\f0f8";} +.icon-ambulance:before{content:"\f0f9";} +.icon-medkit:before{content:"\f0fa";} +.icon-fighter-jet:before{content:"\f0fb";} +.icon-beer:before{content:"\f0fc";} +.icon-h-sign:before{content:"\f0fd";} +.icon-plus-sign-alt:before{content:"\f0fe";} +.icon-double-angle-left:before{content:"\f100";} +.icon-double-angle-right:before{content:"\f101";} +.icon-double-angle-up:before{content:"\f102";} +.icon-double-angle-down:before{content:"\f103";} +.icon-angle-left:before{content:"\f104";} +.icon-angle-right:before{content:"\f105";} +.icon-angle-up:before{content:"\f106";} +.icon-angle-down:before{content:"\f107";} +.icon-desktop:before{content:"\f108";} +.icon-laptop:before{content:"\f109";} +.icon-tablet:before{content:"\f10a";} +.icon-mobile-phone:before{content:"\f10b";} +.icon-circle-blank:before{content:"\f10c";} +.icon-quote-left:before{content:"\f10d";} +.icon-quote-right:before{content:"\f10e";} +.icon-spinner:before{content:"\f110";} +.icon-circle:before{content:"\f111";} +.icon-mail-reply:before,.icon-reply:before{content:"\f112";} +.icon-github-alt:before{content:"\f113";} +.icon-folder-close-alt:before{content:"\f114";} +.icon-folder-open-alt:before{content:"\f115";} +.icon-expand-alt:before{content:"\f116";} +.icon-collapse-alt:before{content:"\f117";} +.icon-smile:before{content:"\f118";} +.icon-frown:before{content:"\f119";} +.icon-meh:before{content:"\f11a";} +.icon-gamepad:before{content:"\f11b";} +.icon-keyboard:before{content:"\f11c";} +.icon-flag-alt:before{content:"\f11d";} +.icon-flag-checkered:before{content:"\f11e";} +.icon-terminal:before{content:"\f120";} +.icon-code:before{content:"\f121";} +.icon-reply-all:before{content:"\f122";} +.icon-mail-reply-all:before{content:"\f122";} +.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";} +.icon-location-arrow:before{content:"\f124";} +.icon-crop:before{content:"\f125";} +.icon-code-fork:before{content:"\f126";} +.icon-unlink:before{content:"\f127";} +.icon-question:before{content:"\f128";} +.icon-info:before{content:"\f129";} +.icon-exclamation:before{content:"\f12a";} +.icon-superscript:before{content:"\f12b";} +.icon-subscript:before{content:"\f12c";} +.icon-eraser:before{content:"\f12d";} +.icon-puzzle-piece:before{content:"\f12e";} +.icon-microphone:before{content:"\f130";} +.icon-microphone-off:before{content:"\f131";} +.icon-shield:before{content:"\f132";} +.icon-calendar-empty:before{content:"\f133";} +.icon-fire-extinguisher:before{content:"\f134";} +.icon-rocket:before{content:"\f135";} +.icon-maxcdn:before{content:"\f136";} +.icon-chevron-sign-left:before{content:"\f137";} +.icon-chevron-sign-right:before{content:"\f138";} +.icon-chevron-sign-up:before{content:"\f139";} +.icon-chevron-sign-down:before{content:"\f13a";} +.icon-html5:before{content:"\f13b";} +.icon-css3:before{content:"\f13c";} +.icon-anchor:before{content:"\f13d";} +.icon-unlock-alt:before{content:"\f13e";} +.icon-bullseye:before{content:"\f140";} +.icon-ellipsis-horizontal:before{content:"\f141";} +.icon-ellipsis-vertical:before{content:"\f142";} +.icon-rss-sign:before{content:"\f143";} +.icon-play-sign:before{content:"\f144";} +.icon-ticket:before{content:"\f145";} +.icon-minus-sign-alt:before{content:"\f146";} +.icon-check-minus:before{content:"\f147";} +.icon-level-up:before{content:"\f148";} +.icon-level-down:before{content:"\f149";} +.icon-check-sign:before{content:"\f14a";} +.icon-edit-sign:before{content:"\f14b";} +.icon-external-link-sign:before{content:"\f14c";} +.icon-share-sign:before{content:"\f14d";} +.icon-compass:before{content:"\f14e";} +.icon-collapse:before{content:"\f150";} +.icon-collapse-top:before{content:"\f151";} +.icon-expand:before{content:"\f152";} +.icon-euro:before,.icon-eur:before{content:"\f153";} +.icon-gbp:before{content:"\f154";} +.icon-dollar:before,.icon-usd:before{content:"\f155";} +.icon-rupee:before,.icon-inr:before{content:"\f156";} +.icon-yen:before,.icon-jpy:before{content:"\f157";} +.icon-renminbi:before,.icon-cny:before{content:"\f158";} +.icon-won:before,.icon-krw:before{content:"\f159";} +.icon-bitcoin:before,.icon-btc:before{content:"\f15a";} +.icon-file:before{content:"\f15b";} +.icon-file-text:before{content:"\f15c";} +.icon-sort-by-alphabet:before{content:"\f15d";} +.icon-sort-by-alphabet-alt:before{content:"\f15e";} +.icon-sort-by-attributes:before{content:"\f160";} +.icon-sort-by-attributes-alt:before{content:"\f161";} +.icon-sort-by-order:before{content:"\f162";} +.icon-sort-by-order-alt:before{content:"\f163";} +.icon-thumbs-up:before{content:"\f164";} +.icon-thumbs-down:before{content:"\f165";} +.icon-youtube-sign:before{content:"\f166";} +.icon-youtube:before{content:"\f167";} +.icon-xing:before{content:"\f168";} +.icon-xing-sign:before{content:"\f169";} +.icon-youtube-play:before{content:"\f16a";} +.icon-dropbox:before{content:"\f16b";} +.icon-stackexchange:before{content:"\f16c";} +.icon-instagram:before{content:"\f16d";} +.icon-flickr:before{content:"\f16e";} +.icon-adn:before{content:"\f170";} +.icon-bitbucket:before{content:"\f171";} +.icon-bitbucket-sign:before{content:"\f172";} +.icon-tumblr:before{content:"\f173";} +.icon-tumblr-sign:before{content:"\f174";} +.icon-long-arrow-down:before{content:"\f175";} +.icon-long-arrow-up:before{content:"\f176";} +.icon-long-arrow-left:before{content:"\f177";} +.icon-long-arrow-right:before{content:"\f178";} +.icon-apple:before{content:"\f179";} +.icon-windows:before{content:"\f17a";} +.icon-android:before{content:"\f17b";} +.icon-linux:before{content:"\f17c";} +.icon-dribbble:before{content:"\f17d";} +.icon-skype:before{content:"\f17e";} +.icon-foursquare:before{content:"\f180";} +.icon-trello:before{content:"\f181";} +.icon-female:before{content:"\f182";} +.icon-male:before{content:"\f183";} +.icon-gittip:before{content:"\f184";} +.icon-sun:before{content:"\f185";} +.icon-moon:before{content:"\f186";} +.icon-archive:before{content:"\f187";} +.icon-bug:before{content:"\f188";} +.icon-vk:before{content:"\f189";} +.icon-weibo:before{content:"\f18a";} +.icon-renren:before{content:"\f18b";} diff --git a/docs/css/jquery.iviewer.css b/docs/css/jquery.iviewer.css new file mode 100644 index 0000000..11f5f09 --- /dev/null +++ b/docs/css/jquery.iviewer.css @@ -0,0 +1,65 @@ +.viewer { + -ms-touch-action: none; +} + +.iviewer_common { + position:absolute; + bottom:10px; + border: 1px solid #000; + height: 28px; + z-index: 5000; +} + +.iviewer_cursor { + cursor: url(../images/iviewer/hand.cur) 6 8, pointer; +} + +.iviewer_drag_cursor { + cursor: url(../images/iviewer/grab.cur) 6 8, pointer; +} + +.iviewer_button { + width: 28px; + cursor: pointer; + background-position: center center; + background-repeat: no-repeat; +} + +.iviewer_zoom_in { + left: 20px; + background: url(../images/iviewer/iviewer.zoom_in.png); +} + +.iviewer_zoom_out { + left: 55px; + background: url(../images/iviewer/iviewer.zoom_out.png); +} + +.iviewer_zoom_zero { + left: 90px; + background: url(../images/iviewer/iviewer.zoom_zero.png); +} + +.iviewer_zoom_fit { + left: 125px; + background: url(../images/iviewer/iviewer.zoom_fit.png); +} + +.iviewer_zoom_status { + left: 160px; + font: 1em/28px Sans; + color: #000; + background-color: #fff; + text-align: center; + width: 60px; +} + +.iviewer_rotate_left { + left: 227px; + background: #fff url(../images/iviewer/iviewer.rotate_left.png) center center no-repeat; +} + +.iviewer_rotate_right { + left: 262px; + background: #fff url(../images/iviewer/iviewer.rotate_right.png) center center no-repeat; +} diff --git a/docs/css/phpdocumentor-clean-icons/Read Me.txt b/docs/css/phpdocumentor-clean-icons/Read Me.txt new file mode 100644 index 0000000..9d2b9e5 --- /dev/null +++ b/docs/css/phpdocumentor-clean-icons/Read Me.txt @@ -0,0 +1,3 @@ +To modify your generated font, use the *dev.svg* file, located in the *fonts* folder in this package. You can import this dev.svg file to the IcoMoon app. All the tags (class names) and the Unicode points of your glyphs are saved in this file. + +See the documentation for more info on how to use this package: http://icomoon.io/#docs/font-face \ No newline at end of file diff --git a/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg b/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg new file mode 100644 index 0000000..8b543c1 --- /dev/null +++ b/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg @@ -0,0 +1,17 @@ + + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot b/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot new file mode 100644 index 0000000000000000000000000000000000000000..ef43f265ab2f344b7871c6d26a8722bae125b956 GIT binary patch literal 2324 zcmds3O>7%Q6#iy^oj7)E$FUn4$P!bB5}bP1`D;m0g&ens6e0)_5(i`)Cr%ar;5br2 z9CARMD%1m_w;nif;KTtT=!tTo5`s%_RLBQJ;1Vi9g@i=RH@n+3EeX(y6SJOu?|tvh zym>Qk=Q-X5SOGvlfouwN)n$lW6q1{p_hdwTN)0w8KbOC>eH*(&9W+p3UqT%vY@muV zYG_evB12@2a*;>|tCZ^G);T!wH=0F`XwqucwYFem3|WqOFi#vP;|ehb74wC{!r98p zi5VcE5gk08pDkb<24H?q*?R7UW6rTFH-fTM8{^x) zl%IR0cjgv?-no7q{_GR#;n7Z8foM|<_{Yxa`D=ID7?bup5|+EPx9Kio;zh`vlBptX zq}3^Q*#u|32ps`2CzdIn_USDQ;H|y6C5?B}iTwQX>=I73anoM|*Jf?*u0T3++lL;Z zoOB;<5)s)4-E}Y}DajQLa*Z-Y0=FYuP&Vv}AZXK4}7R)TE8*mWoa@#1qe{_EcT z*sJ^h@nM|7CVrQ@>1PY~Bq|iMjr2(P*qY7>n71(Qr5(R(rdnv3M-f8|>-P z_3rLSByl(r?FwmKfnYEkiX0Hj&Zm8`zKQ(dhe%Y#FqNZ*ZWu~n7W}o zu4<~Px{1%Id+?tBMG1bp<36t-h-IHwF@f)VUc-Pm10I{SELD&u5r4!i#q;J}$#-S#iEi{<9}YQ1LJW4u!TTaSOeW#u=wx0w|9=R_z% z6`Ih^joNA + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf b/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1937c7a31fdb7659063738dfe0a1fcc8bf325636 GIT binary patch literal 2080 zcmds2O>7%Q6#iy^oj7*<7rUW`EHQN`!LD~5J84N#g&ens6e0)_5(i`)Cw3M8;5br2 z9CARMD#QW7tp^SqIB`G-dZL`Dgy7N}74iWQxRgpzAt4d-jlF5p(g2k>F{?N4eczjz z_ulO64g>%nwxMFFSX@3^eK9%@cr>!{(}jg1W?%s3_r%sS&mD7)UAi^_h!==g%JovK z8~x=f@t2fm*GrqNUXLrmyhgugedE=&t)22kKz*G4U#peU>L2qTAEi(F^HmaBp!WlP z5#mRx_0Dd`JjMBO;y}H0zJ;@3Y%xb{HA?kL-hSr`K(_$pT&ua+ z$$jwpD~x}E{w2uTDA(UBEWR{4e-mDX1n{;0vrlg8URQzW5_>Rk_veUiuZy%Kb|o!W z+TZj(W8!(ponml`=yRteWD{KVZRqfbMX^SF+SNBPjyL24o%^)c0(%Da(%Ql*PIYmE zS;-ujo3(u_gS`~-;b01Jtp9M6$ViFz^8gl!WZrS+n4$LURoGQ-fbWS-Mv<1K1qNd! z$tH|j0c9bB`uZNXyL&(O`~H8nA7`+Q-{o$)r-geG6b~yr9HP71FIYpY_nY`hT)`+N zV1cJRJZU^ABGD&=lRqhDk_j{GL`fLaVlqi0AG602V~JcMm%U&Y3igk(yZZUm+}xDx zeqPQle=DxIJe`jXcmTB^2s{%#|(0O68FmP;)ERxhK9YNkR1>D z{Sm)9Ivfl|LV;25$cU~F4+jF#!-3$CPaE=hy?$TdfLeAx4Tr+H!r=#~RK+lrqlRu6 zhHvD^_*gjP^Lb3&&>mGaRaN^3pH+|GUH6L;{B~ztTY(pAuB{@6?_68MxH#k5I=tdF z*EYysl3%1YM8@H|16x59PrJ5?b7;G^28Vye!5AG;@v>_h8-H&XAvAO8gP7(vwl literal 0 HcmV?d00001 diff --git a/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff b/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..32fe30d4d42925d3011635b139e0079025c8862c GIT binary patch literal 1832 zcmZWqc{JPE9={}wwG~TEERWPuYc+{d2B|fq(o!IP5XdJ0fPaC!l_97Gcq&>t+B*=SbL1|E zfCe}KcX2JK^*ZNdt5;Xl|h3j8seJ(hz6Nr z^PYxV340V~7 zYl*hLsyt{o=Aq4QZ8|2|C3Yhy1GZgXhyAU??%JsgL6|K}ZpBWS+&c1FHhIeqwUoT(KKUIC4uI@oR zwRpPunVy;7ZAbGw7lQysa8x9XNR&|9ADOK!@STe{XuEvP-tFp;-r@~B`l{>wT-zdD zDs$sV2e%}BK0H60=v?eOcQs*{#qQ6WEPc7zdz!H=+Wu^q(MO*;E2M8CA__7*qHv`w z@(Z$iQ?5C)B0n&2?qAi%I_CROR%*&&__REW+mhQlC*FsxcfFJ+IVUXo=ou{d;jLn*}{c{w<7x9di{Ez-xyKTN8x-sNiy+=O3zR6;z*@-DMQdz-GGRRKXEw1|#% z>_Do^AwTzw!eSFg__;oQO-fQMVdxzbzu6NJt8Lo@tsHCyK?m3}LT_;l_aNXQni%Wj` z42G$=<>%;L)0Y7%{Py^e`r|K;1f7LTS$Qi;`WmHg@+t&6nCf<;K|^UDv7Gl8l!oKC z*6KNP4xU)trwgyfuw{7F)W?f$w`fcrOmr_NU71Y16mxv6d9?m%3rRYgULBLh@wFZ7 zCM4kvoAQaT2~@}pT&(7H8`dUSNk43Ato-cH&!cn|J(r%vxbO& ztJv#2euVwd^XlEmMigIZp{MiRtIJGfyQ96>+;FYCU$gAq9sZ=#B{^!$x6}CXpsJcN zb1H?;*B7wpBkcD4RdG(5wYp>n@k~5*?1OG|Op5NZRg#9{^PqWTgDUs8^shnpU9#!H z2`9qe$^_!awE{P^tLwI8b==22A2NHp!pts9!o%?vf7s2|&Me{G!np@TiIpox>Fq)M z6vA`!B1!(+jb#lEUqZrTnA;V4YhC81H{WEuGcFn1JyUxim=m1Vwy>1eOFFe&jx%=X zooho6QfRsE(-ForBd65sdA+1UbyR7xmT*lbT5kJeY_TteLh%F1#;qAIQiPFl77sW9 zz}Z4fZg&p&Qv4{CX_$`$0!i_qz-<*Vh-DOj$AF`|XZ}8vVmA9Zn{_f@fQ zPPi5f27_(H8MBi>at|^`aQo@>QsN8@_BLfl2K5D{j?p~=c|6^(3l3-kq^-32_dFDe zekF&5o<=F4fh-rA=DUQD1N@yf-ENhdTYcR zp`rEPI)P7$1N~$7XI>m_+TRBx?e=m&xFb`5LaBo`RcT5faGaOQ`k#N?(vC=qnmi2F zc?^M;P_Pl{1B~~uZ_s3fV(uEW|L}bQS7_w!-fPIghKOR34lJroy3@5BVVualk(0<| zSQ%Mwu4k4_pxom1+TN7VCV3ev?l6na>KWPXI?*IS* literal 0 HcmV?d00001 diff --git a/docs/css/phpdocumentor-clean-icons/lte-ie7.js b/docs/css/phpdocumentor-clean-icons/lte-ie7.js new file mode 100644 index 0000000..881c16e --- /dev/null +++ b/docs/css/phpdocumentor-clean-icons/lte-ie7.js @@ -0,0 +1,30 @@ +/* Load this script using conditional IE comments if you need to support IE 7 and IE 6. */ + +window.onload = function() { + function addIcon(el, entity) { + var html = el.innerHTML; + el.innerHTML = '' + entity + '' + html; + } + var icons = { + 'icon-trait' : '', + 'icon-interface' : '', + 'icon-class' : '' + }, + els = document.getElementsByTagName('*'), + i, attr, html, c, el; + for (i = 0; ; i += 1) { + el = els[i]; + if(!el) { + break; + } + attr = el.getAttribute('data-icon'); + if (attr) { + addIcon(el, attr); + } + c = el.className; + c = c.match(/icon-[^\s'"]+/); + if (c && icons[c[0]]) { + addIcon(el, icons[c[0]]); + } + } +}; \ No newline at end of file diff --git a/docs/css/phpdocumentor-clean-icons/style.css b/docs/css/phpdocumentor-clean-icons/style.css new file mode 100644 index 0000000..f069ec1 --- /dev/null +++ b/docs/css/phpdocumentor-clean-icons/style.css @@ -0,0 +1,48 @@ +@font-face { + font-family: 'phpdocumentor-clean-icons'; + src:url('fonts/phpdocumentor-clean-icons.eot'); + src:url('fonts/phpdocumentor-clean-icons.eot?#iefix') format('embedded-opentype'), + url('fonts/phpdocumentor-clean-icons.woff') format('woff'), + url('fonts/phpdocumentor-clean-icons.ttf') format('truetype'), + url('fonts/phpdocumentor-clean-icons.svg#phpdocumentor-clean-icons') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* Use the following CSS code if you want to use data attributes for inserting your icons */ +[data-icon]:before { + font-family: 'phpdocumentor-clean-icons'; + content: attr(data-icon); + speak: none; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; +} + +/* Use the following CSS code if you want to have a class per icon */ +/* +Instead of a list of all class selectors, +you can use the generic selector below, but it's slower: +[class*="icon-"] { +*/ +.icon-trait, .icon-interface, .icon-class { + font-family: 'phpdocumentor-clean-icons'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; +} +.icon-trait:before { + content: "\e000"; +} +.icon-interface:before { + content: "\e001"; +} +.icon-class:before { + content: "\e002"; +} diff --git a/docs/css/prism.css b/docs/css/prism.css new file mode 100644 index 0000000..17876af --- /dev/null +++ b/docs/css/prism.css @@ -0,0 +1,204 @@ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #a67f59; + background: hsla(0,0%,100%,.5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + + +.token.regex, +.token.important { + color: #e90; +} + +.token.important { + font-weight: bold; +} + +.token.entity { + cursor: help; +} +pre[data-line] { + position: relative; + padding: 1em 0 1em 3em; +} + +.line-highlight { + position: absolute; + left: 0; + right: 0; + padding: inherit 0; + margin-top: 1em; /* Same as .prism’s padding-top */ + + background: hsla(24, 20%, 50%,.08); + background: -moz-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + background: -webkit-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + background: -o-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + background: linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + + pointer-events: none; + + line-height: inherit; + white-space: pre; +} + + .line-highlight:before, + .line-highlight[data-end]:after { + content: attr(data-start); + position: absolute; + top: .4em; + left: .6em; + min-width: 1em; + padding: 0 .5em; + background-color: hsla(24, 20%, 50%,.4); + color: hsl(24, 20%, 95%); + font: bold 65%/1.5 sans-serif; + text-align: center; + vertical-align: .3em; + border-radius: 999px; + text-shadow: none; + box-shadow: 0 1px white; + } + + .line-highlight[data-end]:after { + content: attr(data-end); + top: auto; + bottom: .4em; + } +pre.line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} + +pre.line-numbers > code { + position: relative; +} + +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + +} + + .line-numbers-rows > span { + pointer-events: none; + display: block; + counter-increment: linenumber; + } + + .line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; + } diff --git a/docs/css/source.css b/docs/css/source.css deleted file mode 100644 index 3628eab..0000000 --- a/docs/css/source.css +++ /dev/null @@ -1,184 +0,0 @@ -table.source { - border:0; - padding:0; - margin:0; - border-collapse: collapse; -} - -table.source td { - border:1px solid #ccc; - vertical-align: top; - font-size: 1em; - line-height: 1.4em; - font-family: monospace; -} - -table.source td.no a { - display:block; - color: #ccc; - text-align: right; - padding: 0 8px; - text-decoration: none; -} - -table.source pre { - padding:0; - margin:0; -} - -table.source pre span { - display:inline; -} - -table.source td.line div { - padding:80px 0 0 0; - margin:-80px 0 0 0; - cursor: text; -} - -table.source td.line pre:hover { - background-color: #eee; -} - -table.source td.line div:target pre { - background-color: #ffffc8; -} - -.token { - color: #0000BB; -} - -.T_COMMENT, .T_DOC_COMMENT { - color: #FF8000; -} - -.T_ABSTRACT, -.T_ARRAY, -.T_AS, -.T_BREAK, -.T_CALLABLE, -.T_CASE, -.T_CATCH, -.T_CLASS, -.T_CLONE, -.T_CONTINUE, -.T_DEFAULT, -.T_ECHO, -.T_ELSE, -.T_ELSEIF, -.T_EMPTY, -.T_ENDDECLARE, -.T_ENDFOR, -.T_ENDFOREACH, -.T_ENDIF, -.T_ENDSWITCH, -.T_ENDWHILE, -.T_EXIT, -.T_EXTENDS, -.T_FINAL, -.T_FINALLY, -.T_FOREACH, -.T_FUNCTION, -.T_GLOBAL, -.T_IF, -.T_IMPLEMENTS, -.T_INCLUDE, -.T_INCLUDE_ONCE, -.T_INSTANCEOF, -.T_INSTEADOF, -.T_INTERFACE, -.T_ISSET, -.T_LOGICAL_AND, -.T_LOGICAL_OR, -.T_LOGICAL_XOR, -.T_NAMESPACE, -.T_NEW, -.T_PRIVATE, -.T_PROTECTED, -.T_PUBLIC, -.T_REQUIRE, -.T_REQUIRE_ONCE, -.T_RETURN, -.T_STATIC, -.T_THROW, -.T_TRAIT, -.T_TRY, -.T_UNSET, -.T_USE, -.T_VAR, -.T_WHILE, -.T_YIELD, -.T_PHPDOX_OPEN_BRACKET, -.T_PHPDOX_CLOSE_BRACKET, -.T_PHPDOX_OPEN_SQUARE, -.T_PHPDOX_CLOSE_SQUARE, -.T_PHPDOX_OPEN_CURLY, -.T_PHPDOX_CLOSE_CURLY, -.T_PHPDOX_SEMICOLON, -.T_PHPDOX_DOT, -.T_PHPDOX_COMMA, -.T_PHPDOX_EQUAL, -.T_PHPDOX_LT, -.T_PHPDOX_GT, -.T_PHPDOX_PLUS, -.T_PHPDOX_MINUS, -.T_PHPDOX_MULT, -.T_PHPDOX_DIV, -.T_PHPDOX_QUESTION_MARK, -.T_PHPDOX_EXCLAMATION_MARK, -.T_PHPDOX_COLON, -.T_PHPDOX_DOUBLE_QUOTES, -.T_PHPDOX_AT, -.T_PHPDOX_AMPERSAND, -.T_PHPDOX_PERCENT, -.T_PHPDOX_PIPE, -.T_PHPDOX_DOLLAR, -.T_PHPDOX_CARET, -.T_PHPDOX_TILDE, -.T_PHPDOX_BACKTICK { - color: #007700; -} - -.T_CONSTANT_ENCAPSED_STRING, .T_ENCAPSED_AND_WHITESPACE { - color: #DD0000; -} - -.covered { - background-color: rgba(5, 238, 25, 0.13); -} - -a.covered:hover + div { - left:90px; -} - -.coverage_details { - position: absolute; - left:-10000px; - margin:-1.4em 0 0 0; - background-color: #eee; - box-shadow: 5px 5px 10px #888; - z-index: 1; - padding:1em; -} - -.coverage_details span { - font-weight: bold; -} - -.coverage_details ul { - margin:0; - padding:1em; -} - -.coverage_details:before { - position: absolute; - content:""; - width: 12px; - height: 12px; - top: 3px; - left: -6px; - border:0; - background-color: #eee; - transform: rotate(45deg); - z-index: -1; -} diff --git a/docs/css/style.css b/docs/css/style.css deleted file mode 100644 index 6017032..0000000 --- a/docs/css/style.css +++ /dev/null @@ -1,435 +0,0 @@ -@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro); - -html { - background-color: #888888; -} - -body { - background-color: #ffffff; - font-family: 'Source Sans Pro', sans-serif; - font-size: 1em; - line-height: 1.5; - padding-left: 0; - padding-right: 0; - padding-bottom: 0; - margin: 0; -} - -a { - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -h1 { - font-size: 2em; - padding:3px; - margin:0; -} - -h2 { - font-size: 1em; - padding:3px; - margin:0; -} - -h3 { - font-size: 0.9em; - padding:3px; - margin:0; -} - -.topnav { - position: fixed; - display:block; - right: 0; - left: 0; - top:0; - z-index: 1337; - margin-bottom: 0; - border-bottom: 0.25em solid rgba(255,147,30,0.8); - background-color: rgba(238,238,238,0.8); - padding:0.25em; -} - -.logo { - font-style: italic; - margin-right:1.5em; -} - -.logo span { - position: relative; - top:-5px; - left:10px; - color: rgba(255,147,30,1); -} - -.topnav ul { - margin: 0; - padding: 0; - list-style-type: none; - width: auto; - position: relative; - display: block; - float:left; -} -.topnav li { - display: block; - float: left; - margin: 0; - padding: 0.5em; -} - -.topnav li.separator { - margin-left:1.5em; - margin-right:1.5em; -} - -.topnav li a { - display: block; - float: left; - color: #000000; - font-weight: bold; -} - -.topnav li a:hover { - color: #555555; -} - -#mainstage { - padding: 3em 0 0 1em; - clear: both; -} - -#index { - padding: 3em 0 0 1em; - background-color: #888888; - color: #fff; - margin:0; - min-height: 14em; -} - -#index h1 { - text-shadow: 0px -1px 0 #555555; -} - -#index p { - font-size: 0.9em; -} - -#index div { - float:left; -} - -#projectinfo { - padding-top:1em; - width:47em; -} - -#buildinfo { - float:right; - padding:1em; - min-height: 10em; - background-color: #aaaaaa; -} - -#buildinfo h3 { - font-size: 1em; - margin:0; -} - -#buildinfo p { - font-size: 0.7em; - padding:0 0 1em 0; - margin:0; - max-width: 19em; -} - -.column { - float: left; -} - -.indent { - text-indent: 1em; -} - -.indent2 { - text-indent: 2em; -} - -.nummeric { - text-align: right; -} - -.nummeric a { - display: block; - background-color: #CCD; - padding: 0 0.5em; -} - -.nummeric a:hover, .nummeric a:focus, .nummeric a:active { - background-color: #DDE; - outline: dotted 2px #AAB; -} - -.nummeric a:hover { - outline-style: solid; -} - -.nummeric a:active { - outline: solid 2px #667; -} - -.percent { - text-align: right; - width:5em; -} - -.wrapped { - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -.unavailable { - border:1px dotted rgba(128, 36, 32, 0.10); - background-color: rgba(230, 10, 10, 0.05); - color: rgba(128, 36, 32, 0.20); - margin:0 1em 1em 0; - padding: 2px; -} - -.unavailable p { - margin: 0.2em; - padding: 0; -} - -.container { - margin:0 2em 1em 0; -} - -.box { - padding:1em; - margin:1em 1em 2em 0em; - border: 1px solid #cccccc; - font-size: 1em; - color: #888888; - background-color: #eeeeee; -} - -.styled { - font-size: 1em; - background-color: #efefef; - border-top: 2px solid rgba(255,147,30,1); - margin:0; - padding: 1em 2em; -} - -ul.none { - list-style-type: none; -} - -ul.styled { - list-style-type: disc; -} - -ul.members li { - margin-bottom: 0.5em; -} - -.styled h4 { - padding:0; - margin:0; - border-bottom: 1px solid #cccccc; -} - -.synopsis { - padding:1em; - background-color: #efefef; - border-top: 2px solid rgba(255,147,30,1); - font-family: "Courier New", Courier, mono; - width:50em; -} - -table.overview { - width:30em; -} - -table.styled { - font-size: 1em; - border-collapse: collapse; - border-spacing: 0; - background-color: #efefef; - border-top: 2px solid rgba(255,147,30,1); - border-bottom: 1px solid rgba(255,147,30,1); - margin-bottom: 1em; -} - -table.styled thead { - font-weight: normal; - font-size: 0.9em; -} - -table.styled thead tr { - border-bottom: 1px solid #aaaaaa; -} - -table.styled th { - text-align: left; - padding:5px; - color:#888; -} - -table.styled tr { - border-bottom: 1px solid #dddddd; -} - -table.styled td { - padding:5px; - font-size: 0.9em; -} - -td.line { - min-width: 4em; -} - -dl.styled { - font-size: 0.9em; -} - -ul.history { - list-style-type: none; -} - -ul.history li div { - padding: 5px; - margin: 0; - border-top: 1px solid #777777; - border-bottom: 1px solid #777777; - background-color: #ffffff; - font-family: monospace; -} - -ul.history li p { - padding: 0; - margin: 0; - font-size: 0.9em; -} - -.breadcrumb { - margin:0; - padding:0; - font-size: 0.9em; -} - -ul.breadcrumb li { - display: inline-block; -} - -ul.breadcrumb li.separator:before { - content: '»'; - padding-left:0.5em; - padding-right:0.5em; -} - -nav.box { - font-size: 1.2em; - padding: 1em; - margin: 0 1em 1em 0; - min-width:10em; - float:right; -} - -nav.box ul { - list-style: none outside none; - margin: 0px; - padding: 0px; -} - -nav.box ul li { - border-bottom: 1px solid #dddddd; - font-size: 0.8em; - margin-bottom: 0.2em; -} - -.styled { - width:50em; -} - -#mainstage section { - float: left; - margin: 0 0 2em 1em; - padding: 0; - font-size: 1em; - max-width: 50em; -} - -#mainstage section h1 { - margin: 0; - padding: 0; -} - -#mainstage section h2 { - margin: 0; - padding: 2em 0 0 0; -} - -section table { - width:100%; -} - -footer { - display:block; - clear: both; - overflow: auto; - border-top: 0.25em solid rgba(255,147,30,1); - background-color: #888888; - margin:0; -} - -footer span { - color:#ffffff; - padding: 0 0.75em; - font-size: 0.8em; -} - -/* enrichment */ -.testresult-PASSED { - color:darkgreen; -} - -.testresult-EMPTY { - color: rgba(0, 100, 0, 0.20); -} - -.testresult-FAILED { - color:darkred; -} - -.testresult-SKIPPED { - color: #afafaf; -} - -.path { - margin:0; - padding:0; - font-size: 0.9em; -} - -ul.path li { - display: inline-block; -} - -ul.path li.separator:before { - content: '/'; - /*padding-left:0.5em; - padding-right:0.5em;*/ -} - -.directory tr td:first-of-type { - padding-left:1em; -} diff --git a/docs/css/template.css b/docs/css/template.css new file mode 100644 index 0000000..9edf5ee --- /dev/null +++ b/docs/css/template.css @@ -0,0 +1,429 @@ +@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro); +@import url('phpdocumentor-clean-icons/style.css'); + +body { + padding-top: 40px; + background-color: #333333; +} + +a { + color: #6495ed; +} +a.anchor { + height: 40px; + margin-top: -40px; + display: block; +} + +h1, h2, h3, h4, h5, h6, .brand { + font-family: 'Source Sans Pro', sans-serif; + font-weight: normal; + letter-spacing: 0.05em; +} + +h2, h3, .detailsbar h1 { + overflow: hidden; + white-space: nowrap; + margin: 30px 0 20px 0; +} + +h2:after, h3:after, .detailsbar h1:after { + content: ''; + display: inline-block; + vertical-align: middle; + width: 100%; + height: 2px; + margin-left: 1em; + background: silver; +} + +h3 { + margin: 10px 0 20px 0; +} + +h4 { + margin: 20px 0 10px 0; + color: gray; + font-size: 18.5px; +} + +h3.public, h3.protected, h3.private { + padding-left: 10px; + text-overflow: ellipsis; +} + +.table tr:first-of-type th, .table tr:first-of-type td { + border-top: none; +} +.detailsbar { + color: #eeeeee; + background-color: #333333; + font-size: 0.9em; + overflow: hidden; + border-left: 2px solid gray; +} + +.detailsbar h1 { + font-size: 1.5em; + margin-bottom: 20px; + margin-top: 0; +} + +.detailsbar h2 { + font-size: 1.2em; + margin: 0; + padding: 0; +} + +.detailsbar h1:after { + background: gray; +} +.detailsbar h2:after, .detailsbar h3:after { + background: transparent; +} + +.detailsbar dt { + font-variant: small-caps; + text-transform: lowercase; + font-size: 1.1em; + letter-spacing: 0.1em; + color: silver; +} + +.hierarchy div:nth-of-type(2) { margin-left: 11px; } +.hierarchy div:nth-of-type(3) { margin-left: 22px; } +.hierarchy div:nth-of-type(4) { margin-left: 33px; } +.hierarchy div:nth-of-type(5) { margin-left: 44px; } +.hierarchy div:nth-of-type(6) { margin-left: 55px; } +.hierarchy div:nth-of-type(7) { margin-left: 66px; } +.hierarchy div:nth-of-type(8) { margin-left: 77px; } +.hierarchy div:nth-of-type(9) { margin-left: 88px; } +.hierarchy div:before { + content: "\f0da"; + font-family: FontAwesome; + margin-right: 5px; +} + +.row-fluid { + background-color: white; + overflow: hidden; +} + +footer.row-fluid, footer.row-fluid * { + background-color: #333333; + color: white; +} + +footer.row-fluid { + border-top: 2px dashed #555; + margin-top: 2px; +} + +.footer-sections .span4 { + border: 2px solid #555; + text-align: center; + border-radius: 10px; + margin-top: 70px; + margin-bottom: 20px; + background: #373737; +} + +.footer-sections .span4 h1 { + background: transparent; + margin-top: -30px; + margin-bottom: 20px; + font-size: 5em; +} + +.footer-sections .span4 h1 * { + background: transparent; +} + +.footer-sections .span4 div { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + padding: 10px; + min-height: 40px; +} +.footer-sections .span4 div, .footer-sections .span4 div * { + background-color: #555; +} +.footer-sections .span4 ul { + text-align: left; + list-style: none; + margin: 0; + padding: 0; +} + +.content { + background-color: white; + padding-right: 20px; +} + +.content nav { + text-align: center; + border-bottom: 1px solid silver; + margin: 5px 0 20px 0; + padding-bottom: 5px; +} + +.content > h1 { + padding-bottom: 15px; +} + +.content > h1 small { + display: block; + padding-bottom: 8px; + font-size: 0.6em; +} + +.deprecated { + text-decoration: line-through; +} + +.method { + margin-bottom: 20px; +} + +.method .signature .argument { + color: maroon; + font-weight: bold; +} + +.class #summary section.row-fluid { + overflow: hidden +} + +.class #summary .heading { + font-weight: bold; + text-align: center; +} + +.class #summary section .span4 { + padding: 3px; + overflow: hidden; + margin-bottom: -9999px; + padding-bottom: 9999px; + white-space: nowrap; + text-overflow: ellipsis; + border-left: 5px solid transparent; +} + +.class #summary section.public .span4:first-of-type:before, +.class #summary section.public .span6:first-of-type:before, +h3.public:before { + font-family: FontAwesome; + content: "\f046"; + color: green; + display: inline-block; + width: 1.2em; +} + +.class #summary section .span4:first-of-type, +.class #summary section .span6:first-of-type { + padding-left: 21px; +} +.class #summary section .span4:first-of-type:before, +.class #summary section .span6:first-of-type:before { + margin-left: -21px; +} +.class #summary section.protected .span4:first-of-type:before, +.class #summary section.protected .span6:first-of-type:before, +h3.protected:before { + font-family: FontAwesome; + content: "\f132"; + color: orange; + display: inline-block; + width: 1.2em; +} + +.class #summary section.private .span4:first-of-type:before, +.class #summary section.private .span6:first-of-type:before, +h3.private:before { + font-family: FontAwesome; + content: "\f023"; + color: red; + display: inline-block; + width: 1.2em; +} + +.class #summary section em { + font-size: 0.9em; + color: silver; +} +.class #summary .inherited { + color: gray; + font-style: italic; +} + +.accordion-group { + border: none; +} + +.accordion { + margin-bottom: 0; +} + +.accordion a:hover { + text-decoration: none; + background: #333333; + color: #eeeeee; +} + +.accordion-heading .accordion-toggle:before { + content: "\f078"; + font-family: FontAwesome; + margin-right: 5px; +} + +.accordion-heading .accordion-toggle.collapsed:before { + content: "\f054"; +} +.accordion-heading .accordion-toggle { + float: left; + width: 16px; + height: 16px; + padding: 4px 2px 4px 12px; +} +.accordion-heading a { + display: block; + padding: 4px 12px; +} + +.accordion-inner a { + display: block; + padding: 4px 12px; +} + +.accordion-inner > ul a:before { + font-family: 'phpdocumentor-clean-icons'; + content: "\e001"; + margin-right: 5px; +} + +.accordion-inner li.class a:before { + content: "\e002"; +} + +.accordion-inner li.interface a:before { + content: "\e001"; +} + +.accordion-inner li.trait a:before { + content: "\e000"; +} + +.accordion-inner { + padding: 4px 0 4px 12px; +} +.accordion-inner ul { + list-style: none; + padding: 0; + margin: 0; +} + +.row-fluid .span2 { + width: 16.5%; +} + +body .modal { + width: 90%; /* desired relative width */ + left: 5%; /* (100%-width)/2 */ + /* place center */ + margin-left:auto; + margin-right:auto; +} + +.side-nav.nav-list li a { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +@media (min-width: 767px) { + .sidebar { + position: fixed; + top: 40px; + bottom: 0; + background-color: #f3f3f3; + left: 0; + border-right: 1px solid #e9e9e9; + overflow-y: scroll; + overflow-x: hidden; + padding-top: 10px; + } + + .sidebar::-webkit-scrollbar { + width: 10px; + } + + .sidebar::-webkit-scrollbar-thumb { + background: #cccccc; + background-clip: padding-box; + border: 3px solid #f3f3f3; + border-radius: 5px; + } + + .sidebar::-webkit-scrollbar-button { + display: none; + } + + .sidebar::-webkit-scrollbar-track { + background: #f3f3f3; + } +} + +@media (max-width: 979px) { + body { + padding-top: 0; + } +} + +@media (max-width: 767px) { + .class #summary .heading { + display: none; + } + + .detailsbar h1 { + display: none; + } + + body { + background-color: white; + } + + footer.row-fluid, footer.row-fluid * { + background-color: white; + } + + .footer-sections .span4 h1 { + color: #ccccd9; + margin-top: 0; + } + + .detailsbar { + background-color: white; + color: #333; + border: none; + } + + .row-fluid .span2 { + width: 100%; + } +} + +@media (min-width: 767px) { + .detailsbar { + min-height: 100%; + margin-bottom: -99999px; + padding-bottom: 99999px; + padding-left: 20px; + padding-top: 10px; + } +} + +@media (min-width: 1200px) { + .row-fluid .span2 { + width: 16.5%; + } +} diff --git a/docs/files/Query.AbstractQueryBuilder.html b/docs/files/Query.AbstractQueryBuilder.html new file mode 100644 index 0000000..acdc038 --- /dev/null +++ b/docs/files/Query.AbstractQueryBuilder.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

QueryAbstractQueryBuilder.php

+

+ + + + +

Classes

+ + + + + +
AbstractQueryBuilderAbstract Class for internal implementation methods of the Query Builder
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.BadDBDriverException.html b/docs/files/Query.BadDBDriverException.html new file mode 100644 index 0000000..138458c --- /dev/null +++ b/docs/files/Query.BadDBDriverException.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

QueryBadDBDriverException.php

+

+ + + + +

Classes

+ + + + + +
BadDBDriverExceptionGeneric exception for bad drivers
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.ConnectionManager.html b/docs/files/Query.ConnectionManager.html new file mode 100644 index 0000000..523d203 --- /dev/null +++ b/docs/files/Query.ConnectionManager.html @@ -0,0 +1,392 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

QueryConnectionManager.php

+

+ + + + +

Classes

+ + + + + +
ConnectionManagerConnection manager class to manage connections for the +Query method
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.DriverFactory.html b/docs/files/Query.DriverFactory.html new file mode 100644 index 0000000..f81e180 --- /dev/null +++ b/docs/files/Query.DriverFactory.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

QueryDriverFactory.php

+

+ + + + +

Classes

+ + + + + +
DriverFactory
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.AbstractDriver.html b/docs/files/Query.Drivers.AbstractDriver.html new file mode 100644 index 0000000..ae64394 --- /dev/null +++ b/docs/files/Query.Drivers.AbstractDriver.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/DriversAbstractDriver.php

+

+ + + + +

Classes

+ + + + + +
AbstractDriverBase Database class
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.AbstractSQL.html b/docs/files/Query.Drivers.AbstractSQL.html new file mode 100644 index 0000000..80e6112 --- /dev/null +++ b/docs/files/Query.Drivers.AbstractSQL.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/DriversAbstractSQL.php

+

+ + + + +

Classes

+ + + + + +
AbstractSQLparent for database manipulation subclasses
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.AbstractUtil.html b/docs/files/Query.Drivers.AbstractUtil.html new file mode 100644 index 0000000..9951cb0 --- /dev/null +++ b/docs/files/Query.Drivers.AbstractUtil.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/DriversAbstractUtil.php

+

+ + + + +

Classes

+ + + + + +
AbstractUtilAbstract class defining database / table creation methods
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.DriverInterface.html b/docs/files/Query.Drivers.DriverInterface.html new file mode 100644 index 0000000..649ced3 --- /dev/null +++ b/docs/files/Query.Drivers.DriverInterface.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/DriversDriverInterface.php

+

+ + + +

Interfaces

+ + + + + +
DriverInterfacePDO Interface to implement for database drivers
+ +
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Firebird.Driver.html b/docs/files/Query.Drivers.Firebird.Driver.html new file mode 100644 index 0000000..6d7639d --- /dev/null +++ b/docs/files/Query.Drivers.Firebird.Driver.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/FirebirdDriver.php

+

+ + + + +

Classes

+ + + + + +
DriverFirebird Database class
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Firebird.Result.html b/docs/files/Query.Drivers.Firebird.Result.html new file mode 100644 index 0000000..f60dc68 --- /dev/null +++ b/docs/files/Query.Drivers.Firebird.Result.html @@ -0,0 +1,392 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/FirebirdResult.php

+

+ + + + +

Classes

+ + + + + +
ResultFirebird result class to emulate PDOStatement Class - only implements +data-fetching methods
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Firebird.SQL.html b/docs/files/Query.Drivers.Firebird.SQL.html new file mode 100644 index 0000000..7693eee --- /dev/null +++ b/docs/files/Query.Drivers.Firebird.SQL.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/FirebirdSQL.php

+

+ + + + +

Classes

+ + + + + +
SQLFirebird Specific SQL
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Firebird.Util.html b/docs/files/Query.Drivers.Firebird.Util.html new file mode 100644 index 0000000..e2dd1dd --- /dev/null +++ b/docs/files/Query.Drivers.Firebird.Util.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/FirebirdUtil.php

+

+ + + + +

Classes

+ + + + + +
UtilFirebird-specific backup, import and creation methods
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Mysql.Driver.html b/docs/files/Query.Drivers.Mysql.Driver.html new file mode 100644 index 0000000..579135a --- /dev/null +++ b/docs/files/Query.Drivers.Mysql.Driver.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/MysqlDriver.php

+

+ + + + +

Classes

+ + + + + +
DriverMySQL specific class
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Mysql.SQL.html b/docs/files/Query.Drivers.Mysql.SQL.html new file mode 100644 index 0000000..cde0cd5 --- /dev/null +++ b/docs/files/Query.Drivers.Mysql.SQL.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/MysqlSQL.php

+

+ + + + +

Classes

+ + + + + +
SQLMySQL specific SQL
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Mysql.Util.html b/docs/files/Query.Drivers.Mysql.Util.html new file mode 100644 index 0000000..15d0b2f --- /dev/null +++ b/docs/files/Query.Drivers.Mysql.Util.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/MysqlUtil.php

+

+ + + + +

Classes

+ + + + + +
UtilMySQL-specific backup, import and creation methods
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.PDOInterface.html b/docs/files/Query.Drivers.PDOInterface.html new file mode 100644 index 0000000..f76272f --- /dev/null +++ b/docs/files/Query.Drivers.PDOInterface.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/DriversPDOInterface.php

+

+ + + +

Interfaces

+ + + + + +
PDOInterfaceInterface describing the PDO class in PHP
+ +
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.PDOStatementInterface.html b/docs/files/Query.Drivers.PDOStatementInterface.html new file mode 100644 index 0000000..9cfa6ec --- /dev/null +++ b/docs/files/Query.Drivers.PDOStatementInterface.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/DriversPDOStatementInterface.php

+

+ + + +

Interfaces

+ + + + + +
PDOStatementInterfaceInterface created from official PHP Documentation
+ +
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Pgsql.Driver.html b/docs/files/Query.Drivers.Pgsql.Driver.html new file mode 100644 index 0000000..1b1a024 --- /dev/null +++ b/docs/files/Query.Drivers.Pgsql.Driver.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/PgsqlDriver.php

+

+ + + + +

Classes

+ + + + + +
DriverPostgreSQL specific class
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Pgsql.SQL.html b/docs/files/Query.Drivers.Pgsql.SQL.html new file mode 100644 index 0000000..f89b0f5 --- /dev/null +++ b/docs/files/Query.Drivers.Pgsql.SQL.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/PgsqlSQL.php

+

+ + + + +

Classes

+ + + + + +
SQLPostgreSQL specific SQL
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Pgsql.Util.html b/docs/files/Query.Drivers.Pgsql.Util.html new file mode 100644 index 0000000..99c01c8 --- /dev/null +++ b/docs/files/Query.Drivers.Pgsql.Util.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/PgsqlUtil.php

+

+ + + + +

Classes

+ + + + + +
UtilPosgres-specific backup, import and creation methods
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.SQLInterface.html b/docs/files/Query.Drivers.SQLInterface.html new file mode 100644 index 0000000..ec6d2b2 --- /dev/null +++ b/docs/files/Query.Drivers.SQLInterface.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/DriversSQLInterface.php

+

+ + + +

Interfaces

+ + + + + +
SQLInterfaceparent for database manipulation subclasses
+ +
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Sqlite.Driver.html b/docs/files/Query.Drivers.Sqlite.Driver.html new file mode 100644 index 0000000..3a14877 --- /dev/null +++ b/docs/files/Query.Drivers.Sqlite.Driver.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/SqliteDriver.php

+

+ + + + +

Classes

+ + + + + +
DriverSQLite specific class
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Sqlite.SQL.html b/docs/files/Query.Drivers.Sqlite.SQL.html new file mode 100644 index 0000000..b7d4ddc --- /dev/null +++ b/docs/files/Query.Drivers.Sqlite.SQL.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/SqliteSQL.php

+

+ + + + +

Classes

+ + + + + +
SQLSQLite Specific SQL
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.Drivers.Sqlite.Util.html b/docs/files/Query.Drivers.Sqlite.Util.html new file mode 100644 index 0000000..b08b754 --- /dev/null +++ b/docs/files/Query.Drivers.Sqlite.Util.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

Query/Drivers/SqliteUtil.php

+

+ + + + +

Classes

+ + + + + +
UtilSQLite-specific backup, import and creation methods
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.QueryBuilder.html b/docs/files/Query.QueryBuilder.html new file mode 100644 index 0000000..aff0e49 --- /dev/null +++ b/docs/files/Query.QueryBuilder.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

QueryQueryBuilder.php

+

+ + + + +

Classes

+ + + + + +
QueryBuilderConvenience class for creating sql queries
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.QueryBuilderInterface.html b/docs/files/Query.QueryBuilderInterface.html new file mode 100644 index 0000000..482fc6c --- /dev/null +++ b/docs/files/Query.QueryBuilderInterface.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

QueryQueryBuilderInterface.php

+

+ + + +

Interfaces

+ + + + + +
QueryBuilderInterfaceInterface defining the Query Builder class
+ +
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.QueryParser.html b/docs/files/Query.QueryParser.html new file mode 100644 index 0000000..74038ab --- /dev/null +++ b/docs/files/Query.QueryParser.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

QueryQueryParser.php

+

+ + + + +

Classes

+ + + + + +
QueryParserUtility Class to parse sql clauses for properly escaping identifiers
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query.State.html b/docs/files/Query.State.html new file mode 100644 index 0000000..0ad4c89 --- /dev/null +++ b/docs/files/Query.State.html @@ -0,0 +1,391 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

QueryState.php

+

+ + + + +

Classes

+ + + + + +
State
+
+ + +
+ + + +
+
+ + + + +
+ + + diff --git a/docs/files/Query/AbstractQueryBuilder.php.txt b/docs/files/Query/AbstractQueryBuilder.php.txt new file mode 100644 index 0000000..42d6301 --- /dev/null +++ b/docs/files/Query/AbstractQueryBuilder.php.txt @@ -0,0 +1,611 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + +namespace Query; + +use PDOStatement; + +/** + * Abstract Class for internal implementation methods of the Query Builder + */ +abstract class AbstractQueryBuilder { + + // -------------------------------------------------------------------------- + // ! Constants + // -------------------------------------------------------------------------- + + const KEY = 0; + const VALUE = 1; + const BOTH = 2; + + // -------------------------------------------------------------------------- + // ! SQL Clause Strings + // -------------------------------------------------------------------------- + + /** + * Compiled 'select' clause + * @var string + */ + protected $selectString = ''; + + /** + * Compiled 'from' clause + * @var string + */ + protected $fromString = ''; + + /** + * Compiled arguments for insert / update + * @var string + */ + protected $setString; + + /** + * Order by clause + * @var string + */ + protected $orderString; + + /** + * Group by clause + * @var string + */ + protected $groupString; + + // -------------------------------------------------------------------------- + // ! SQL Clause Arrays + // -------------------------------------------------------------------------- + + /** + * Keys for insert/update statement + * @var array + */ + protected $setArrayKeys = []; + + /** + * Key/val pairs for order by clause + * @var array + */ + protected $orderArray = []; + + /** + * Key/val pairs for group by clause + * @var array + */ + protected $groupArray = []; + + // -------------------------------------------------------------------------- + // ! Other Class vars + // -------------------------------------------------------------------------- + + /** + * Values to apply to prepared statements + * @var array + */ + protected $values = []; + + /** + * Values to apply to where clauses in prepared statements + * @var array + */ + protected $whereValues = []; + + /** + * Value for limit string + * @var string + */ + protected $limit; + + /** + * Value for offset in limit string + * @var integer + */ + protected $offset; + + /** + * Query component order mapping + * for complex select queries + * + * Format: + * array( + * 'type' => 'where', + * 'conjunction' => ' AND ', + * 'string' => 'k=?' + * ) + * + * @var array + */ + protected $queryMap = []; + + /** + * Map for having clause + * @var array + */ + protected $havingMap; + + /** + * Convenience property for connection management + * @var string + */ + public $connName = ""; + + /** + * List of queries executed + * @var array + */ + public $queries; + + /** + * Whether to do only an explain on the query + * @var boolean + */ + protected $explain; + + /** + * The current database driver + * @var \Query\Drivers\DriverInterface + */ + public $db; + + /** + * Query parser class instance + * @var QueryParser + */ + public $parser; + + /** + * Alias to driver util class + * @var \Query\Drivers\AbstractUtil + */ + public $util; + + /** + * Alias to driver sql class + * @var \Query\Drivers\SQLInterface + */ + public $sql; + + // -------------------------------------------------------------------------- + // Methods + // -------------------------------------------------------------------------- + + /** + * Set values in the class, with either an array or key value pair + * + * @param array $var + * @param mixed $key + * @param mixed $val + * @param int $valType + * @return array + */ + protected function _mixedSet(array &$var, $key, $val=NULL, int $valType=self::BOTH): array + { + $arg = (is_scalar($key) && is_scalar($val)) + ? [$key => $val] + : $key; + + foreach($arg as $k => $v) + { + if (in_array($valType, [self::KEY, self::VALUE])) + { + $var[] = ($valType === self::KEY) + ? $k + : $v; + } + else + { + $var[$k] = $v; + } + } + + return $var; + } + + /** + * Method to simplify select_ methods + * + * @param string $field + * @param string|bool $as + * @return string + */ + protected function _select(string $field, $as = FALSE): string + { + // Escape the identifiers + $field = $this->db->quoteIdent($field); + + if ( ! is_string($as)) + { + return $field; + } + + $as = $this->db->quoteIdent($as); + return "({$field}) AS {$as} "; + } + + /** + * Helper function for returning sql strings + * + * @param string $type + * @param string $table + * @param bool $reset + * @return string + */ + protected function _getCompile(string $type, string $table, bool $reset): string + { + $sql = $this->_compile($type, $table); + + // Reset the query builder for the next query + if ($reset) + { + $this->resetQuery(); + } + + return $sql; + } + + /** + * Simplify 'like' methods + * + * @param string $field + * @param mixed $val + * @param string $pos + * @param string $like + * @param string $conj + * @return QueryBuilderInterface + */ + protected function _like(string $field, $val, string $pos, string $like='LIKE', string $conj='AND'): QueryBuilderInterface + { + $field = $this->db->quoteIdent($field); + + // Add the like string into the order map + $like = $field. " {$like} ?"; + + if ($pos == 'before') + { + $val = "%{$val}"; + } + elseif ($pos == 'after') + { + $val = "{$val}%"; + } + else + { + $val = "%{$val}%"; + } + + $conj = (empty($this->queryMap)) ? ' WHERE ' : " {$conj} "; + $this->_appendMap($conj, $like, 'like'); + + // Add to the values array + $this->whereValues[] = $val; + + return $this; + } + + /** + * Simplify building having clauses + * + * @param mixed $key + * @param mixed $val + * @param string $conj + * @return QueryBuilderInterface + */ + protected function _having($key, $val=[], string $conj='AND'): QueryBuilderInterface + { + $where = $this->_where($key, $val); + + // Create key/value placeholders + foreach($where as $f => $val) + { + // Split each key by spaces, in case there + // is an operator such as >, <, !=, etc. + $fArray = explode(' ', trim($f)); + + $item = $this->db->quoteIdent($fArray[0]); + + // Simple key value, or an operator + $item .= (count($fArray) === 1) ? '=?' : " {$fArray[1]} ?"; + + // Put in the having map + $this->havingMap[] = [ + 'conjunction' => ( ! empty($this->havingMap)) ? " {$conj} " : ' HAVING ', + 'string' => $item + ]; + } + + return $this; + } + + /** + * Do all the redundant stuff for where/having type methods + * + * @param mixed $key + * @param mixed $val + * @return array + */ + protected function _where($key, $val=[]): array + { + $where = []; + $this->_mixedSet($where, $key, $val, self::BOTH); + $this->_mixedSet($this->whereValues, $key, $val, self::VALUE); + return $where; + } + + /** + * Simplify generating where string + * + * @param mixed $key + * @param mixed $val + * @param string $defaultConj + * @return QueryBuilderInterface + */ + protected function _whereString($key, $val=[], string $defaultConj='AND'): QueryBuilderInterface + { + // Create key/value placeholders + foreach($this->_where($key, $val) as $f => $val) + { + // Split each key by spaces, in case there + // is an operator such as >, <, !=, etc. + $fArray = explode(' ', trim($f)); + + $item = $this->db->quoteIdent($fArray[0]); + + // Simple key value, or an operator + $item .= (count($fArray) === 1) ? '=?' : " {$fArray[1]} ?"; + $lastItem = end($this->queryMap); + + // Determine the correct conjunction + $conjunctionList = array_column($this->queryMap, 'conjunction'); + if (empty($this->queryMap) || ( ! regex_in_array($conjunctionList, "/^ ?\n?WHERE/i"))) + { + $conj = "\nWHERE "; + } + elseif ($lastItem['type'] === 'group_start') + { + $conj = ''; + } + else + { + $conj = " {$defaultConj} "; + } + + $this->_appendMap($conj, $item, 'where'); + } + + return $this; + } + + /** + * Simplify where_in methods + * + * @param mixed $key + * @param mixed $val + * @param string $in - The (not) in fragment + * @param string $conj - The where in conjunction + * @return QueryBuilderInterface + */ + protected function _whereIn($key, $val=[], string $in='IN', string $conj='AND'): QueryBuilderInterface + { + $key = $this->db->quoteIdent($key); + $params = array_fill(0, count($val), '?'); + + foreach($val as $v) + { + $this->whereValues[] = $v; + } + + $conjunction = ( ! empty($this->queryMap)) ? " {$conj} " : ' WHERE '; + $str = $key . " {$in} (".implode(',', $params).') '; + + $this->_appendMap($conjunction, $str, 'where_in'); + + return $this; + } + + /** + * Executes the compiled query + * + * @param string $type + * @param string $table + * @param string $sql + * @param array|null $vals + * @param boolean $reset + * @return PDOStatement + */ + protected function _run(string $type, string $table, $sql=NULL, $vals=NULL, bool $reset=TRUE): PDOStatement + { + if (is_null($sql)) + { + $sql = $this->_compile($type, $table); + } + + if (is_null($vals)) + { + $vals = array_merge($this->values, (array) $this->whereValues); + } + + $startTime = microtime(TRUE); + + $res = (empty($vals)) + ? $this->db->query($sql) + : $this->db->prepareExecute($sql, $vals); + + $endTime = microtime(TRUE); + $totalTime = number_format($endTime - $startTime, 5); + + // Add this query to the list of executed queries + $this->_appendQuery($vals, $sql, (int) $totalTime); + + // Reset class state for next query + if ($reset) + { + $this->resetQuery(); + } + + return $res; + } + + /** + * Add an additional set of mapping pairs to a internal map + * + * @param string $conjunction + * @param string $string + * @param string $type + * @return void + */ + protected function _appendMap(string $conjunction = '', string $string = '', string $type = '') + { + array_push($this->queryMap, [ + 'type' => $type, + 'conjunction' => $conjunction, + 'string' => $string + ]); + } + + /** + * Convert the prepared statement into readable sql + * + * @param array $vals + * @param string $sql + * @param int $totalTime + * @return void + */ + protected function _appendQuery($vals, string $sql, int $totalTime) + { + $evals = (is_array($vals)) ? $vals : []; + $esql = str_replace('?', "%s", $sql); + + // Quote string values + foreach($evals as &$v) + { + $v = ( ! is_numeric($v)) ? htmlentities($this->db->quote($v), ENT_NOQUOTES, 'utf-8') : $v; + } + + // Add the query onto the array of values to pass + // as arguments to sprintf + array_unshift($evals, $esql); + + // Add the interpreted query to the list of executed queries + $this->queries[] = [ + 'time' => $totalTime, + 'sql' => call_user_func_array('sprintf', $evals), + ]; + + $this->queries['total_time'] += $totalTime; + + // Set the last query to get rowcounts properly + $this->db->setLastQuery($sql); + } + + /** + * Sub-method for generating sql strings + * + * @param string $type + * @param string $table + * @return string + */ + protected function _compileType(string $type='', string $table=''): string + { + switch($type) + { + case "insert": + $paramCount = count($this->setArrayKeys); + $params = array_fill(0, $paramCount, '?'); + $sql = "INSERT INTO {$table} (" + . implode(',', $this->setArrayKeys) + . ")\nVALUES (".implode(',', $params).')'; + break; + + case "update": + $sql = "UPDATE {$table}\nSET {$this->setString}"; + break; + + case "replace": + // @TODO implement + $sql = ""; + break; + + case "delete": + $sql = "DELETE FROM {$table}"; + break; + + // Get queries + default: + $sql = "SELECT * \nFROM {$this->fromString}"; + + // Set the select string + if ( ! empty($this->selectString)) + { + // Replace the star with the selected fields + $sql = str_replace('*', $this->selectString, $sql); + } + break; + } + + return $sql; + } + + /** + * String together the sql statements for sending to the db + * + * @param string $type + * @param string $table + * @return string + */ + protected function _compile(string $type='', string $table=''): string + { + // Get the base clause for the query + $sql = $this->_compileType($type, $this->db->quoteTable($table)); + + $clauses = [ + 'queryMap', + 'groupString', + 'orderString', + 'havingMap', + ]; + + // Set each type of subclause + foreach($clauses as $clause) + { + $param = $this->$clause; + if (is_array($param)) + { + foreach($param as $q) + { + $sql .= $q['conjunction'] . $q['string']; + } + } + else + { + $sql .= $param; + } + } + + // Set the limit via the class variables + if (is_numeric($this->limit)) + { + $sql = $this->sql->limit($sql, $this->limit, $this->offset); + } + + // See if the query plan, rather than the + // query data should be returned + if ($this->explain === TRUE) + { + $sql = $this->sql->explain($sql); + } + + return $sql; + } +} diff --git a/docs/files/Query/BadDBDriverException.php.txt b/docs/files/Query/BadDBDriverException.php.txt new file mode 100644 index 0000000..bac5f8960 --- /dev/null +++ b/docs/files/Query/BadDBDriverException.php.txt @@ -0,0 +1,26 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query; + +use InvalidArgumentException; + +/** + * Generic exception for bad drivers + * + * @package Query + * @subpackage Core + */ +class BadDBDriverException extends InvalidArgumentException { +} diff --git a/docs/files/Query/ConnectionManager.php.txt b/docs/files/Query/ConnectionManager.php.txt new file mode 100644 index 0000000..e100e1f --- /dev/null +++ b/docs/files/Query/ConnectionManager.php.txt @@ -0,0 +1,250 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query; + +use DomainException; +use InvalidArgumentException; + +/** + * Connection manager class to manage connections for the + * Query method + */ +final class ConnectionManager { + + /** + * Map of named database connections + * @var array + */ + private $connections = []; + + /** + * Class instance variable + * @var ConnectionManager + */ + private static $instance = NULL; + + /** + * Private constructor to prevent multiple instances + * @codeCoverageIgnore + */ + private function __construct() + { + } + + /** + * Private clone method to prevent cloning + * + * @throws DomainException + * @return void + */ + public function __clone() + { + throw new DomainException("Can't clone singleton"); + } + + /** + * Prevent serialization of this object + * + * @throws DomainException + * @return void + */ + public function __sleep() + { + throw new DomainException("No serializing of singleton"); + } + + /** + * Make sure serialize/deserialize doesn't work + * + * @throws DomainException + * @return void + */ + public function __wakeup() + { + throw new DomainException("Can't unserialize singleton"); + } + + /** + * Return a connection manager instance + * + * @staticvar null $instance + * @return ConnectionManager + */ + public static function getInstance(): ConnectionManager + { + if (self::$instance === NULL) + { + self::$instance = new self(); + } + + return self::$instance; + } + + /** + * Returns the connection specified by the name given + * + * @param string|array|object $name + * @return QueryBuilderInterface + * @throws InvalidArgumentException + */ + public function getConnection($name = ''): QueryBuilderInterface + { + // If the parameter is a string, use it as an array index + if (is_scalar($name) && isset($this->connections[$name])) + { + return $this->connections[$name]; + } + elseif (empty($name) && ! empty($this->connections)) // Otherwise, return the last one + { + return end($this->connections); + } + + // You should actually connect before trying to get a connection... + throw new InvalidArgumentException("The specified connection does not exist"); + } + + /** + * Parse the passed parameters and return a connection + * + * @param \stdClass $params + * @return QueryBuilderInterface + */ + public function connect(\stdClass $params): QueryBuilderInterface + { + list($dsn, $dbtype, $params, $options) = $this->parseParams($params); + + $dbtype = ucfirst($dbtype); + $driver = "\\Query\\Drivers\\{$dbtype}\\Driver"; + + // Create the database connection + $db = ( ! empty($params->user)) + ? new $driver($dsn, $params->user, $params->pass, $options) + : new $driver($dsn, '', '', $options); + + // Set the table prefix, if it exists + if (isset($params->prefix)) + { + $db->setTablePrefix($params->prefix); + } + + // Create Query Builder object + $conn = new QueryBuilder($db, new QueryParser($db)); + + + // Save it for later + if (isset($params->alias)) + { + $this->connections[$params->alias] = $conn; + } + else + { + $this->connections[] = $conn; + } + + return $conn; + } + + /** + * Parses params into a dsn and option array + * + * @param \stdClass $params + * @return array + * @throws BadDBDriverException + */ + public function parseParams(\stdClass $params): array + { + $params->type = strtolower($params->type); + $dbtype = ($params->type !== 'postgresql') ? $params->type : 'pgsql'; + $dbtype = ucfirst($dbtype); + + // Make sure the class exists + if ( ! class_exists("\\Query\\Drivers\\{$dbtype}\\Driver")) + { + throw new BadDBDriverException('Database driver does not exist, or is not supported'); + } + + // Set additional PDO options + $options = []; + + if (isset($params->options)) + { + $options = (array) $params->options; + } + + // Create the dsn for the database to connect to + if (strtolower($dbtype) === 'firebird') + { + $dsn = "{$params->host}:{$params->file}"; + } + else if(strtolower($dbtype) === 'sqlite') + { + $dsn = $params->file; + } + else if(strtolower($dbtype) === 'oci') + { + $dsn = "dbname=//{$params->host}:{$params->port}/{$params->database}"; + } + else + { + $dsn = $this->createDsn($dbtype, $params); + } + + + return [$dsn, $dbtype, $params, $options]; + } + + /** + * Create the dsn from the db type and params + * + * @param string $dbtype + * @param \stdClass $params + * @return string + */ + private function createDsn(string $dbtype, \stdClass $params): string + { + if (strtolower($dbtype) === 'pdo_firebird') + { + $dbtype = 'firebird'; + } + + $pairs = []; + + if ( ! empty($params->database)) + { + $pairs[] = implode('=', ['dbname', $params->database]); + } + + $skip = [ + 'name' => 'name', + 'pass' => 'pass', + 'user' => 'user', + 'type' => 'type', + 'prefix' => 'prefix', + 'options' => 'options', + 'database' => 'database', + 'alias' => 'alias' + ]; + + foreach($params as $key => $val) + { + if (( ! array_key_exists($key, $skip)) && ( ! empty($val))) + { + $pairs[] = implode('=', [$key, $val]); + } + } + + return strtolower($dbtype) . ':' . implode(';', $pairs); + } +} diff --git a/docs/files/Query/DriverFactory.php.txt b/docs/files/Query/DriverFactory.php.txt new file mode 100644 index 0000000..df4cc19 --- /dev/null +++ b/docs/files/Query/DriverFactory.php.txt @@ -0,0 +1,19 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query; + +class DriverFactory { + +} diff --git a/docs/files/Query/Drivers/AbstractDriver.php.txt b/docs/files/Query/Drivers/AbstractDriver.php.txt new file mode 100644 index 0000000..c127985 --- /dev/null +++ b/docs/files/Query/Drivers/AbstractDriver.php.txt @@ -0,0 +1,642 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + +namespace Query\Drivers; + +use InvalidArgumentException; +use PDO; +use PDOStatement; + +/** + * Base Database class + * + * Extends PDO to simplify cross-database issues + * + * @package Query + * @subpackage Drivers + */ +abstract class AbstractDriver extends PDO implements DriverInterface { + + /** + * Reference to the last executed query + * @var PDOStatement + */ + protected $statement; + + /** + * Start character to escape identifiers + * @var string + */ + protected $escapeCharOpen = '"'; + + /** + * End character to escape identifiers + * @var string + */ + protected $escapeCharClose = '"'; + + /** + * Reference to sql class + * @var SQLInterface + */ + protected $sql; + + /** + * Reference to util class + * @var AbstractUtil + */ + protected $util; + + /** + * Last query executed + * @var string + */ + protected $lastQuery = ''; + + /** + * Prefix to apply to table names + * @var string + */ + protected $tablePrefix = ''; + + /** + * Whether the driver supports 'TRUNCATE' + * @var boolean + */ + protected $hasTruncate = TRUE; + + /** + * PDO constructor wrapper + * + * @param string $dsn + * @param string $username + * @param string $password + * @param array $driverOptions + */ + public function __construct($dsn, $username=NULL, $password=NULL, array $driverOptions=[]) + { + // Set PDO to display errors as exceptions, and apply driver options + $driverOptions[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; + parent::__construct($dsn, $username, $password, $driverOptions); + + $this->_loadSubClasses(); + } + + /** + * Loads the subclasses for the driver + * + * @return void + */ + protected function _loadSubClasses() + { + // Load the sql and util class for the driver + $thisClass = get_class($this); + $nsArray = explode("\\", $thisClass); + array_pop($nsArray); + $driver = array_pop($nsArray); + $sqlClass = __NAMESPACE__ . "\\{$driver}\\SQL"; + $utilClass = __NAMESPACE__ . "\\{$driver}\\Util"; + + $this->sql = new $sqlClass(); + $this->util = new $utilClass($this); + } + + /** + * Allow invoke to work on table object + * + * @codeCoverageIgnore + * @param string $name + * @param array $args + * @return mixed + */ + public function __call(string $name, array $args = []) + { + if ( + isset($this->$name) + && is_object($this->$name) + && method_exists($this->$name, '__invoke') + ) + { + return call_user_func_array([$this->$name, '__invoke'], $args); + } + } + + // -------------------------------------------------------------------------- + // ! Accessors / Mutators + // -------------------------------------------------------------------------- + + /** + * Get the last sql query executed + * + * @return string + */ + public function getLastQuery(): string + { + return $this->lastQuery; + } + + /** + * Set the last query sql + * + * @param string $queryString + * @return void + */ + public function setLastQuery(string $queryString) + { + $this->lastQuery = $queryString; + } + + /** + * Get the SQL class for the current driver + * + * @return SQLInterface + */ + public function getSql(): SQLInterface + { + return $this->sql; + } + + /** + * Get the Util class for the current driver + * + * @return AbstractUtil + */ + public function getUtil(): AbstractUtil + { + return $this->util; + } + + /** + * Set the common table name prefix + * + * @param string $prefix + * @return void + */ + public function setTablePrefix($prefix) + { + $this->tablePrefix = $prefix; + } + + // -------------------------------------------------------------------------- + // ! Concrete functions that can be overridden in child classes + // -------------------------------------------------------------------------- + + /** + * Simplifies prepared statements for database queries + * + * @param string $sql + * @param array $data + * @return PDOStatement | FALSE + * @throws InvalidArgumentException + */ + public function prepareQuery($sql, $data) + { + // Prepare the sql, save the statement for easy access later + $this->statement = $this->prepare($sql); + + if( ! (is_array($data) || is_object($data))) + { + throw new InvalidArgumentException("Data argument must be an object or associative array"); + } + + // Bind the parameters + foreach($data as $k => $value) + { + // Parameters are 1-based, the data is 0-based + // So, if the key is numeric, add 1 + if(is_numeric($k)) + { + $k++; + } + $this->statement->bindValue($k, $value); + } + + return $this->statement; + } + + /** + * Create and execute a prepared statement with the provided parameters + * + * @param string $sql + * @param array $params + * @return PDOStatement + */ + public function prepareExecute($sql, $params) + { + $this->statement = $this->prepareQuery($sql, $params); + $this->statement->execute(); + + return $this->statement; + } + + /** + * Returns number of rows affected by an INSERT, UPDATE, DELETE type query + * + * @return int + */ + public function affectedRows() + { + // Return number of rows affected + return $this->statement->rowCount(); + } + + /** + * Prefixes a table if it is not already prefixed + * @param string $table + * @return string + */ + public function prefixTable($table) + { + // Add the prefix to the table name + // before quoting it + if ( ! empty($this->tablePrefix)) + { + // Split identifier by period, will split into: + // database.schema.table OR + // schema.table OR + // database.table OR + // table + $identifiers = explode('.', $table); + $segments = count($identifiers); + + // Quote the last item, and add the database prefix + $identifiers[$segments - 1] = $this->_prefix(end($identifiers)); + + // Rejoin + $table = implode('.', $identifiers); + } + + return $table; + } + + /** + * Quote database table name, and set prefix + * + * @param string $table + * @return string + */ + public function quoteTable($table) + { + $table = $this->prefixTable($table); + + // Finally, quote the table + return $this->quoteIdent($table); + } + + /** + * Surrounds the string with the databases identifier escape characters + * + * @param mixed $identifier + * @return string + */ + public function quoteIdent($identifier) + { + if (is_array($identifier)) + { + return array_map([$this, __METHOD__], $identifier); + } + + // Handle comma-separated identifiers + if (strpos($identifier, ',') !== FALSE) + { + $parts = array_map('mb_trim', explode(',', $identifier)); + $parts = array_map([$this, __METHOD__], $parts); + $identifier = implode(',', $parts); + } + + // Split each identifier by the period + $hiers = explode('.', $identifier); + $hiers = array_map('mb_trim', $hiers); + + // Re-compile the string + $raw = implode('.', array_map([$this, '_quote'], $hiers)); + + // Fix functions + $funcs = []; + preg_match_all("#{$this->escapeCharOpen}([a-zA-Z0-9_]+(\((.*?)\))){$this->escapeCharClose}#iu", $raw, $funcs, PREG_SET_ORDER); + foreach($funcs as $f) + { + // Unquote the function + $raw = str_replace($f[0], $f[1], $raw); + + // Quote the inside identifiers + $raw = str_replace($f[3], $this->quoteIdent($f[3]), $raw); + } + + return $raw; + + } + + /** + * Return schemas for databases that list them + * + * @return array + */ + public function getSchemas() + { + return NULL; + } + + /** + * Return list of tables for the current database + * + * @return array + */ + public function getTables() + { + $tables = $this->driverQuery('tableList'); + natsort($tables); + return $tables; + } + + /** + * Return list of dbs for the current connection, if possible + * + * @return array + */ + public function getDbs() + { + return $this->driverQuery('dbList'); + } + + /** + * Return list of views for the current database + * + * @return array + */ + public function getViews() + { + $views = $this->driverQuery('viewList'); + sort($views); + return $views; + } + + /** + * Return list of sequences for the current database, if they exist + * + * @return array + */ + public function getSequences() + { + return $this->driverQuery('sequenceList'); + } + + /** + * Return list of functions for the current database + * + * @return array + */ + public function getFunctions() + { + return $this->driverQuery('functionList', FALSE); + } + + /** + * Return list of stored procedures for the current database + * + * @return array + */ + public function getProcedures() + { + return $this->driverQuery('procedureList', FALSE); + } + + /** + * Return list of triggers for the current database + * + * @return array + */ + public function getTriggers() + { + return $this->driverQuery('triggerList', FALSE); + } + + /** + * Retrieves an array of non-user-created tables for + * the connection/database + * + * @return array + */ + public function getSystemTables() + { + return $this->driverQuery('systemTableList'); + } + + /** + * Retrieve column information for the current database table + * + * @param string $table + * @return array + */ + public function getColumns($table) + { + return $this->driverQuery($this->getSql()->columnList($this->prefixTable($table)), FALSE); + } + + /** + * Retrieve foreign keys for the table + * + * @param string $table + * @return array + */ + public function getFks($table) + { + return $this->driverQuery($this->getSql()->fkList($table), FALSE); + } + + /** + * Retrieve indexes for the table + * + * @param string $table + * @return array + */ + public function getIndexes($table) + { + return $this->driverQuery($this->getSql()->indexList($this->prefixTable($table)), FALSE); + } + + /** + * Retrieve list of data types for the database + * + * @return array + */ + public function getTypes() + { + return $this->driverQuery('typeList', FALSE); + } + + /** + * Method to simplify retrieving db results for meta-data queries + * + * @param string|array|null $query + * @param bool $filteredIndex + * @return array + */ + public function driverQuery($query, $filteredIndex=TRUE) + { + // Call the appropriate method, if it exists + if (is_string($query) && method_exists($this->sql, $query)) + { + $query = $this->getSql()->$query(); + } + + // Return if the values are returned instead of a query, + // or if the query doesn't apply to the driver + if ( ! is_string($query)) + { + return $query; + } + + // Run the query! + $res = $this->query($query); + + $flag = ($filteredIndex) ? PDO::FETCH_NUM : PDO::FETCH_ASSOC; + $all = $res->fetchAll($flag); + + return ($filteredIndex) ? \db_filter($all, 0) : $all; + } + + /** + * Return the number of rows returned for a SELECT query + * + * @see http://us3.php.net/manual/en/pdostatement.rowcount.php#87110 + * @return int|null + */ + public function numRows() + { + $regex = '/^SELECT\s+(?:ALL\s+|DISTINCT\s+)?(?:.*?)\s+FROM\s+(.*)$/i'; + $output = []; + + if (preg_match($regex, $this->lastQuery, $output) > 0) + { + $stmt = $this->query("SELECT COUNT(*) FROM {$output[1]}"); + return (int) $stmt->fetchColumn(); + } + + return NULL; + } + + /** + * Create sql for batch insert + * + * @param string $table + * @param array|object $data + * @return null|array + */ + public function insertBatch($table, $data=[]) + { + $data = (array) $data; + $firstRow = (array) current($data); + if (is_scalar($firstRow)) + { + return NULL; + } + + // Values for insertion + $vals = []; + foreach($data as $group) + { + $vals = array_merge($vals, array_values($group)); + } + $table = $this->quoteTable($table); + $fields = array_keys($firstRow); + + $sql = "INSERT INTO {$table} (" + . implode(',', $this->quoteIdent($fields)) + . ") VALUES "; + + // Create the placeholder groups + $params = array_fill(0, count($fields), '?'); + $paramString = "(" . implode(',', $params) . ")"; + $paramList = array_fill(0, count($data), $paramString); + + // Append the placeholder groups to the query + $sql .= implode(',', $paramList); + + return [$sql, $vals]; + } + + /** + * Creates a batch update, and executes it. + * Returns the number of affected rows + * + * @param string $table + * @param array|object $data + * @param string $where + * @return int|null + */ + public function updateBatch($table, $data, $where) + { + // @TODO implement + return NULL; + } + + /** + * Helper method for quote_ident + * + * @param mixed $str + * @return mixed + */ + public function _quote($str) + { + // Check that the current value is a string, + // and is not already quoted before quoting + // that value, otherwise, return the original value + return ( + is_string($str) + && strpos($str, $this->escapeCharOpen) !== 0 + && strrpos($str, $this->escapeCharClose) !== 0 + ) + ? "{$this->escapeCharOpen}{$str}{$this->escapeCharClose}" + : $str; + + } + + /** + * Sets the table prefix on the passed string + * + * @param string $str + * @return string + */ + protected function _prefix($str) + { + // Don't prefix an already prefixed table + if (strpos($str, $this->tablePrefix) !== FALSE) + { + return $str; + } + + return $this->tablePrefix . $str; + } + + /** + * Empty the passed table + * + * @param string $table + * @return PDOStatement + */ + public function truncate($table) + { + $sql = ($this->hasTruncate) + ? 'TRUNCATE TABLE ' + : 'DELETE FROM '; + + $sql .= $this->quoteTable($table); + + $this->statement = $this->query($sql); + return $this->statement; + } + +} diff --git a/docs/files/Query/Drivers/AbstractSQL.php.txt b/docs/files/Query/Drivers/AbstractSQL.php.txt new file mode 100644 index 0000000..ef992f9 --- /dev/null +++ b/docs/files/Query/Drivers/AbstractSQL.php.txt @@ -0,0 +1,46 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + +namespace Query\Drivers; + +/** + * parent for database manipulation subclasses + * + * @package Query + * @subpackage Drivers + */ +abstract class AbstractSQL implements SQLInterface { + + /** + * Limit clause + * + * @param string $sql + * @param int $limit + * @param int|bool $offset + * @return string + */ + public function limit($sql, $limit, $offset=FALSE) + { + $sql .= "\nLIMIT {$limit}"; + + if (is_numeric($offset)) + { + $sql .= " OFFSET {$offset}"; + } + + return $sql; + } +} + diff --git a/docs/files/Query/Drivers/AbstractUtil.php.txt b/docs/files/Query/Drivers/AbstractUtil.php.txt new file mode 100644 index 0000000..f6ef545 --- /dev/null +++ b/docs/files/Query/Drivers/AbstractUtil.php.txt @@ -0,0 +1,126 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + +namespace Query\Drivers; + +/** + * Abstract class defining database / table creation methods + * + * @method string quoteIdent(string $sql) + * @method string quoteTable(string $sql) + */ +abstract class AbstractUtil { + + /** + * Reference to the current connection object + * @var DriverInterface + */ + private $conn; + + /** + * Save a reference to the connection object for later use + * + * @param DriverInterface $conn + */ + public function __construct(DriverInterface $conn) + { + $this->conn = $conn; + } + + /** + * Get the driver object for the current connection + * + * @return DriverInterface + */ + public function getDriver() + { + return $this->conn; + } + + /** + * Convenience public function to generate sql for creating a db table + * + * @param string $name + * @param array $fields + * @param array $constraints + * @param bool $ifNotExists + * @return string + */ + public function createTable($name, $fields, array $constraints=[], $ifNotExists=TRUE) + { + $existsStr = ($ifNotExists) ? ' IF NOT EXISTS ' : ' '; + + // Reorganize into an array indexed with column information + // Eg $columnArray[$colname] = array( + // 'type' => ..., + // 'constraint' => ..., + // 'index' => ..., + // ) + $columnArray = \array_zipper([ + 'type' => $fields, + 'constraint' => $constraints + ]); + + // Join column definitions together + $columns = []; + foreach($columnArray as $n => $props) + { + $str = $this->getDriver()->quoteIdent($n); + $str .= (isset($props['type'])) ? " {$props['type']}" : ""; + $str .= (isset($props['constraint'])) ? " {$props['constraint']}" : ""; + + $columns[] = $str; + } + + // Generate the sql for the creation of the table + $sql = 'CREATE TABLE'.$existsStr.$this->getDriver()->quoteTable($name).' ('; + $sql .= implode(', ', $columns); + $sql .= ')'; + + return $sql; + } + + /** + * Drop the selected table + * + * @param string $name + * @return string + */ + public function deleteTable($name) + { + return 'DROP TABLE IF EXISTS '.$this->getDriver()->quoteTable($name); + } + + // -------------------------------------------------------------------------- + // ! Abstract Methods + // -------------------------------------------------------------------------- + + /** + * Return an SQL file with the database table structure + * + * @abstract + * @return string + */ + abstract public function backupStructure(); + + /** + * Return an SQL file with the database data as insert statements + * + * @abstract + * @return string + */ + abstract public function backupData(); + +} diff --git a/docs/files/Query/Drivers/DriverInterface.php.txt b/docs/files/Query/Drivers/DriverInterface.php.txt new file mode 100644 index 0000000..06f1d9b --- /dev/null +++ b/docs/files/Query/Drivers/DriverInterface.php.txt @@ -0,0 +1,230 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers; + +/** + * PDO Interface to implement for database drivers + */ +interface DriverInterface extends PDOInterface { + + /** + * Constructor/Connection method + * + * @param string $dsn + * @param string $username + * @param string $password + * @param array $driverOptions + */ + public function __construct($dsn, $username=NULL, $password=NULL, array $driverOptions = []); + + /** + * Simplifies prepared statements for database queries + * + * @param string $sql + * @param array $data + * @return \PDOStatement | FALSE + * @throws \InvalidArgumentException + */ + public function prepareQuery($sql, $data); + + /** + * Retrieve column information for the current database table + * + * @param string $table + * @return array + */ + public function getColumns($table); + + /** + * Retrieve list of data types for the database + * + * @return array + */ + public function getTypes(); + + /** + * Retrieve indexes for the table + * + * @param string $table + * @return array + */ + public function getIndexes($table); + + /** + * Retrieve foreign keys for the table + * + * @param string $table + * @return array + */ + public function getFks($table); + + /** + * Return list of tables for the current database + * + * @return array + */ + public function getTables(); + + /** + * Retrieves an array of non-user-created tables for + * the connection/database + * + * @return array + */ + public function getSystemTables(); + + /** + * Return list of dbs for the current connection, if possible + * + * @return array + */ + public function getDbs(); + + /** + * Return list of views for the current database + * + * @return array + */ + public function getViews(); + + /** + * Return list of sequences for the current database, if they exist + * + * @return array + */ + public function getSequences(); + + /** + * Return list of functions for the current database + * + * @return array + */ + public function getFunctions(); + + /** + * Return list of stored procedures for the current database + * + * @return array + */ + public function getProcedures(); + + /** + * Return list of triggers for the current database + * + * @return array + */ + public function getTriggers(); + + /** + * Surrounds the string with the databases identifier escape characters + * + * @param string|array $ident + * @return string|array + */ + public function quoteIdent($ident); + + /** + * Quote database table name, and set prefix + * + * @param string|array $table + * @return string|array + */ + public function quoteTable($table); + + /** + * Create and execute a prepared statement with the provided parameters + * + * @param string $sql + * @param array $params + * @return \PDOStatement + */ + public function prepareExecute($sql, $params); + + + + /** + * Method to simplify retrieving db results for meta-data queries + * + * @param string|array|null $query + * @param bool $filteredIndex + * @return array + */ + public function driverQuery($query, $filteredIndex=TRUE); + + /** + * Returns number of rows affected by an INSERT, UPDATE, DELETE type query + * + * @return int + */ + public function affectedRows(); + + /** + * Return the number of rows returned for a SELECT query + * @see http://us3.php.net/manual/en/pdostatement.rowcount.php#87110 + * + * @return int + */ + public function numRows(); + + /** + * Prefixes a table if it is not already prefixed + * + * @param string $table + * @return string + */ + public function prefixTable($table); + + /** + * Create sql for batch insert + * + * @param string $table + * @param array $data + * @return array + */ + public function insertBatch($table, $data=[]); + + /** + * Creates a batch update, and executes it. + * Returns the number of affected rows + * + * @param string $table + * @param array|object $data + * @param string $where + * @return int|null + */ + public function updateBatch($table, $data, $where); + + /** + * Get the SQL class for the current driver + * + * @return SQLInterface + */ + public function getSql(): SQLInterface; + + /** + * Get the Util class for the current driver + * + * @return AbstractUtil + */ + public function getUtil(): AbstractUtil; + + /** + * Set the last query sql + * + * @param string $queryString + * @return void + */ + public function setLastQuery(string $queryString); +} diff --git a/docs/files/Query/Drivers/Firebird/Driver.php.txt b/docs/files/Query/Drivers/Firebird/Driver.php.txt new file mode 100644 index 0000000..afbbd38 --- /dev/null +++ b/docs/files/Query/Drivers/Firebird/Driver.php.txt @@ -0,0 +1,370 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Firebird; + +use PDO; +use PDOException; +use Query\Drivers\AbstractDriver; +use Query\Drivers\DriverInterface; + +/** + * Firebird Database class + * + * PDO-firebird isn't stable, so this is a wrapper of the fbird_ public functions. + * + */ +class Driver extends AbstractDriver implements DriverInterface { + + /** + * Reference to the resource returned by + * the last query executed + * + * @var resource + */ + protected $statementLink = NULL; + + /** + * Reference to the current transaction + * + * @var resource + */ + protected $trans = NULL; + + /** + * Reference to the connection resource + * + * @var resource + */ + protected $conn = NULL; + + /** + * Reference to the service resource + * + * @var resource + */ + protected $service = NULL; + + /** + * Firebird doesn't have the truncate keyword + * + * @var boolean + */ + protected $hasTruncate = FALSE; + + /** + * Open the link to the database + * + * @param string $dbpath + * @param string $user + * @param string $pass + * @param array $options + * @throws PDOException + */ + public function __construct($dbpath, $user='SYSDBA', $pass='masterkey', array $options = []) + { + $connectFunction = (isset($options[PDO::ATTR_PERSISTENT]) && $options[PDO::ATTR_PERSISTENT]) + ? '\\fbird_pconnect' + : '\\fbird_connect'; + + $this->conn = $connectFunction($dbpath, $user, $pass, 'utf-8', 0); + $this->service = \fbird_service_attach('localhost', $user, $pass); + + // Throw an exception to make this match other pdo classes + if ( ! \is_resource($this->conn)) + { + throw new PDOException(\fbird_errmsg(), \fbird_errcode(), NULL); + } + + // Load these classes here because this + // driver does not call the constructor + // of AbstractDriver, which defines these + // class variables for the other drivers + $this->_loadSubClasses(); + } + + /** + * Cleanup some loose ends + * @codeCoverageIgnore + */ + public function __destruct() + { + \fbird_service_detach($this->service); + } + + /** + * Return service handle + * + * @return resource + */ + public function getService() + { + return $this->service; + } + + /** + * Execute an sql statement and return number of affected rows + * + * @param string $sql + * @return int + */ + public function exec($sql) + { + return NULL; + } + + /** + * Implement for compatibility with PDO + * + * @param int $attribute + * @return mixed + */ + public function getAttribute($attribute) + { + return NULL; + } + + /** + * Return whether the current statement is in a transaction + * + * @return bool + */ + public function inTransaction() + { + return ! is_null($this->trans); + } + + /** + * Returns the last value of the specified generator + * + * @param string $name + * @return mixed + */ + public function lastInsertId($name = NULL) + { + return \fbird_gen_id($name, 0, $this->conn); + } + + /** + * Wrapper public function to better match PDO + * + * @param string $sql + * @return Result + * @throws PDOException + */ + public function query($sql = '') + { + if (empty($sql)) + { + throw new PDOException("Query method requires an sql query!", 0, NULL); + } + + $this->statementLink = (isset($this->trans)) + ? \fbird_query($this->trans, $sql) + : \fbird_query($this->conn, $sql); + + // Throw the error as a exception + $errString = \fbird_errmsg() . "Last query:" . $this->getLastQuery(); + if ($this->statementLink === FALSE) + { + throw new PDOException($errString, \fbird_errcode(), NULL); + } + + $this->statement = new Result($this->statementLink, $this); + + return $this->statement; + } + + /** + * Emulate PDO prepare + * + * @param string $query + * @param array $options + * @return Result + * @throws PDOException + */ + public function prepare($query, $options=[]) + { + $this->statementLink = \fbird_prepare($this->conn, $query); + + // Throw the error as an exception + if ($this->statementLink === FALSE) + { + throw new PDOException(\fbird_errmsg(), \fbird_errcode(), NULL); + } + + $this->statement = new Result($this->statementLink, $this); + + return $this->statement; + } + + /** + * Start a database transaction + * + * @return boolean|null + */ + public function beginTransaction() + { + return (($this->trans = \fbird_trans($this->conn)) !== NULL) ? TRUE : NULL; + } + + /** + * Commit a database transaction + * + * @return bool + */ + public function commit() + { + $res = \fbird_commit($this->trans); + $this->trans = NULL; + return $res; + } + + /** + * Rollback a transaction + * + * @return bool + */ + public function rollBack() + { + $res = \fbird_rollback($this->trans); + $this->trans = NULL; + return $res; + } + + /** + * Set a connection attribute + * @param int $attribute + * @param mixed $value + * @return bool + */ + public function setAttribute($attribute, $value) + { + return FALSE; + } + + /** + * Prepare and execute a query + * + * @param string $sql + * @param array $args + * @return Result + */ + public function prepareExecute($sql, $args) + { + $query = $this->prepare($sql); + + // Set the statement in the class variable for easy later access + $this->statementLink =& $query; + + return $query->execute($args); + } + + /** + * Method to emulate PDO->quote + * + * @param string $str + * @param int $paramType + * @return string + */ + public function quote($str, $paramType = PDO::PARAM_STR) + { + if(is_numeric($str)) + { + return $str; + } + + return "'".str_replace("'", "''", $str)."'"; + } + + /** + * Method to emulate PDO->errorInfo / PDOStatement->errorInfo + * + * @return array + */ + public function errorInfo() + { + $code = \fbird_errcode(); + $msg = \fbird_errmsg(); + + return [0, $code, $msg]; + } + + /** + * Method to emulate PDO->errorCode + * + * @return array + */ + public function errorCode() + { + return \fbird_errcode(); + } + + /** + * Bind a prepared query with arguments for executing + * + * @param string $sql + * @param array $params + * @return NULL + */ + public function prepareQuery($sql, $params) + { + // You can't bind query statements before execution with + // the firebird database + return NULL; + } + + /** + * Create sql for batch insert + * + * @param string $table + * @param array $data + * @return array + */ + public function insertBatch($table, $data=[]) + { + // Each member of the data array needs to be an array + if ( ! is_array(current($data))) + { + return NULL; + } + + // Start the block of sql statements + $sql = "EXECUTE BLOCK AS BEGIN\n"; + + $table = $this->quoteTable($table); + $fields = \array_keys(\current($data)); + + $insertTemplate = "INSERT INTO {$table} (" + . implode(',', $this->quoteIdent($fields)) + . ") VALUES ("; + + foreach($data as $item) + { + // Quote string values + $vals = array_map([$this, 'quote'], $item); + + // Add the values in the sql + $sql .= $insertTemplate . implode(', ', $vals) . ");\n"; + } + + // End the block of SQL statements + $sql .= "END"; + + // Return a null array value so the query is run as it is, + // not as a prepared statement, because a prepared statement + // doesn't work for this type of query in Firebird. + return [$sql, NULL]; + } +} diff --git a/docs/files/Query/Drivers/Firebird/Result.php.txt b/docs/files/Query/Drivers/Firebird/Result.php.txt new file mode 100644 index 0000000..27d0aac --- /dev/null +++ b/docs/files/Query/Drivers/Firebird/Result.php.txt @@ -0,0 +1,270 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Firebird; + +use PDOStatement; +use Query\Drivers\PDOStatementInterface; + +/** + * Firebird result class to emulate PDOStatement Class - only implements + * data-fetching methods + * + * @package Query + * @subpackage Drivers + */ +class Result extends PDOStatement implements PDOStatementInterface { + + /** + * Reference to fbird resource + * + * @var resource + */ + private $statement; + + /** + * Current row in result array + * + * @var integer + */ + private $row; + + /** + * Data pulled from query + * + * @var mixed + */ + private $result = []; + + /** + * Reference to the db drive to de-duplicate error functions + * + * @var Driver + */ + private $db; + + /** + * Create the object by passing the resource for + * the query + * + * @param resource $link + * @param Driver|null $db + */ + public function __construct($link, Driver $db = NULL) + { + if ( ! is_null($db)) + { + $this->db = $db; + } + $this->statement = $link; + $this->setFetchMode(\PDO::FETCH_ASSOC); + $this->row = -1; + $this->result = []; + + // Create the result array, so that we can get row counts + // Check the resource type, because prepared statements are "interbase query" + // but we only want "interbase result" types when attempting to fetch data + if (\is_resource($link) && \get_resource_type($link) === "interbase result") + { + while($row = \fbird_fetch_assoc($link, \IBASE_FETCH_BLOBS)) + { + $this->result[] = $row; + } + + // Free the result resource + \fbird_free_result($link); + } + } + + /** + * Invalidate method for data consistency + * + * @param mixed $column + * @param mixed $param + * @param int $type + * @param mixed $maxlen + * @param array $driverdata + * @return NULL + */ + public function bindColumn($column, &$param, $type=NULL, $maxlen=NULL, $driverdata=NULL) + { + return NULL; + } + + /** + * Invalidate method for data consistency + * + * @param mixed $parameter + * @param mixed $variable + * @param int $dataType + * @param mixed $maxlen + * @param array $driverdata + * @return NULL + */ + public function bindParam($parameter, &$variable, $dataType=NULL, $maxlen=NULL, $driverdata=NULL) + { + return NULL; + } + + /** + * Invalidate method for data consistency + * + * @param mixed $parameter + * @param mixed $variable + * @param int $dataType + * @return NULL + */ + public function bindValue($parameter, $variable, $dataType=NULL) + { + return NULL; + } + + /** + * Run a prepared statement query + * + * @param array $boundInputParams + * @return Result + */ + public function execute($boundInputParams = NULL) + { + //Add the prepared statement as the first parameter + \array_unshift($boundInputParams, $this->statement); + + // Let php do all the hard stuff in converting + // the array of arguments into a list of arguments + // Then pass the resource to the constructor + $this->__construct(\call_user_func_array('fbird_execute', $boundInputParams)); + + return $this; + } + + /** + * Emulate PDO fetch public function + * + * @param int $fetchStyle + * @param mixed $cursorOrientation + * @param mixed $cursorOffset + * @return mixed + */ + public function fetch($fetchStyle=\PDO::FETCH_ASSOC, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset=NULL) + { + // If there is no result, continue + if (empty($this->result)) + { + return NULL; + } + + // Keep track of the current row being fetched + ++$this->row; + + // return NULL if the next row doesn't exist + if ( ! isset($this->result[$this->row])) + { + return NULL; + } + + switch($fetchStyle) + { + case \PDO::FETCH_OBJ: + $row = (object) $this->result[$this->row]; + break; + + case \PDO::FETCH_NUM: + $row = \array_values($this->result[$this->row]); + break; + + default: + $row = $this->result[$this->row]; + break; + } + + return $row; + } + + /** + * Emulate PDO fetchAll public function + * + * @param int $fetchStyle + * @param mixed $statement + * @param mixed $ctorArgs + * @return mixed + */ + public function fetchAll($fetchStyle=\PDO::FETCH_ASSOC, $statement=NULL, $ctorArgs=NULL) + { + $all = []; + + while($row = $this->fetch($fetchStyle, $statement)) + { + $all[] = $row; + } + + $this->result = $all; + + return $all; + } + + /** + * Emulate PDOStatement::fetchColumn + * + * @param int $columnNum + * @return mixed + */ + public function fetchColumn($columnNum=0) + { + $row = $this->fetch(\PDO::FETCH_NUM); + return $row[$columnNum]; + } + + /** + * Emulate PDOStatement::fetchObject, but only for the default use + * + * @param string $className + * @param array|null $ctorArgs + * @return object + */ + public function fetchObject($className='stdClass', $ctorArgs=NULL) + { + return $this->fetch(\PDO::FETCH_OBJ); + } + + /** + * Return the number of rows affected by the previous query + * + * @return int + */ + public function rowCount() + { + return \fbird_affected_rows(); + } + + /** + * Method to emulate PDOStatement->errorCode + * + * @return string + */ + public function errorCode() + { + return $this->db->errorCode(); + } + + /** + * Method to emulate PDO->errorInfo / PDOStatement->errorInfo + * + * @return array + */ + public function errorInfo() + { + return $this->db->errorInfo(); + } +} diff --git a/docs/files/Query/Drivers/Firebird/SQL.php.txt b/docs/files/Query/Drivers/Firebird/SQL.php.txt new file mode 100644 index 0000000..88d1632 --- /dev/null +++ b/docs/files/Query/Drivers/Firebird/SQL.php.txt @@ -0,0 +1,287 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Firebird; + +use Query\Drivers\AbstractSQL; + +/** + * Firebird Specific SQL + */ +class SQL extends AbstractSQL { + + /** + * Limit clause + * + * @param string $sql + * @param int $limit + * @param int|bool $offset + * @return string + */ + public function limit($sql, $limit, $offset=FALSE) + { + // Keep the current sql string safe for a moment + $origSql = $sql; + + $sql = 'FIRST '. (int) $limit; + + if ($offset > 0) + { + $sql .= ' SKIP '. (int) $offset; + } + + $sql = preg_replace("`SELECT`i", "SELECT {$sql}", $origSql); + + return $sql; + } + + /** + * Get the query plan for the sql query + * + * @param string $sql + * @return string + */ + public function explain($sql) + { + return $sql; + } + + /** + * Random ordering keyword + * + * @return string + */ + public function random() + { + return NULL; + } + + /** + * Returns sql to list other databases + * + * @return NULL + */ + public function dbList() + { + return NULL; + } + + /** + * Returns sql to list tables + * + * @return string + */ + public function tableList() + { + return << d2.RDB\$DEPENDED_ON_NAME + AND d1.RDB\$FIELD_NAME <> d2.RDB\$FIELD_NAME + AND rc.RDB\$RELATION_NAME = '{$table}' -- table name +SQL; + } + + /** + * Get the list of indexes for the current table + * + * @param string $table + * @return array + */ + public function indexList($table) + { + return << + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Firebird; + +use PDO; +use Query\Drivers\AbstractUtil; + +/** + * Firebird-specific backup, import and creation methods + */ +class Util extends AbstractUtil { + + /** + * Convenience public function to generate sql for creating a db table + * + * @param string $name + * @param array $fields + * @param array $constraints + * @param bool $ifNotExists + * @return string + */ + public function createTable($name, $fields, array $constraints=[], $ifNotExists=FALSE) + { + return parent::createTable($name, $fields, $constraints, FALSE); + } + + /** + * Drop the selected table + * + * @param string $name + * @return string + */ + public function deleteTable($name) + { + return 'DROP TABLE '.$this->getDriver()->quoteTable($name); + } + + /** + * Create an SQL backup file for the current database's structure + * + * @return string + */ + public function backupStructure(/* @param string $dbPath, @param string $newFile */) + { + list($dbPath, $newFile) = func_get_args(); + return ibase_backup($this->getDriver()->getService(), $dbPath, $newFile, \IBASE_BKP_METADATA_ONLY); + } + + /** + * Create an SQL backup file for the current database's data + * + * @param array $exclude + * @param bool $systemTables + * @return string + */ + public function backupData($exclude=[], $systemTables=FALSE) + { + // Determine which tables to use + $tables = $this->getDriver()->getTables(); + if($systemTables == TRUE) + { + $tables = array_merge($tables, $this->getDriver()->getSystemTables()); + } + + // Filter out the tables you don't want + if( ! empty($exclude)) + { + $tables = array_diff($tables, $exclude); + } + + $outputSql = ''; + + // Get the data for each object + foreach($tables as $t) + { + $sql = 'SELECT * FROM "'.trim($t).'"'; + $res = $this->getDriver()->query($sql); + $objRes = $res->fetchAll(PDO::FETCH_ASSOC); + + // Don't add to the file if the table is empty + if (count($objRes) < 1) + { + continue; + } + + // Nab the column names by getting the keys of the first row + $columns = @array_keys($objRes[0]); + + $insertRows = []; + + // Create the insert statements + foreach($objRes as $row) + { + $row = array_values($row); + + // Quote values as needed by type + if(stripos($t, 'RDB$') === FALSE) + { + $row = array_map([$this->getDriver(), 'quote'], $row); + $row = array_map('trim', $row); + } + + $rowString = 'INSERT INTO "'.trim($t).'" ("'.implode('","', $columns).'") VALUES ('.implode(',', $row).');'; + + $row = NULL; + + $insertRows[] = $rowString; + } + + $outputSql .= "\n\nSET TRANSACTION;\n".implode("\n", $insertRows)."\nCOMMIT;"; + } + + return $outputSql; + } +} diff --git a/docs/files/Query/Drivers/Mysql/Driver.php.txt b/docs/files/Query/Drivers/Mysql/Driver.php.txt new file mode 100644 index 0000000..128561f --- /dev/null +++ b/docs/files/Query/Drivers/Mysql/Driver.php.txt @@ -0,0 +1,66 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Mysql; + +use PDO; +use Query\Drivers\AbstractDriver; +use Query\Drivers\DriverInterface; + +/** + * MySQL specific class + */ +class Driver extends AbstractDriver implements DriverInterface { + + /** + * Set the backtick as the MySQL escape character + * + * @var string + */ + protected $escapeCharOpen = '`'; + + /** + * Set the backtick as the MySQL escape character + * + * @var string + */ + protected $escapeCharClose = '`'; + + /** + * Connect to MySQL Database + * + * @codeCoverageIgnore + * @param string $dsn + * @param string $username + * @param string $password + * @param array $options + */ + public function __construct($dsn, $username=NULL, $password=NULL, array $options=[]) + { + // Set the charset to UTF-8 + if (defined('\\PDO::MYSQL_ATTR_INIT_COMMAND')) + { + $options = array_merge($options, [ + PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF-8 COLLATE 'UTF-8'", + ]); + } + + if (strpos($dsn, 'mysql') === FALSE) + { + $dsn = 'mysql:'.$dsn; + } + + parent::__construct($dsn, $username, $password, $options); + } +} diff --git a/docs/files/Query/Drivers/Mysql/SQL.php.txt b/docs/files/Query/Drivers/Mysql/SQL.php.txt new file mode 100644 index 0000000..4f04748 --- /dev/null +++ b/docs/files/Query/Drivers/Mysql/SQL.php.txt @@ -0,0 +1,206 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Mysql; + +use Query\Drivers\AbstractSQL; + +/** + * MySQL specific SQL + */ +class SQL extends AbstractSQL { + + /** + * Limit clause + * + * @param string $sql + * @param int $limit + * @param int|boolean $offset + * @return string + */ + public function limit($sql, $limit, $offset=FALSE) + { + if ( ! is_numeric($offset)) + { + return $sql." LIMIT {$limit}"; + } + + return $sql." LIMIT {$offset}, {$limit}"; + } + + /** + * Get the query plan for the sql query + * + * @param string $sql + * @return string + */ + public function explain($sql) + { + return "EXPLAIN EXTENDED {$sql}"; + } + + /** + * Random ordering keyword + * + * @return string + */ + public function random() + { + return ' RAND() DESC'; + } + + /** + * Returns sql to list other databases + * + * @return string + */ + public function dbList() + { + return "SHOW DATABASES WHERE `Database` NOT IN ('information_schema','mysql')"; + } + + /** + * Returns sql to list tables + * + * @param string $database + * @return string + */ + public function tableList($database='') + { + if ( ! empty($database)) + { + return "SHOW TABLES FROM `{$database}`"; + } + + return 'SHOW TABLES'; + } + + /** + * Overridden in MySQL class + * + * @return string + */ + public function systemTableList() + { + return 'SELECT `TABLE_NAME` FROM `information_schema`.`TABLES` + WHERE `TABLE_SCHEMA`=\'information_schema\''; + } + + /** + * Returns sql to list views + * + * @return string + */ + public function viewList() + { + return 'SELECT `table_name` FROM `information_schema`.`views`'; + } + + /** + * Returns sql to list triggers + * + * @return string + */ + public function triggerList() + { + return 'SHOW TRIGGERS'; + } + + /** + * Return sql to list functions + * + * @return string + */ + public function functionList() + { + return 'SHOW FUNCTION STATUS'; + } + + /** + * Return sql to list stored procedures + * + * @return string + */ + public function procedureList() + { + return 'SHOW PROCEDURE STATUS'; + } + + /** + * Return sql to list sequences + * + * @return NULL + */ + public function sequenceList() + { + return NULL; + } + + /** + * SQL to show list of field types + * + * @return string + */ + public function typeList() + { + return "SELECT DISTINCT `DATA_TYPE` FROM `information_schema`.`COLUMNS`"; + } + + /** + * SQL to show infromation about columns in a table + * + * @param string $table + * @return string + */ + public function columnList($table) + { + return "SHOW FULL COLUMNS FROM {$table}"; + } + + /** + * Get the list of foreign keys for the current + * table + * + * @param string $table + * @return string + */ + public function fkList($table) + { + return << + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Mysql; + +use PDO; +use Query\Drivers\AbstractUtil; + +/** + * MySQL-specific backup, import and creation methods + */ +class Util extends AbstractUtil { + + /** + * Create an SQL backup file for the current database's structure + * + * @return string + */ + public function backupStructure() + { + $string = []; + + // Get databases + $dbs = $this->getDriver()->getDbs(); + + foreach($dbs as &$d) + { + // Skip built-in dbs + if ($d == 'mysql') + { + continue; + } + + // Get the list of tables + $tables = $this->getDriver()->driverQuery("SHOW TABLES FROM `{$d}`", TRUE); + + foreach($tables as $table) + { + $array = $this->getDriver()->driverQuery("SHOW CREATE TABLE `{$d}`.`{$table}`", FALSE); + $row = current($array); + + if ( ! isset($row['Create Table'])) + { + continue; + } + + + $string[] = $row['Create Table']; + } + } + + return implode("\n\n", $string); + } + + /** + * Create an SQL backup file for the current database's data + * + * @param array $exclude + * @return string + */ + public function backupData($exclude=[]) + { + $tables = $this->getDriver()->getTables(); + + // Filter out the tables you don't want + if( ! empty($exclude)) + { + $tables = array_diff($tables, $exclude); + } + + $outputSql = ''; + + // Select the rows from each Table + foreach($tables as $t) + { + $sql = "SELECT * FROM `{$t}`"; + $res = $this->getDriver()->query($sql); + $rows = $res->fetchAll(PDO::FETCH_ASSOC); + + // Skip empty tables + if (count($rows) < 1) + { + continue; + } + + // Nab the column names by getting the keys of the first row + $columns = @array_keys($rows[0]); + + $insertRows = []; + + // Create the insert statements + foreach($rows as $row) + { + $row = array_values($row); + + // Workaround for Quercus + foreach($row as &$r) + { + $r = $this->getDriver()->quote($r); + } + $row = array_map('trim', $row); + + $rowString = 'INSERT INTO `'.trim($t).'` (`'.implode('`,`', $columns).'`) VALUES ('.implode(',', $row).');'; + + $row = NULL; + + $insertRows[] = $rowString; + } + + $outputSql .= "\n\n".implode("\n", $insertRows)."\n"; + } + + return $outputSql; + } +} diff --git a/docs/files/Query/Drivers/PDOInterface.php.txt b/docs/files/Query/Drivers/PDOInterface.php.txt new file mode 100644 index 0000000..7413524 --- /dev/null +++ b/docs/files/Query/Drivers/PDOInterface.php.txt @@ -0,0 +1,147 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers; + +use PDO; +use PDOException; +use PDOStatement; + +/** + * Interface describing the PDO class in PHP + */ +interface PDOInterface { + + /** + * Creates a PDO instance representing a connection to a database + * + * @param string $dsn + * @param string $username + * @param string $password + * @param array $options + * @throws PDOException + */ + public function __construct($dsn, $username, $password, array $options = []); + + /** + * Initiates a transaction + * + * @throws PDOException + * @return boolean + */ + public function beginTransaction(); + + /** + * Commits a transaction + * + * @throws PDOException + * @return boolean + */ + public function commit(); + + /** + * Fetch the SQLSTATE associated with the last operation on the database handle + * + * @return mixed + */ + public function errorCode(); + + /** + * Fetch extended error information associated with the last operation on the database handle + * + * @return array + */ + public function errorInfo(); + + /** + * Execute an SQL statement and return the number of affected rows + * + * @param string $statement + * @return int + */ + public function exec($statement); + + /** + * Retrieve a database connection attribute + * + * @param int $attribute + * @return mixed + */ + public function getAttribute($attribute); + + /** + * Return an array of available PDO drivers + * + * @return array + */ + public static function getAvailableDrivers(); + + /** + * Checks if inside a transaction + * + * @return boolean + */ + public function inTransaction(); + + /** + * Returns teh ID of the last inserted row or sequence value + * + * @param string $name Name of the sequence object from which the ID should be returned + * @return string + */ + public function lastInsertId($name = NULL); + + /** + * Prepares a statement for execution and returns a statement object + * + * @param string $statement + * @param array $options + * @return PDOStatement + */ + public function prepare($statement, $options = NULL); + + /** + * Executes an SQL statement, returning a result set as a PDOStatement object + * + * @return PDOStatement + */ + public function query(); + + /** + * Quotes a string for use in a query + * + * @param string $string + * @param int $parameterType + * @return string|false + */ + public function quote($string, $parameterType = PDO::PARAM_STR); + + /** + * Rolls back a transaction + * + * @throws PDOException + * @return boolean + */ + public function rollBack(); + + /** + * Set an attribute + * + * @param int $attribute + * @param mixed $value + * @return boolean + */ + public function setAttribute($attribute, $value); +} + diff --git a/docs/files/Query/Drivers/PDOStatementInterface.php.txt b/docs/files/Query/Drivers/PDOStatementInterface.php.txt new file mode 100644 index 0000000..67b4e86 --- /dev/null +++ b/docs/files/Query/Drivers/PDOStatementInterface.php.txt @@ -0,0 +1,176 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + +namespace Query\Drivers; + +use PDO; + +/** + * Interface created from official PHP Documentation + */ +interface PDOStatementInterface { + + /** + * Bind a column to a PHP variable + * + * @param mixed $column Number or name of the column in the result set + * @param mixed $param Name of the PHP variable to which the column will be bound + * @param int $type Data type of the parameter, specified by the PDO::PARAM_* constants + * @param int $maxlen A hint for pre-allocation + * @param mixed $driverdata Optional parameter(s) for the driver + * @return boolean + */ + public function bindColumn($column, &$param, $type, $maxlen, $driverdata); + + /** + * Binds a parameter to the specified variable name + * + * @param mixed $parameter Parameter identifier. For a prepared statement using named placeholders, this will be a + * parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the + * 1-indexed position of the parameter. + * @param mixed $variable Name of the PHP variable to bind to the SQL statement parameter. + * @param int $dataType Explicit data type for the parameter using the PDO::PARAM_* constants. To return an INOUT + * parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits + * for the data_type parameter. + * @param int $length Length of the data type. To indicate that a parameter is an OUT parameter from a stored procedure, + * you must explicitly set the length. + * @param mixed $driverOptions + * @return boolean + */ + public function bindParam($parameter, &$variable, $dataType = PDO::PARAM_STR, $length, $driverOptions); + + /** + * Binds a value to a corresponding named or question mark placeholder in the SQL statement that was used to + * prepare the statement + * + * @param mixed $parameter Parameter identifier. For a prepared statement using named placeholders, this will be a + * parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the + * 1-indexed position of the parameter. + * @param mixed $value The value to bind to the parameter + * @param int $dataType Explicit data type for the parameter using the PDO::PARAM_* constants. + * @return boolean + */ + public function bindValue($parameter, $value, $dataType = PDO::PARAM_STR); + + /** + * Frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a + * state that enables it to be executed again + * + * @return boolean + */ + public function closeCursor(); + + /** + * Returns the number of columns in the result set + * + * @return int + */ + public function columnCount(); + + /** + * Dumps the information contained by a prepared statement directly on the output + * + * @return void + */ + public function debugDumpParams(); + + /** + * Fetch the SQLSTATE associated with the last operation on the statement handle + * + * @return string + */ + public function errorCode(); + + /** + * Fetch extended error information associated with the last operation on the statement handle + * + * @return array + */ + public function errorInfo(); + + /** + * Run a prepared statement query + * + * @param array $boundInputParams + * @return boolean + */ + public function execute($boundInputParams = NULL); + + /** + * Fetches the next row from a result set + * + * @param int $how + * @param int $orientation + * @param int $offset + * @return mixed + */ + public function fetch($how = PDO::ATTR_DEFAULT_FETCH_MODE, $orientation = PDO::FETCH_ORI_NEXT, $offset = 0); + + /** + * Returns a single column from the next row of a result set + * + * @param int $columnNumber + * @return mixed + */ + public function fetchColumn($columnNumber = 0); + + /** + * Fetches the next row and returns it as an object + * + * @param string $className + * @param array $ctorArgs + * @return mixed + */ + public function fetchObject($className = "stdClass", $ctorArgs = NULL); + + /** + * Retrieve a statement attribute + * + * @param int $attribute + * @return mixed + */ + public function getAttribute($attribute); + + /** + * Advances to the next rowset in a multi-rowset statement handle + * + * @return boolean + */ + public function nextRowset(); + + /** + * Returns the number of rows affected by the last SQL statement + * + * @return int + */ + public function rowCount(); + + /** + * Set a statement attribute + * + * @param int $attribute + * @param mixed $value + * @return boolean + */ + public function setAttribute($attribute, $value); + + /** + * Set the default fetch mode for this statement + * + * @param int $mode + * @return boolean + */ + public function setFetchMode($mode); +} diff --git a/docs/files/Query/Drivers/Pgsql/Driver.php.txt b/docs/files/Query/Drivers/Pgsql/Driver.php.txt new file mode 100644 index 0000000..649e8b2 --- /dev/null +++ b/docs/files/Query/Drivers/Pgsql/Driver.php.txt @@ -0,0 +1,94 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Pgsql; + +use Query\Drivers\AbstractDriver; +use Query\Drivers\DriverInterface; + +/** + * PostgreSQL specific class + */ +class Driver extends AbstractDriver implements DriverInterface { + + /** + * Connect to a PosgreSQL database + * + * @codeCoverageIgnore + * @param string $dsn + * @param string $username + * @param string $password + * @param array $options + */ + public function __construct($dsn, $username=NULL, $password=NULL, array $options=[]) + { + if (strpos($dsn, 'pgsql') === FALSE) + { + $dsn = 'pgsql:'.$dsn; + } + + parent::__construct($dsn, $username, $password, $options); + } + + // -------------------------------------------------------------------------- + + /** + * Get a list of schemas for the current connection + * + * @return array + */ + public function getSchemas() + { + $sql = <<driverQuery($sql); + } + + // -------------------------------------------------------------------------- + + /** + * Retrieve foreign keys for the table + * + * @param string $table + * @return array + */ + public function getFks($table) + { + $valueMap = [ + 'c' => 'CASCADE', + 'r' => 'RESTRICT', + ]; + + $keys = parent::getFks($table); + + foreach($keys as &$key) + { + foreach(['update', 'delete'] AS $type) + { + if ( ! isset($valueMap[$key[$type]])) + { + continue; + } + + $key[$type] = $valueMap[$key[$type]]; + } + } + + return $keys; + } +} diff --git a/docs/files/Query/Drivers/Pgsql/SQL.php.txt b/docs/files/Query/Drivers/Pgsql/SQL.php.txt new file mode 100644 index 0000000..0418a02 --- /dev/null +++ b/docs/files/Query/Drivers/Pgsql/SQL.php.txt @@ -0,0 +1,276 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Pgsql; + +use Query\Drivers\AbstractSQL; + +/** + * PostgreSQL specific SQL + */ +class SQL extends AbstractSQL { + + /** + * Get the query plan for the sql query + * + * @param string $sql + * @return string + */ + public function explain($sql) + { + return "EXPLAIN VERBOSE {$sql}"; + } + + /** + * Random ordering keyword + * + * @return string + */ + public function random() + { + return ' RANDOM()'; + } + + /** + * Returns sql to list other databases + * + * @return string + */ + public function dbList() + { + return << + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Pgsql; + +use Query\Drivers\AbstractUtil; + +/** + * Posgres-specific backup, import and creation methods + */ +class Util extends AbstractUtil { + + /** + * Create an SQL backup file for the current database's structure + * + * @return string + */ + public function backupStructure() + { + // @TODO Implement Backup function + return ''; + } + + /** + * Create an SQL backup file for the current database's data + * + * @param array $exclude + * @return string + */ + public function backupData($exclude=[]) + { + $tables = $this->getDriver()->getTables(); + + // Filter out the tables you don't want + if( ! empty($exclude)) + { + $tables = array_diff($tables, $exclude); + } + + $outputSql = ''; + + // Get the data for each object + foreach($tables as $t) + { + $sql = 'SELECT * FROM "'.trim($t).'"'; + $res = $this->getDriver()->query($sql); + $objRes = $res->fetchAll(\PDO::FETCH_ASSOC); + + // Don't add to the file if the table is empty + if (count($objRes) < 1) + { + continue; + } + + $res = NULL; + + // Nab the column names by getting the keys of the first row + $columns = @array_keys($objRes[0]); + + $insertRows = []; + + // Create the insert statements + foreach($objRes as $row) + { + $row = array_values($row); + + // Quote values as needed by type + $row = array_map([$this->getDriver(), 'quote'], $row); + $row = array_map('trim', $row); + + + $rowString = 'INSERT INTO "'.trim($t).'" ("'.implode('","', $columns).'") VALUES ('.implode(',', $row).');'; + + $row = NULL; + + $insertRows[] = $rowString; + } + + $objRes = NULL; + + $outputSql .= "\n\n".implode("\n", $insertRows)."\n"; + } + + return $outputSql; + } +} diff --git a/docs/files/Query/Drivers/SQLInterface.php.txt b/docs/files/Query/Drivers/SQLInterface.php.txt new file mode 100644 index 0000000..6886fb6 --- /dev/null +++ b/docs/files/Query/Drivers/SQLInterface.php.txt @@ -0,0 +1,139 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + +namespace Query\Drivers; + +/** + * parent for database manipulation subclasses + * + * @package Query + * @subpackage Drivers + */ +interface SQLInterface { + + /** + * Get database specific sql for limit clause + * + * @param string $sql + * @param int $limit + * @param int|bool $offset + * @return string + */ + public function limit($sql, $limit, $offset=FALSE); + + /** + * Modify the query to get the query plan + * + * @param string $sql + * @return string + */ + public function explain($sql); + + /** + * Get the sql for random ordering + * + * @return string + */ + public function random(); + + /** + * Returns sql to list other databases + * + * @return string + */ + public function dbList(); + + /** + * Returns sql to list tables + * + * @return string + */ + public function tableList(); + + /** + * Returns sql to list system tables + * + * @return string + */ + public function systemTableList(); + + /** + * Returns sql to list views + * + * @return string + */ + public function viewList(); + + /** + * Returns sql to list triggers + * + * @return string + */ + public function triggerList(); + + /** + * Return sql to list functions + * + * @return NULL + */ + public function functionList(); + + /** + * Return sql to list stored procedures + * + * @return string + */ + public function procedureList(); + + /** + * Return sql to list sequences + * + * @return string + */ + public function sequenceList(); + + /** + * Return sql to list database field types + * + * @return string|array + */ + public function typeList(); + + /** + * Get information about the columns in the + * specified table + * + * @param string $table + * @return string + */ + public function columnList($table); + + /** + * Get the list of foreign keys for the current + * table + * + * @param string $table + * @return array + */ + public function fkList($table); + + /** + * Get the list of indexes for the current table + * + * @param string $table + * @return array + */ + public function indexList($table); +} diff --git a/docs/files/Query/Drivers/Sqlite/Driver.php.txt b/docs/files/Query/Drivers/Sqlite/Driver.php.txt new file mode 100644 index 0000000..96df4ee --- /dev/null +++ b/docs/files/Query/Drivers/Sqlite/Driver.php.txt @@ -0,0 +1,143 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Sqlite; + +use PDO; +use PDOStatement; +use Query\Drivers\AbstractDriver; +use Query\Drivers\DriverInterface; + +/** + * SQLite specific class + */ +class Driver extends AbstractDriver implements DriverInterface { + + /** + * Reference to the last executed sql query + * + * @var PDOStatement + */ + protected $statement; + + /** + * SQLite has a truncate optimization, + * but no support for the actual keyword + * @var boolean + */ + protected $hasTruncate = FALSE; + + /** + * Open SQLite Database + * + * @param string $dsn + * @param string $user + * @param string $pass + * @param array $driverOptions + */ + public function __construct($dsn, $user=NULL, $pass=NULL, array $driverOptions=[]) + { + if (strpos($dsn, 'sqlite:') === FALSE) + { + $dsn = "sqlite:{$dsn}"; + } + + parent::__construct($dsn, $user, $pass); + } + + /** + * List tables for the current database + * + * @return mixed + */ + public function getTables() + { + $sql = $this->sql->tableList(); + $res = $this->query($sql); + return db_filter($res->fetchAll(PDO::FETCH_ASSOC), 'name'); + } + + /** + * Retrieve foreign keys for the table + * + * @param string $table + * @return array + */ + public function getFks($table) + { + $returnRows = []; + + foreach(parent::getFks($table) as $row) + { + $returnRows[] = [ + 'child_column' => $row['from'], + 'parent_table' => $row['table'], + 'parent_column' => $row['to'], + 'update' => $row['on_update'], + 'delete' => $row['on_delete'] + ]; + } + + return $returnRows; + } + + /** + * Create sql for batch insert + * + * @codeCoverageIgnore + * @param string $table + * @param array $data + * @return string + */ + public function insertBatch($table, $data=[]) + { + // If greater than version 3.7.11, supports the same syntax as + // MySQL and Postgres + if (version_compare($this->getAttribute(PDO::ATTR_SERVER_VERSION), '3.7.11', '>=')) + { + return parent::insertBatch($table, $data); + } + + // -------------------------------------------------------------------------- + // Otherwise, do a union query as an analogue to a 'proper' batch insert + // -------------------------------------------------------------------------- + + // Each member of the data array needs to be an array + if ( ! is_array(current($data))) + { + return NULL; + } + + // Start the block of sql statements + $table = $this->quoteTable($table); + $sql = "INSERT INTO {$table} \n"; + + // Create a key-value mapping for each field + $first = array_shift($data); + $cols = []; + foreach($first as $colname => $datum) + { + $cols[] = $this->_quote($datum) . ' AS ' . $this->quoteIdent($colname); + } + $sql .= "SELECT " . implode(', ', $cols) . "\n"; + + foreach($data as $union) + { + $vals = array_map([$this, 'quote'], $union); + $sql .= "UNION SELECT " . implode(',', $vals) . "\n"; + } + + return [$sql, NULL]; + } +} diff --git a/docs/files/Query/Drivers/Sqlite/SQL.php.txt b/docs/files/Query/Drivers/Sqlite/SQL.php.txt new file mode 100644 index 0000000..74d6fb1 --- /dev/null +++ b/docs/files/Query/Drivers/Sqlite/SQL.php.txt @@ -0,0 +1,177 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Sqlite; + +use Query\Drivers\AbstractSQL; + +/** + * SQLite Specific SQL + */ +class SQL extends AbstractSQL { + + /** + * Get the query plan for the sql query + * + * @param string $sql + * @return string + */ + public function explain($sql) + { + return "EXPLAIN QUERY PLAN {$sql}"; + } + + /** + * Random ordering keyword + * + * @return string + */ + public function random() + { + return ' RANDOM()'; + } + + /** + * Returns sql to list other databases + * + * @return string + */ + public function dbList() + { + return 'PRAGMA database_list'; + } + + /** + * Returns sql to list tables + * + * @return string + */ + public function tableList() + { + return << + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query\Drivers\Sqlite; + +use PDO; +use Query\Drivers\AbstractUtil; + +/** + * SQLite-specific backup, import and creation methods + * + * @package Query + * @subpackage Drivers + * @method mixed query(string $sql) + * @method string quote(string $str) + */ +class Util extends AbstractUtil { + + /** + * Create an SQL backup file for the current database's data + * + * @param array $excluded + * @return string + */ + public function backupData($excluded=[]) + { + // Get a list of all the objects + $sql = 'SELECT DISTINCT "name" + FROM "sqlite_master" + WHERE "type"=\'table\''; + + if( ! empty($excluded)) + { + $sql .= " AND \"name\" NOT IN('".implode("','", $excluded)."')"; + } + + $res = $this->getDriver()->query($sql); + $result = $res->fetchAll(PDO::FETCH_ASSOC); + + unset($res); + + $outputSql = ''; + + // Get the data for each object + foreach($result as $r) + { + $sql = 'SELECT * FROM "'.$r['name'].'"'; + $res = $this->getDriver()->query($sql); + $objRes = $res->fetchAll(PDO::FETCH_ASSOC); + + unset($res); + + // If the row is empty, continue; + if (empty($objRes)) + { + continue; + } + + // Nab the column names by getting the keys of the first row + $columns = array_keys(current($objRes)); + + $insertRows = []; + + // Create the insert statements + foreach($objRes as $row) + { + $row = array_values($row); + + // Quote values as needed by type + for($i=0, $icount=count($row); $i<$icount; $i++) + { + $row[$i] = (is_numeric($row[$i])) ? $row[$i] : $this->getDriver()->quote($row[$i]); + } + + $rowString = 'INSERT INTO "'.$r['name'].'" ("'.implode('","', $columns).'") VALUES ('.implode(',', $row).');'; + + unset($row); + + $insertRows[] = $rowString; + } + + unset($objRes); + + $outputSql .= "\n\n".implode("\n", $insertRows); + } + + return $outputSql; + } + + /** + * Create an SQL backup file for the current database's structure + * + * @return string + */ + public function backupStructure() + { + // Fairly easy for SQLite...just query the master table + $sql = 'SELECT "sql" FROM "sqlite_master"'; + $res = $this->getDriver()->query($sql); + $result = $res->fetchAll(PDO::FETCH_ASSOC); + + $sqlArray = []; + + foreach($result as $r) + { + $sqlArray[] = $r['sql']; + } + + return implode(";\n", $sqlArray) . ";"; + } +} diff --git a/docs/files/Query/QueryBuilder.php.txt b/docs/files/Query/QueryBuilder.php.txt new file mode 100644 index 0000000..b354ad4 --- /dev/null +++ b/docs/files/Query/QueryBuilder.php.txt @@ -0,0 +1,896 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query; + +use BadMethodCallException; +use PDOStatement; +use Query\Drivers\DriverInterface; + +/** + * Convenience class for creating sql queries + */ +class QueryBuilder extends AbstractQueryBuilder implements QueryBuilderInterface { + + /** + * String class values to be reset + * + * @var array + */ + private $stringVars = [ + 'selectString', + 'fromString', + 'setString', + 'orderString', + 'groupString', + 'limit', + 'offset', + 'explain', + ]; + + /** + * Array class variables to be reset + * + * @var array + */ + private $arrayVars = [ + 'setArrayKeys', + 'orderArray', + 'groupArray', + 'values', + 'whereValues', + 'queryMap', + 'havingMap' + ]; + + // -------------------------------------------------------------------------- + // ! Methods + // -------------------------------------------------------------------------- + + /** + * Constructor + * + * @param DriverInterface $db + * @param QueryParser $parser + */ + public function __construct(DriverInterface $db, QueryParser $parser) + { + // Inject driver and parser + $this->db = $db; + $this->parser = $parser; + + $this->queries['total_time'] = 0; + + // Alias driver sql and util classes + $this->sql = $this->db->getSql(); + $this->util = $this->db->getUtil(); + } + + /** + * Destructor + * @codeCoverageIgnore + */ + public function __destruct() + { + $this->db = NULL; + } + + /** + * Calls a function further down the inheritance chain + * + * @param string $name + * @param array $params + * @return mixed + * @throws BadMethodCallException + */ + public function __call(string $name, array $params) + { + // Alias snake_case method calls + $camelName = \to_camel_case($name); + + foreach([$this, $this->db] as $object) + { + foreach([$name, $camelName] as $methodName) + { + if (method_exists($object, $methodName)) + { + return call_user_func_array([$object, $methodName], $params); + } + } + + } + + throw new BadMethodCallException('Method does not exist'); + } + + // -------------------------------------------------------------------------- + // ! Select Queries + // -------------------------------------------------------------------------- + + /** + * Specifies rows to select in a query + * + * @param string $fields + * @return QueryBuilderInterface + */ + public function select(string $fields): QueryBuilderInterface + { + // Split fields by comma + $fieldsArray = explode(',', $fields); + $fieldsArray = array_map('mb_trim', $fieldsArray); + + // Split on 'As' + foreach ($fieldsArray as $key => $field) + { + if (stripos($field, 'as') !== FALSE) + { + $fieldsArray[$key] = preg_split('` as `i', $field); + $fieldsArray[$key] = array_map('mb_trim', $fieldsArray[$key]); + } + } + + // Quote the identifiers + $safeArray = $this->db->quoteIdent($fieldsArray); + + unset($fieldsArray); + + // Join the strings back together + for($i = 0, $c = count($safeArray); $i < $c; $i++) + { + if (is_array($safeArray[$i])) + { + $safeArray[$i] = implode(' AS ', $safeArray[$i]); + } + } + + $this->selectString .= implode(', ', $safeArray); + + unset($safeArray); + + return $this; + } + + /** + * Selects the maximum value of a field from a query + * + * @param string $field + * @param string|bool $as + * @return QueryBuilderInterface + */ + public function selectMax(string $field, $as=FALSE): QueryBuilderInterface + { + // Create the select string + $this->selectString .= ' MAX'.$this->_select($field, $as); + return $this; + } + + /** + * Selects the minimum value of a field from a query + * + * @param string $field + * @param string|bool $as + * @return QueryBuilderInterface + */ + public function selectMin(string $field, $as=FALSE): QueryBuilderInterface + { + // Create the select string + $this->selectString .= ' MIN'.$this->_select($field, $as); + return $this; + } + + /** + * Selects the average value of a field from a query + * + * @param string $field + * @param string|bool $as + * @return QueryBuilderInterface + */ + public function selectAvg(string $field, $as=FALSE): QueryBuilderInterface + { + // Create the select string + $this->selectString .= ' AVG'.$this->_select($field, $as); + return $this; + } + + /** + * Selects the sum of a field from a query + * + * @param string $field + * @param string|bool $as + * @return QueryBuilderInterface + */ + public function selectSum(string $field, $as=FALSE): QueryBuilderInterface + { + // Create the select string + $this->selectString .= ' SUM'.$this->_select($field, $as); + return $this; + } + + /** + * Adds the 'distinct' keyword to a query + * + * @return QueryBuilderInterface + */ + public function distinct(): QueryBuilderInterface + { + // Prepend the keyword to the select string + $this->selectString = ' DISTINCT '.$this->selectString; + return $this; + } + + /** + * Tell the database to give you the query plan instead of result set + * + * @return QueryBuilderInterface + */ + public function explain(): QueryBuilderInterface + { + $this->explain = TRUE; + return $this; + } + + /** + * Specify the database table to select from + * + * @param string $tblname + * @return QueryBuilderInterface + */ + public function from($tblname): QueryBuilderInterface + { + // Split identifiers on spaces + $identArray = explode(' ', \mb_trim($tblname)); + $identArray = array_map('\\mb_trim', $identArray); + + // Quote the identifiers + $identArray[0] = $this->db->quoteTable($identArray[0]); + $identArray = $this->db->quoteIdent($identArray); + + // Paste it back together + $this->fromString = implode(' ', $identArray); + + return $this; + } + + // -------------------------------------------------------------------------- + // ! 'Like' methods + // -------------------------------------------------------------------------- + + /** + * Creates a Like clause in the sql statement + * + * @param string $field + * @param mixed $val + * @param string $pos + * @return QueryBuilderInterface + */ + public function like($field, $val, $pos='both'): QueryBuilderInterface + { + return $this->_like($field, $val, $pos, 'LIKE', 'AND'); + } + + /** + * Generates an OR Like clause + * + * @param string $field + * @param mixed $val + * @param string $pos + * @return QueryBuilderInterface + */ + public function orLike($field, $val, $pos='both'): QueryBuilderInterface + { + return $this->_like($field, $val, $pos, 'LIKE', 'OR'); + } + + /** + * Generates a NOT LIKE clause + * + * @param string $field + * @param mixed $val + * @param string $pos + * @return QueryBuilderInterface + */ + public function notLike($field, $val, $pos='both'): QueryBuilderInterface + { + return $this->_like($field, $val, $pos, 'NOT LIKE', 'AND'); + } + + /** + * Generates a OR NOT LIKE clause + * + * @param string $field + * @param mixed $val + * @param string $pos + * @return QueryBuilderInterface + */ + public function orNotLike($field, $val, $pos='both'): QueryBuilderInterface + { + return $this->_like($field, $val, $pos, 'NOT LIKE', 'OR'); + } + + // -------------------------------------------------------------------------- + // ! Having methods + // -------------------------------------------------------------------------- + + /** + * Generates a 'Having' clause + * + * @param mixed $key + * @param mixed $val + * @return QueryBuilderInterface + */ + public function having($key, $val=[]): QueryBuilderInterface + { + return $this->_having($key, $val, 'AND'); + } + + /** + * Generates a 'Having' clause prefixed with 'OR' + * + * @param mixed $key + * @param mixed $val + * @return QueryBuilderInterface + */ + public function orHaving($key, $val=[]): QueryBuilderInterface + { + return $this->_having($key, $val, 'OR'); + } + + // -------------------------------------------------------------------------- + // ! 'Where' methods + // -------------------------------------------------------------------------- + + /** + * Specify condition(s) in the where clause of a query + * Note: this function works with key / value, or a + * passed array with key / value pairs + * + * @param mixed $key + * @param mixed $val + * @param mixed $escape + * @return QueryBuilderInterface + */ + public function where($key, $val=[], $escape=NULL): QueryBuilderInterface + { + return $this->_whereString($key, $val, 'AND'); + } + + /** + * Where clause prefixed with "OR" + * + * @param string $key + * @param mixed $val + * @return QueryBuilderInterface + */ + public function orWhere($key, $val=[]): QueryBuilderInterface + { + return $this->_whereString($key, $val, 'OR'); + } + + /** + * Where clause with 'IN' statement + * + * @param mixed $field + * @param mixed $val + * @return QueryBuilderInterface + */ + public function whereIn($field, $val=[]): QueryBuilderInterface + { + return $this->_whereIn($field, $val); + } + + /** + * Where in statement prefixed with "or" + * + * @param string $field + * @param mixed $val + * @return QueryBuilderInterface + */ + public function orWhereIn($field, $val=[]): QueryBuilderInterface + { + return $this->_whereIn($field, $val, 'IN', 'OR'); + } + + /** + * WHERE NOT IN (FOO) clause + * + * @param string $field + * @param mixed $val + * @return QueryBuilderInterface + */ + public function whereNotIn($field, $val=[]): QueryBuilderInterface + { + return $this->_whereIn($field, $val, 'NOT IN', 'AND'); + } + + /** + * OR WHERE NOT IN (FOO) clause + * + * @param string $field + * @param mixed $val + * @return QueryBuilderInterface + */ + public function orWhereNotIn($field, $val=[]): QueryBuilderInterface + { + return $this->_whereIn($field, $val, 'NOT IN', 'OR'); + } + + // -------------------------------------------------------------------------- + // ! Other Query Modifier methods + // -------------------------------------------------------------------------- + + /** + * Sets values for inserts / updates / deletes + * + * @param mixed $key + * @param mixed $val + * @return QueryBuilderInterface + */ + public function set($key, $val = NULL): QueryBuilderInterface + { + $this->_mixedSet($this->setArrayKeys, $key, $val, self::KEY); + $this->_mixedSet($this->values, $key, $val, self::VALUE); + + // Use the keys of the array to make the insert/update string + // Escape the field names + $this->setArrayKeys = array_map([$this->db, '_quote'], $this->setArrayKeys); + + // Generate the "set" string + $this->setString = implode('=?,', $this->setArrayKeys); + $this->setString .= '=?'; + + return $this; + } + + /** + * Creates a join phrase in a compiled query + * + * @param string $table + * @param string $condition + * @param string $type + * @return QueryBuilderInterface + */ + public function join($table, $condition, $type=''): QueryBuilderInterface + { + // Prefix and quote table name + $table = explode(' ', mb_trim($table)); + $table[0] = $this->db->quoteTable($table[0]); + $table = $this->db->quoteIdent($table); + $table = implode(' ', $table); + + // Parse out the join condition + $parsedCondition = $this->parser->compileJoin($condition); + $condition = $table . ' ON ' . $parsedCondition; + + $this->_appendMap("\n" . strtoupper($type) . ' JOIN ', $condition, 'join'); + + return $this; + } + + /** + * Group the results by the selected field(s) + * + * @param mixed $field + * @return QueryBuilderInterface + */ + public function groupBy($field): QueryBuilderInterface + { + if ( ! is_scalar($field)) + { + $newGroupArray = array_map([$this->db, 'quoteIdent'], $field); + $this->groupArray = array_merge($this->groupArray, $newGroupArray); + } + else + { + $this->groupArray[] = $this->db->quoteIdent($field); + } + + $this->groupString = ' GROUP BY ' . implode(',', $this->groupArray); + + return $this; + } + + /** + * Order the results by the selected field(s) + * + * @param string $field + * @param string $type + * @return QueryBuilderInterface + */ + public function orderBy($field, $type=""): QueryBuilderInterface + { + // When ordering by random, do an ascending order if the driver + // doesn't support random ordering + if (stripos($type, 'rand') !== FALSE) + { + $rand = $this->sql->random(); + $type = $rand ?? 'ASC'; + } + + // Set fields for later manipulation + $field = $this->db->quoteIdent($field); + $this->orderArray[$field] = $type; + + $orderClauses = []; + + // Flatten key/val pairs into an array of space-separated pairs + foreach($this->orderArray as $k => $v) + { + $orderClauses[] = $k . ' ' . strtoupper($v); + } + + // Set the final string + $this->orderString = ( ! isset($rand)) + ? "\nORDER BY ".implode(', ', $orderClauses) + : "\nORDER BY".$rand; + + return $this; + } + + /** + * Set a limit on the current sql statement + * + * @param int $limit + * @param int|bool $offset + * @return QueryBuilderInterface + */ + public function limit($limit, $offset=FALSE): QueryBuilderInterface + { + $this->limit = (int) $limit; + $this->offset = $offset; + + return $this; + } + + // -------------------------------------------------------------------------- + // ! Query Grouping Methods + // -------------------------------------------------------------------------- + + /** + * Adds a paren to the current query for query grouping + * + * @return QueryBuilderInterface + */ + public function groupStart(): QueryBuilderInterface + { + $conj = (empty($this->queryMap)) ? ' WHERE ' : ' '; + + $this->_appendMap($conj, '(', 'group_start'); + + return $this; + } + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'NOT' + * + * @return QueryBuilderInterface + */ + public function notGroupStart(): QueryBuilderInterface + { + $conj = (empty($this->queryMap)) ? ' WHERE ' : ' AND '; + + $this->_appendMap($conj, ' NOT (', 'group_start'); + + return $this; + } + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'OR' + * + * @return QueryBuilderInterface + */ + public function orGroupStart(): QueryBuilderInterface + { + $this->_appendMap('', ' OR (', 'group_start'); + + return $this; + } + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'OR NOT' + * + * @return QueryBuilderInterface + */ + public function orNotGroupStart(): QueryBuilderInterface + { + $this->_appendMap('', ' OR NOT (', 'group_start'); + + return $this; + } + + /** + * Ends a query group + * + * @return QueryBuilderInterface + */ + public function groupEnd(): QueryBuilderInterface + { + $this->_appendMap('', ')', 'group_end'); + + return $this; + } + + // -------------------------------------------------------------------------- + // ! Query execution methods + // -------------------------------------------------------------------------- + + /** + * Select and retrieve all records from the current table, and/or + * execute current compiled query + * + * @param string $table + * @param int|bool $limit + * @param int|bool $offset + * @return PDOStatement + */ + public function get($table='', $limit=FALSE, $offset=FALSE): PDOStatement + { + // Set the table + if ( ! empty($table)) + { + $this->from($table); + } + + // Set the limit, if it exists + if (is_int($limit)) + { + $this->limit($limit, $offset); + } + + return $this->_run("get", $table); + } + + /** + * Convenience method for get() with a where clause + * + * @param string $table + * @param array $where + * @param int|bool $limit + * @param int|bool $offset + * @return PDOStatement + */ + public function getWhere($table, $where=[], $limit=FALSE, $offset=FALSE): PDOStatement + { + // Create the where clause + $this->where($where); + + // Return the result + return $this->get($table, $limit, $offset); + } + + /** + * Retrieve the number of rows in the selected table + * + * @param string $table + * @return int + */ + public function countAll($table): int + { + $sql = 'SELECT * FROM '.$this->db->quoteTable($table); + $res = $this->db->query($sql); + return (int) count($res->fetchAll()); + } + + /** + * Retrieve the number of results for the generated query - used + * in place of the get() method + * + * @param string $table + * @param boolean $reset + * @return int + */ + public function countAllResults(string $table='', bool $reset = TRUE): int + { + // Set the table + if ( ! empty($table)) + { + $this->from($table); + } + + $result = $this->_run('get', $table, NULL, NULL, $reset); + $rows = $result->fetchAll(); + + return (int) count($rows); + } + + /** + * Creates an insert clause, and executes it + * + * @param string $table + * @param mixed $data + * @return PDOStatement + */ + public function insert($table, $data=[]): PDOStatement + { + if ( ! empty($data)) + { + $this->set($data); + } + + return $this->_run("insert", $table); + } + + /** + * Creates and executes a batch insertion query + * + * @param string $table + * @param array $data + * @return PDOStatement + */ + public function insertBatch($table, $data=[]): PDOStatement + { + // Get the generated values and sql string + list($sql, $data) = $this->db->insertBatch($table, $data); + + return ( ! is_null($sql)) + ? $this->_run('', $table, $sql, $data) + : NULL; + } + + /** + * Creates an update clause, and executes it + * + * @param string $table + * @param mixed $data + * @return PDOStatement + */ + public function update($table, $data=[]): PDOStatement + { + if ( ! empty($data)) + { + $this->set($data); + } + + return $this->_run("update", $table); + } + + /** + * Creates a batch update, and executes it. + * Returns the number of affected rows + * + * @param string $table + * @param array|object $data + * @param string $where + * @return int|null + */ + public function updateBatch($table, $data, $where) + { + // Get the generated values and sql string + list($sql, $data) = $this->db->updateBatch($table, $data, $where); + + return ( ! is_null($sql)) + ? $this->_run('', $table, $sql, $data) + : NULL; + } + + /** + * Insertion with automatic overwrite, rather than attempted duplication + * + * @param string $table + * @param array $data + * @return \PDOStatement|null + */ + public function replace($table, $data=[]) + { + if ( ! empty($data)) + { + $this->set($data); + } + + return $this->_run("replace", $table); + } + + /** + * Deletes data from a table + * + * @param string $table + * @param mixed $where + * @return PDOStatement + */ + public function delete($table, $where=''): PDOStatement + { + // Set the where clause + if ( ! empty($where)) + { + $this->where($where); + } + + return $this->_run("delete", $table); + } + + // -------------------------------------------------------------------------- + // ! SQL Returning Methods + // -------------------------------------------------------------------------- + + /** + * Returns the generated 'select' sql query + * + * @param string $table + * @param bool $reset + * @return string + */ + public function getCompiledSelect(string $table='', bool $reset=TRUE): string + { + // Set the table + if ( ! empty($table)) + { + $this->from($table); + } + + return $this->_getCompile('select', $table, $reset); + } + + /** + * Returns the generated 'insert' sql query + * + * @param string $table + * @param bool $reset + * @return string + */ + public function getCompiledInsert(string $table, bool $reset=TRUE): string + { + return $this->_getCompile('insert', $table, $reset); + } + + /** + * Returns the generated 'update' sql query + * + * @param string $table + * @param bool $reset + * @return string + */ + public function getCompiledUpdate(string $table='', bool $reset=TRUE): string + { + return $this->_getCompile('update', $table, $reset); + } + + /** + * Returns the generated 'delete' sql query + * + * @param string $table + * @param bool $reset + * @return string + */ + public function getCompiledDelete(string $table='', bool $reset=TRUE): string + { + return $this->_getCompile('delete', $table, $reset); + } + + // -------------------------------------------------------------------------- + // ! Miscellaneous Methods + // -------------------------------------------------------------------------- + + /** + * Clear out the class variables, so the next query can be run + * + * @return void + */ + public function resetQuery() + { + // Reset strings and booleans + foreach($this->stringVars as $var) + { + $this->$var = NULL; + } + + // Reset arrays + foreach($this->arrayVars as $var) + { + $this->$var = []; + } + } +} +// End of query_builder.php diff --git a/docs/files/Query/QueryBuilderInterface.php.txt b/docs/files/Query/QueryBuilderInterface.php.txt new file mode 100644 index 0000000..2106098 --- /dev/null +++ b/docs/files/Query/QueryBuilderInterface.php.txt @@ -0,0 +1,535 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + +namespace Query; + +use PDOStatement; + +/** + * Interface defining the Query Builder class + * + * @package Query + * @subpackage QueryBuilder + */ +interface QueryBuilderInterface { + + // -------------------------------------------------------------------------- + // ! Select Queries + // -------------------------------------------------------------------------- + + /** + * Specifies rows to select in a query + * + * @param string $fields + * @return QueryBuilderInterface + */ + public function select(string $fields): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Selects the maximum value of a field from a query + * + * @param string $field + * @param string|bool $as + * @return QueryBuilderInterface + */ + public function selectMax(string $field, $as=FALSE): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Selects the minimum value of a field from a query + * + * @param string $field + * @param string|bool $as + * @return QueryBuilderInterface + */ + public function selectMin(string $field, $as=FALSE): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Selects the average value of a field from a query + * + * @param string $field + * @param string|bool $as + * @return QueryBuilderInterface + */ + public function selectAvg(string $field, $as=FALSE): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Selects the sum of a field from a query + * + * @param string $field + * @param string|bool $as + * @return QueryBuilderInterface + */ + public function selectSum(string $field, $as=FALSE): QueryBuilderInterface; + + // --------------------------------------------------------------------------q + + /** + * Adds the 'distinct' keyword to a query + * + * @return QueryBuilderInterface + */ + public function distinct(): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Shows the query plan for the query + * + * @return QueryBuilderInterface + */ + public function explain(): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Specify the database table to select from + * + * @param string $tblname + * @return QueryBuilderInterface + */ + public function from($tblname): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + // ! 'Like' methods + // -------------------------------------------------------------------------- + + /** + * Creates a Like clause in the sql statement + * + * @param string $field + * @param mixed $val + * @param string $pos + * @return QueryBuilderInterface + */ + public function like($field, $val, $pos='both'): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Generates an OR Like clause + * + * @param string $field + * @param mixed $val + * @param string $pos + * @return QueryBuilderInterface + */ + public function orLike($field, $val, $pos='both'): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Generates a NOT LIKE clause + * + * @param string $field + * @param mixed $val + * @param string $pos + * @return QueryBuilderInterface + */ + public function notLike($field, $val, $pos='both'): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Generates a OR NOT LIKE clause + * + * @param string $field + * @param mixed $val + * @param string $pos + * @return QueryBuilderInterface + */ + public function orNotLike($field, $val, $pos='both'): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + // ! Having methods + // -------------------------------------------------------------------------- + + /** + * Generates a 'Having' clause + * + * @param mixed $key + * @param mixed $val + * @return QueryBuilderInterface + */ + public function having($key, $val=[]): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Generates a 'Having' clause prefixed with 'OR' + * + * @param mixed $key + * @param mixed $val + * @return QueryBuilderInterface + */ + public function orHaving($key, $val=[]): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + // ! 'Where' methods + // -------------------------------------------------------------------------- + + /** + * Specify condition(s) in the where clause of a query + * Note: this function works with key / value, or a + * passed array with key / value pairs + * + * @param mixed $key + * @param mixed $val + * @param bool $escape + * @return QueryBuilderInterface + */ + public function where($key, $val=[], $escape = NULL): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Where clause prefixed with "OR" + * + * @param string $key + * @param mixed $val + * @return QueryBuilderInterface + */ + public function orWhere($key, $val=[]): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Where clause with 'IN' statement + * + * @param mixed $field + * @param mixed $val + * @return QueryBuilderInterface + */ + public function whereIn($field, $val=[]): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Where in statement prefixed with "or" + * + * @param string $field + * @param mixed $val + * @return QueryBuilderInterface + */ + public function orWhereIn($field, $val=[]): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * WHERE NOT IN (FOO) clause + * + * @param string $field + * @param mixed $val + * @return QueryBuilderInterface + */ + public function whereNotIn($field, $val=[]): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * OR WHERE NOT IN (FOO) clause + * + * @param string $field + * @param mixed $val + * @return QueryBuilderInterface + */ + public function orWhereNotIn($field, $val=[]): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + // ! Other Query Modifier methods + // -------------------------------------------------------------------------- + + /** + * Sets values for inserts / updates / deletes + * + * @param mixed $key + * @param mixed $val + * @return QueryBuilderInterface + */ + public function set($key, $val = NULL): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Creates a join phrase in a compiled query + * + * @param string $table + * @param string $condition + * @param string $type + * @return QueryBuilderInterface + */ + public function join($table, $condition, $type=''): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Group the results by the selected field(s) + * + * @param mixed $field + * @return QueryBuilderInterface + */ + public function groupBy($field): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Order the results by the selected field(s) + * + * @param string $field + * @param string $type + * @return QueryBuilderInterface + */ + public function orderBy($field, $type=""): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Set a limit on the current sql statement + * + * @param int $limit + * @param int|bool $offset + * @return QueryBuilderInterface + */ + public function limit($limit, $offset=FALSE): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + // ! Query Grouping Methods + // -------------------------------------------------------------------------- + + /** + * Adds a paren to the current query for query grouping + * + * @return QueryBuilderInterface + */ + public function groupStart(): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'NOT' + * + * @return QueryBuilderInterface + */ + public function notGroupStart(): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'OR' + * + * @return QueryBuilderInterface + */ + public function orGroupStart(): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Adds a paren to the current query for query grouping, + * prefixed with 'OR NOT' + * + * @return QueryBuilderInterface + */ + public function orNotGroupStart(): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + + /** + * Ends a query group + * + * @return QueryBuilderInterface + */ + public function groupEnd(): QueryBuilderInterface; + + // -------------------------------------------------------------------------- + // ! Query execution methods + // -------------------------------------------------------------------------- + + /** + * Select and retrieve all records from the current table, and/or + * execute current compiled query + * + * @param string $table + * @param int|bool $limit + * @param int|bool $offset + * @return PDOStatement + */ + public function get($table='', $limit=FALSE, $offset=FALSE): PDOStatement; + + // -------------------------------------------------------------------------- + + /** + * Convenience method for get() with a where clause + * + * @param string $table + * @param array $where + * @param int|bool $limit + * @param int|bool $offset + * @return PDOStatement + */ + public function getWhere($table, $where=[], $limit=FALSE, $offset=FALSE): PDOStatement; + + // -------------------------------------------------------------------------- + + /** + * Retrieve the number of rows in the selected table + * + * @param string $table + * @return int + */ + public function countAll($table): int; + + // -------------------------------------------------------------------------- + + /** + * Retrieve the number of results for the generated query - used + * in place of the get() method + * + * @param string $table + * @param bool $reset - Whether to keep the query after counting the results + * @return int + */ + public function countAllResults(string $table='', bool $reset=TRUE): int; + + // -------------------------------------------------------------------------- + + /** + * Creates an insert clause, and executes it + * + * @param string $table + * @param mixed $data + * @return PDOStatement + */ + public function insert($table, $data=[]): PDOStatement; + + // -------------------------------------------------------------------------- + + /** + * Creates and executes a batch insertion query + * + * @param string $table + * @param array $data + * @return \PDOStatement|null + */ + public function insertBatch($table, $data=[]); + + // -------------------------------------------------------------------------- + + /** + * Insertion with automatic overwrite, rather than attempted duplication + * + * @param string $table + * @param array $data + * @return \PDOStatement|null + */ + public function replace($table, $data=[]); + + // -------------------------------------------------------------------------- + + /** + * Creates an update clause, and executes it + * + * @param string $table + * @param mixed $data + * @return PDOStatement + */ + public function update($table, $data=[]): PDOStatement; + + // -------------------------------------------------------------------------- + + /** + * Creates a batch update, and executes it. + * Returns the number of affected rows + * + * @param string $table + * @param array|object $data + * @param string $where + * @return int|null + */ + public function updateBatch($table, $data, $where); + + // -------------------------------------------------------------------------- + + /** + * Deletes data from a table + * + * @param string $table + * @param mixed $where + * @return PDOStatement + */ + public function delete($table, $where=''): PDOStatement; + + // -------------------------------------------------------------------------- + // ! SQL Returning Methods + // -------------------------------------------------------------------------- + + /** + * Returns the generated 'select' sql query + * + * @param string $table + * @param bool $reset + * @return string + */ + public function getCompiledSelect(string $table='', bool $reset=TRUE): string; + + /** + * Returns the generated 'insert' sql query + * + * @param string $table + * @param bool $reset + * @return string + */ + public function getCompiledInsert(string $table, bool $reset=TRUE): string; + + /** + * Returns the generated 'update' sql query + * + * @param string $table + * @param bool $reset + * @return string + */ + public function getCompiledUpdate(string $table='', bool $reset=TRUE): string; + + /** + * Returns the generated 'delete' sql query + * + * @param string $table + * @param bool $reset + * @return string + */ + public function getCompiledDelete(string $table='', bool $reset=TRUE): string; + + // -------------------------------------------------------------------------- + // ! Miscellaneous Methods + // -------------------------------------------------------------------------- + + /** + * Clear out the class variables, so the next query can be run + * + * @return void + */ + public function resetQuery(); +} + +// End of QueryBuilderInterface.php + diff --git a/docs/files/Query/QueryParser.php.txt b/docs/files/Query/QueryParser.php.txt new file mode 100644 index 0000000..1dffeed --- /dev/null +++ b/docs/files/Query/QueryParser.php.txt @@ -0,0 +1,127 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ +namespace Query; + +use Query\Drivers\DriverInterface; + +/** + * Utility Class to parse sql clauses for properly escaping identifiers + */ +class QueryParser { + + /** + * DB Driver + * + * @var DriverInterface + */ + private $db; + + /** + * Regex patterns for various syntax components + * + * @var array + */ + private $matchPatterns = [ + 'function' => '([a-zA-Z0-9_]+\((.*?)\))', + 'identifier' => '([a-zA-Z0-9_-]+\.?)+', + 'operator' => '=|AND|&&?|~|\|\|?|\^|/|>=?|<=?|-|%|OR|\+|NOT|\!=?|<>|XOR' + ]; + + /** + * Regex matches + * + * @var array + */ + public $matches = [ + 'functions' => [], + 'identifiers' => [], + 'operators' => [], + 'combined' => [], + ]; + + /** + * Constructor/entry point into parser + * + * @param DriverInterface $db + */ + public function __construct(DriverInterface $db) + { + $this->db = $db; + } + + /** + * Parser method for setting the parse string + * + * @param string $sql + * @return array + */ + public function parseJoin(string $sql): array + { + // Get sql clause components + preg_match_all('`'.$this->matchPatterns['function'].'`', $sql, $this->matches['functions'], PREG_SET_ORDER); + preg_match_all('`'.$this->matchPatterns['identifier'].'`', $sql, $this->matches['identifiers'], PREG_SET_ORDER); + preg_match_all('`'.$this->matchPatterns['operator'].'`', $sql, $this->matches['operators'], PREG_SET_ORDER); + + // Get everything at once for ordering + $fullPattern = '`'.$this->matchPatterns['function'].'+|'.$this->matchPatterns['identifier'].'|('.$this->matchPatterns['operator'].')+`i'; + preg_match_all($fullPattern, $sql, $this->matches['combined'], PREG_SET_ORDER); + + // Go through the matches, and get the most relevant matches + $this->matches = array_map([$this, 'filterArray'], $this->matches); + + return $this->matches; + } + + /** + * Compiles a join condition after parsing + * + * @param string $condition + * @return string + */ + public function compileJoin(string $condition): string + { + $parts = $this->parseJoin($condition); + $count = count($parts['identifiers']); + + // Go through and quote the identifiers + for($i=0; $i <= $count; $i++) + { + if (in_array($parts['combined'][$i], $parts['identifiers']) && ! is_numeric($parts['combined'][$i])) + { + $parts['combined'][$i] = $this->db->quoteIdent($parts['combined'][$i]); + } + } + + return implode('', $parts['combined']); + } + + /** + * Returns a more useful match array + * + * @param array $array + * @return array + */ + protected function filterArray(array $array): array + { + $newArray = []; + + foreach($array as $row) + { + $newArray[] = (is_array($row)) ? $row[0] : $row; + } + + return $newArray; + } +} diff --git a/docs/files/Query/State.php.txt b/docs/files/Query/State.php.txt new file mode 100644 index 0000000..752cd00 --- /dev/null +++ b/docs/files/Query/State.php.txt @@ -0,0 +1,123 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + +namespace Query; + +class State { + // -------------------------------------------------------------------------- + // ! SQL Clause Strings + // -------------------------------------------------------------------------- + + /** + * Compiled 'select' clause + * @var string + */ + protected $selectString = ''; + + /** + * Compiled 'from' clause + * @var string + */ + protected $fromString = ''; + + /** + * Compiled arguments for insert / update + * @var string + */ + protected $setString; + + /** + * Order by clause + * @var string + */ + protected $orderString; + + /** + * Group by clause + * @var string + */ + protected $groupString; + + // -------------------------------------------------------------------------- + // ! SQL Clause Arrays + // -------------------------------------------------------------------------- + + /** + * Keys for insert/update statement + * @var array + */ + protected $setArrayKeys = []; + + /** + * Key/val pairs for order by clause + * @var array + */ + protected $orderArray = []; + + /** + * Key/val pairs for group by clause + * @var array + */ + protected $groupArray = []; + + // -------------------------------------------------------------------------- + // ! Other Class vars + // -------------------------------------------------------------------------- + + /** + * Values to apply to prepared statements + * @var array + */ + protected $values = []; + + /** + * Values to apply to where clauses in prepared statements + * @var array + */ + protected $whereValues = []; + + /** + * Value for limit string + * @var string + */ + protected $limit; + + /** + * Value for offset in limit string + * @var integer + */ + protected $offset; + + /** + * Query component order mapping + * for complex select queries + * + * Format: + * array( + * 'type' => 'where', + * 'conjunction' => ' AND ', + * 'string' => 'k=?' + * ) + * + * @var array + */ + protected $queryMap = []; + + /** + * Map for having clause + * @var array + */ + protected $havingMap; +} diff --git a/docs/files/common.html b/docs/files/common.html new file mode 100644 index 0000000..5d25628 --- /dev/null +++ b/docs/files/common.html @@ -0,0 +1,676 @@ + + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+ + + +

common.php

+

+ + + + +
+ + +
+ + +
+
+

Functions

+
+ +
+ +
+
+ +
+

mb_trim()

+ +
mb_trim(string  $string) : string
+

Multibyte-safe trim function

+ + +

Parameters

+ + + + + + +
string$string
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

db_filter()

+ +
db_filter(array  $array, mixed  $index) : array
+

Filter out db rows into one array

+ + +

Parameters

+ + + + + + + + + + + +
array$array
mixed$index
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

to_camel_case()

+ +
to_camel_case(string  $snakeCase) : string
+

Create a camelCase string from snake_case

+ + +

Parameters

+ + + + + + +
string$snakeCase
+ + +

Returns

+ string + +
+
+ +
+ +
+
+ +
+

array_zipper()

+ +
array_zipper(array  $zipperInput) : array
+

Zip a set of arrays together on common keys

+

The $zipperInput array is an array of arrays indexed by their place in the output +array.

+ +

Parameters

+ + + + + + +
array$zipperInput
+ + +

Returns

+ array + +
+
+ +
+ +
+
+ +
+

regex_in_array()

+ +
regex_in_array(array  $array, string  $pattern) : boolean
+

Determine whether a value in the passed array matches the pattern +passed

+ + +

Parameters

+ + + + + + + + + + + +
array$array
string$pattern
+ + +

Returns

+ boolean + +
+
+ +
+ +
+
+ +
+

Query()

+ +
Query(string|object|array  $params = '') : \Query\QueryBuilder|null
+

Connection function

+

Send an array or object as connection parameters to create a connection. If +the array or object has an 'alias' parameter, passing that string to this +function will return that connection. Passing no parameters returns the last +connection created.

+ +

Parameters

+ + + + + + +
string|object|array$params
+ + +

Returns

+ \Query\QueryBuilder|null + +
+
+ +
+ + +
+
+ + + + +
+ + + diff --git a/docs/files/common.php.txt b/docs/files/common.php.txt new file mode 100644 index 0000000..8ac0a0f --- /dev/null +++ b/docs/files/common.php.txt @@ -0,0 +1,186 @@ + + * @copyright 2012 - 2016 Timothy J. Warren + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link https://git.timshomepage.net/aviat4ion/Query + */ + + +use Query\ConnectionManager; + +require __DIR__ . '/../vendor/autoload.php'; + +// -------------------------------------------------------------------------- + +/** + * Global functions that don't really fit anywhere else + */ + +if ( ! function_exists('mb_trim')) +{ + /** + * Multibyte-safe trim function + * + * @param string $string + * @return string + */ + function mb_trim(string $string): string + { + return preg_replace("/(^\s+)|(\s+$)/us", "", $string); + } +} + +// -------------------------------------------------------------------------- + +if ( ! function_exists('db_filter')) +{ + /** + * Filter out db rows into one array + * + * @param array $array + * @param mixed $index + * @return array + */ + function db_filter(array $array, $index): array + { + $newArray = []; + + foreach($array as $a) + { + $newArray[] = $a[$index]; + } + + return $newArray; + } +} + +if ( ! function_exists('to_camel_case')) +{ + /** + * Create a camelCase string from snake_case + * + * @param string $snakeCase + * @return string + */ + function to_camel_case(string $snakeCase): string + { + $pieces = explode('_', $snakeCase); + + $pieces[0] = mb_strtolower($pieces[0]); + for($i = 1; $i < count($pieces); $i++) + { + $pieces[$i] = ucfirst(mb_strtolower($pieces[$i])); + } + + return implode('', $pieces); + } +} + +// -------------------------------------------------------------------------- + +if ( ! function_exists('array_zipper')) +{ + /** + * Zip a set of arrays together on common keys + * + * The $zipperInput array is an array of arrays indexed by their place in the output + * array. + * + * @param array $zipperInput + * @return array + */ + function array_zipper(array $zipperInput): array + { + $output = []; + + foreach($zipperInput as $appendKey => $values) + { + foreach($values as $index => $value) + { + if ( ! isset($output[$index])) + { + $output[$index] = []; + } + $output[$index][$appendKey] = $value; + } + } + + return $output; + } +} + +// -------------------------------------------------------------------------- + +if ( ! function_exists('regex_in_array')) +{ + /** + * Determine whether a value in the passed array matches the pattern + * passed + * + * @param array $array + * @param string $pattern + * @return bool + */ + function regex_in_array(array $array, string $pattern): bool + { + if (empty($array)) + { + return FALSE; + } + + foreach($array as $item) + { + if (is_scalar($item) && preg_match($pattern, $item)) + { + return TRUE; + } + } + + return FALSE; + } +} + +// -------------------------------------------------------------------------- + +if ( ! function_exists('Query')) +{ + /** + * Connection function + * + * Send an array or object as connection parameters to create a connection. If + * the array or object has an 'alias' parameter, passing that string to this + * function will return that connection. Passing no parameters returns the last + * connection created. + * + * @param string|object|array $params + * @return Query\QueryBuilder|null + */ + function Query($params = '') + { + $manager = ConnectionManager::getInstance(); + + // If you are getting a previously created connection + if (is_scalar($params)) + { + return $manager->getConnection($params); + } + elseif ( ! is_scalar($params) && ! is_null($params)) + { + $paramsObject = (object) $params; + + // Otherwise, return a new connection + return $manager->connect($paramsObject); + } + + return NULL; + } +} +// End of common.php diff --git a/docs/font/FontAwesome.otf b/docs/font/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..3461e3fce6a37f2321ecbe64707f04c0a4f05424 GIT binary patch literal 75188 zcmd42cYG5^*C@QQyeoNEmI+v3OJ1!hp?BN#Bql&0F(rUQ=*C61jEjsU_uhM#yN!)a zZ=nSOfy5~U0x2Yzbn+xmdPp$|WF(Ia_sq&BJV=l2St!J@u6Ld}hLIigG(oNmSNVYp2bu*`8&mCT(g%JrKs|W6VjPjD7@?@<57`EsF_Gij(~7S;$jX z2uy5njLz_R|~-giuu0_{g+f+ve88OQ{Hz6>Y}qGm4HH8LdoEP_Ir~wHA13xKq37E z1Q7#%ImkKEQfdVC%s|@tAvjG9rGf|G%tLS)wVE;wz~z*JdUGJ{Lb24ffiy>{sLuw{ zN=i%p4&x(nc7ggcB(4K#2{l|&I*@jvl#*QoX(=^T^1?vc`5_#d8Y8(m0B0V8%cxE# z$pBnVc{p_qq+KX?r%B0{5Tf&5n`|=c zVocso$A%h=aRy_sSr<0ddtr36w}@);HtI||V*&u5GQ^q}ChAOv7#*33dEO5J<`I%J z*XfL=NJFf*@6;JnrxS?Jv(dU>lMZNv>x|xJgST0)^ZvUTCS9nR;D;OFCALM<4|cS0 zYNX*m0;fd-nOKu<8nuWrP;pc;Wuzjh2ue?xfq7<9)2SJhFQgVyVemeL(m{GHV42{( zj*5ZUn|hjxr9$DY5z3R_VDViTHB~GZO+`ceH&s%?2xUzWj8p>r63nNdWGs|hNF|Ez z3_x2)t$`3h#RG+4z;(3FM9l*V{~4dWakP0RwGPS}p_WLIvN!Z%D)eP4^k@*r2UcJ- zU?=@*H?{x2(58Ba^p5QH?|rs+TW>_~_TISOtlp~Lj^1Ov-M!a( zzv}J1P2C=H+Z$+4xIO*0|LtdQZ@V3LJL`7U?T*{WZg=0lcKa(r`~KGyb$|2y)%O?P zpZ?_!U)FuOW{B$$#SnIg%Mkex*jk1-50MUW8X_4&x!rfW>vqTOPq#nZZoBom{jU7N z?Kihy-F|Vq<@U4NPi{ZD{owY!+jnl?x_#sJZ|;=H59|LA1MdHSc=vyM#lTJ^gTau`vLeC!n{ysFfXP_Uc`a;;df9b8Q`%5CI-q;j?f_Z z08@+f2t13LIfyd|dpIWbJ7SE2M+X6Y`2Iv zkp55o6=8%9;E*zdF@cM1gm+?lAU^<05&JWMOK=9?GfrY#nxQ=#37!98@E7s2C_kX( zC)VL8>pEDTzy|wG(u4WIx(CZZyip8U549cAFn<07M;srB30*Ni03+$ax};f-cVgcG z?mU=>^dM|7CT$V}dFOaPnef&?TC8tyti(D1AN0WcgLMzq`5)sfN=5Jn`%Q2L%ZV|e zl|>C1nDg+#cYyEwFueh|8;M1@qnrlv{tx2;EpI}L@Bj%;S(HBnvCo4r5Z3J3VAh|L z<;C|91Fq}f+8ik7{a@>YGGgBWt|0H6vm9+D_>zG%!GU*vgSez_v3`gN?0**q@gSZe z&4DsfsLMf%#B&~$%c2BmvjBC70pNldvK)OGz|)9*7$^_8{)72JI)izrZzX|2bz&g6 z5X63xu^GT)2Fno{M$)8hgZ%>hi3CQMO{9n`r5)Xz4^*h=``X=^^&>Ji>7z6GQLVJL| z_aKddx*yOSg#T~iaf59p@jw_#VuBCxViH3?=0bWXsoR0$7|#Km$Kk!l!}JNx|I;6t zQ24u_Le9kh{ZB$TOd^pe9yTF>YR?YaZFd!x{0fp_1!PlmxoWQIAlbaCRI;O$No?ms&tQPAvhI zcLfzlZKi@i0oH?3y#tirbSj%Fr|PH{s)IU29j9KRy5UrMnfj3Wg8G5#rT(J&;SlaD zkxPb1R1%Fukc^g0koZa-mn@S6N`fTOk~m4Kq)<{PX_a(J4ogl*PD{>7UX{Elxh%OM z`M2a}$#0TBB}j75iFF$8q;VSOd9(^983P8*!UoeWONP6bYtPEAf-PDhGoA5e9%B|W&ob+o%}g+} zor!0%nS7>*zlX3A#CmdZBB z^s;1GuB<{3O7?^7SJ@vjyIdjH$RCx@kk69Omp?9FB3~hY zP97?ck{jen@yA4hRgPR6M?4L6qa z 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�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 DgjuED literal 0 HcmV?d00001 diff --git a/docs/font/fontawesome-webfont.eot b/docs/font/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..6cfd56609567bc9db55186415c694d1d32808fc2 GIT binary patch literal 72449 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
U~M!&>g0b zP>w^~Z+#M>N%zq`RR3r6Iv_h2r+{E1$_|AX$BAqu#`-&YpsT8ToFEi#V3WRo?=Iq0 z;zSKrc0Mr|!-U7{q!e`alPUc;ZBIz>eNdu5UVcipvm~Td!`BN12uv%2Y7p)*4jM^3 zlrM8uP;Ra<2RxP;hNh&gMtNL;lLqkQ} zRR~$x=MLTIN|2%rDk}tHjJ;7ZWI}a13JAx$*A$E9B&T<4B6%_tZ<>UoVev*xWVl88 z(3WD#{A5=lV<~~nL{F&*3y{RQ-K~~o0*Y5C5=??m4nwW{_!U=ei~IV=q@ox;?O;Eu z!HbAZ!j5E>EUhHeLJnH~>&VE!*Nb|{Gc{b!iE|A$JR1Y3{}5& zVmV0E@Dl0BS#0(>H8Vrp4#H=gIW)$GEtn{i@(AIekOdlhy5+QcZ=mzSL}*tsM*9a?@Q^l<6kDFh(XPMB30p~vDD$zx6^`y@td{B@ok@l; z!N(U!wtN@$BM-IZCg8_M^|M*q&s2fV!0`HF z=+n?79pUpPL#Yv~slXpnSb&9!+(ZIeTsla}@fa+RJ(R9#@JemkJWpC?uK2Ts0q&u9 z;oV)Z<4W2Sir%sN8yoB?5r_~UYsc#a1fXdUo1xi+rYP6-U%MLXXl)SSdau8A_r!iA zC}Fz^k1gi+L~bun+~!XG&Nbm3W{D)jq zuby5|i`M*}|CWFf+$ea8wOB!*DAJhgK$0Fv(i}u8J0sWb@FwK!#$PNIm z_ZX1}{Tav6jRJ1jICmcClETGh#v|kwTil)yERQxf@dnEI3gkR{N3iJ-)Zy7r5R;i> z%(xMzlh(vYF{9Js<`keoz*#xx-iEQ1SfxU-CY*WG=*pkS4WJ6en9*}HJvc@0G^}%0 zE#!n`oCl}*v(;P=1J96tHB!`1r>Y=PSX}yXYhUg;lXDBSWL79>lZWg5qz^p&n zkJX;w_=tN`$D$E#$`$PD>l7x}ABH`-8$wkY>X*jj3|qf_^5}L%bTAYw0wY1LF6`L9 z!Vv+%9N^77O<;QVzF7IFYI9ku$EygDeA$(Ik%NLIu}+9t@TP|g$ngnX11~&%F!z2n z(8sz%)@751T~33TK!Ht|X=I?~6dm%BTrm%7pFS4Jb48mT^zO=} z5bMV8u30LL5`*vajWZi28`^a&P!Ip@!nl42or&p=Jsh(* z1kW3lXMt7Pe!R_&!ZBXD)al@R!Bk^9BLqj#kXsWh)X8T5qL6EbE_5HIDo0w(z>%n2 z30(MtHN5b=XUR@vfiyr^3`HKlQGM-)v)hSxk&#q83;NttQ`)Gw#EhCZ+}$074Ez&; zU=+*yQyuXnvBgY4rP|3!y^H7+DK(z{_e9+jFPgdQU-^aeYtio$G?@c^gw;iV!HG&T z;l{(&+IK$o-X4V~q;!syDW0-|ZyG11*>61)c=U_B4-$5AQr@3$X%R;)^c==IOW-C&@X` z8~T=1pnh?2UV22f`Lwg@$v9Y4fJG5DfM(pWE%ScY*iR_;%An`Mk8Fz+xdj2bOG%iN z82lht%#<|Y;uT+E`HL}XYM3W%=A%Vni`gd6U3CSughYKx zg?qfU-UZ~a*nosPC8+KXTyCv3wq}pjNp!sh@$bumNM_K(5QBEf>cHCHrsxZ_B;UV^ z{^qt|1FzSMjAzFz}11}UKx^1HP%)_zQo;i&L9`d=_HDl zv2?mED@^#)bJ?E``auXTjfa!MxbsN{tGb29bz!Wc8M7{9lw1!sSpt(Qh5!XeOT}*$ z&?oi-t*t)A)&@;H2TZj;F4TGW$-Tlk(?L#PD{cgtfRPr9lGu49gx}5JH7t#TQ-n1wq6s1X z)f-bDwQSlHj2L{6(*t4}baX15_|j)OdLO`+AY0;iYvLiSU4GKkk0GO6DjxQ+ZL$^v zQH{nJ%euuu;#_S!sdCZHseil*eG*b3t^fQpi2-IH$p2iq6Wwq+hJB0m_;FkAaWDH* zu*)U!a^ay|iT&?MseilDIEK!}!gm%(LDiFd!QSpHV&8oi`P^_NYud=ESwK(F0j=Ch zfHm$6wY{jtM@(k}-)qeX+JtvA@aS@fEIBP$K^yrp#U@um1XblF|Y?d;wbpNxi89zlH}`;Ahy{_NB)3UggiWDpLlepwvJmAZ_GX(=OJjU>@M zUgyws_&G63;t);Fk_4eo zSu0Y420r3sr@2tfqj0bC8O>AGWXv+?d-T|}^xe@IW_dI^EgBzUbAC$;-lX{_+(U5> z4OfD9J$I$sLBe{tdbsoAU7H6fZ}8ec3rW;FZ_vGkLsVQ`ESKVqh7_xX9KJw@-m3O2 zLszjiH*DxJAeIPTWg%5`(p8S#9_AR2QWs;y5QTfIf7*mzi!}kUD+;9UJn;eu6#t_S!rV3Nl*jejz@;ALfpkm#gWOZ%iG zbE?;1{~A$vUR5T5)FS0REq)N`QH56e%rNMC=7Y458KtkI?USd^p@j-wR@!gbzx<9nd*0}xU8AuK)0*4^0yq7Kbj*smwZ zEgQ9K`n+48tGHthmL%P_QM1P!1Xw}M$B)dx=B8UYbo#95Ba8kC`m8Q?s`I}T3z1TS zw3-xg4f9p&G$yb12DmmC;SAequx5nWvDQ^%9$Iim4`D_Bo7MzlI7f8Q} z7#mLR*-V^ghp<0RSI`aa3+LfIG2J-GV6MFdA=u6>P{CWJZ`BoTX$Jk-!`F-N=ITO; z*Kh5M_IN(B=j3KO)^rs!>9Woa(#5dv$BpZ_ET2{NF)O?qEzRTcJw-}ED8CD}+^}Or z*Z3u@EE9=|1OfZU@vm`?IIDMyVvZ~;qP0v@w}|i`J)MwDA-{WYvyd2SG$Up@eDP6q z3m*$yr0g0nF8L9`+2Tq=vSgiz9})k?YZ!AU5DN@B2P(9*<556wZ@b#QMZL!sdor<` zjYob|Q5yH%ClsKkzr~*)%zdn0pZZ zkK7Ray}9`)hx2gJ*$oJR;2trmaAK|qsM5!cTWe`Lx$9f?FI$Cnq8xn{lrnz%joQy|oV>F&4BqXn7ywxi6{a;B1mzDl!TRmo`says!4D0yE zgJCIA75dQ9Mb^*NT_8acrGQ(5l^WxgR$)mu`}S!J8v}$D1gb}IA7Dn?(G$%z>r`c=edOKKfB!A?rFgFYI)b-36fF zYJv20$Ni`mx!woNG(!`F)>=#D(Co|-DQcmqjnZxwOq!e8KspChU>@ireQ2nYKB^3@ zLO5o$)5!^im0H0t+2un>l_f-p6+LCw^Z`9HZbE_( zJWA~Ae>PuOCi$!}Uw#OS+eZ*XGK3v}&9OnXnMft=f%8q__{^a8(9)8Rx@JE@yY#2* zGw36Y36OR8AL-ApwDIKJTDHMnE-Ob@iiDq6$B3XAHT6@Gl~uQC$HAiuOVBIjzQ=kZf!O>&7QvoraT+c z4hC1w#zT&R;km#z`5M?Ve9u@REm~Pq;eglc;3zs+iKxyqcFGi0q`a-Gik1h37p%!j z`Z3HBLChRizH>S>2VScPRz(EC{U#)uYw-SV#%&)oI2XYMBE|EwyhTe9tsn`r112LB zX;JKmu<+!fGRwxcgb`H;(G*ulx}AM8Y|$EvFow5wCTfn;BVX>U-6?4P7|>7b6F|FJ z-Z%F-x!qTf0Ij%TTfXgAZxK$Na^U%WfduyF1@JkAZz83q?3Vv`Q`!I~u#Le!Bs~ zW7fggslMo`Oxr)c{XG%nP5P^jZcs9@uLN^DUW_qpnGw&MFtN<_f>7FbYca!~^Cqpe zQ#M01mp&Zc0CrV_Qt4B7FIn)pz2s?J{F*!M6T`;BultJ~h;4GnbNmP4eCn9N3ZE`U zzGH%0&?8cx8C46i$T->!hz(Zn2GHWd1&eV_(Kz~T*wYbU`&7SMmYXC;rxSDgD84pi z#VnzFoY<`@q)9J-l_$6|+l?XvzkuhXbhNaiTv5 z#yR%dEwzLJ9|*D{Kva%+R!{mJmhf`T9$>i0`Bn+v$9eSp7ilgAdcDOVv|Fk(pY*d* z-RaFL)aZq@D~U252V8M`8DY~YWxyl0Bs;WtJqP@0pmV0^Kz}O)l=jD;z+5d9 zYR-?hfBQPgU!oLB^G{!Um{LS_9KD_BsWogR+VJlnLs!Dz3J9%q)ExNyZat_$GHY+b z`M|+1avEKkKLOiVhQ=8ugxJTPLL5JqJQs=SwgzR^uHUrL@R}87MGEp)yV^!w;1J13 z{kl9&>{SJhT_|5-A|rfd#JxU+N)5txz-jg8XcdEbHWH!VI$7FI9pCKEB_rX9CGPxs zJ6sB*3p-qj`nH8Q;iKid@6LBSCQ^$CR}@oAN<}U(hu1|htWMd!LQ$JCzRyHdzy^gi z;zC2;(oQ}*czLLzx_ihFk-7}zXdnupwJTf?ChN#G$Vn@TH({71S|FBRDin65 zohg&uhaU#2&)cWBXh*6=+S*}fiU@hZEvMRKXx%OdZ4NDW3t8WZrC8Tz@jTipej!JO@~SZ~17#kfSvwO`QVU>qc~&MR ziht;9h(Ri^_#>pNC%KYqtI)(UoX=8O29owdbva^WV%=6`t;K<)j?htxff2kOB%sb9 zhZ)T`NB=l@Dl(K|r_o^CUj%oeQ{Fdk1T{5-gWOqdSa`O)^bY7yTc)#gWN(|D4_ zs2f5RQ$2g{x_PR?FvT)qP0jl88&B`5I`EL?9Q-q4yDFS!Y*N~4;1{WKJYfnnc%Gqd z;?0vU82Uv#m~lVC6w_0ENeTNqPFXv*uk$3MT>6GdOd=L;2K=hLUNVA*(=U8?;{kWa zd7u#o5Ij4QR@^`Gq*V#ElxvsX&{WSmmp^mq>UsObckd5gD=dkDg+GV%Ao@vb0=I<8Bs{TYan*n zMFo}zW>m#Rb6fhTX~h@U4f0ZA>ZPAq@~Ids_RfXr{lqS&U>^hGzXk(FC&Gq+>D{mU z?tKNLbgI~FwMTK5yCre4m-a<~Nhx-Q^KFd@C@#8)-SL7K9bVoY4|(+uE=r0Xei-Ko zq=^&uNZVMz;tb)UsAYx`I8;`sozTQg#}7~EsZVlyK?07QeeX}162oIT%~fOlEpG>N zMRPljQSB@|!qLAn^ZvOD)DZCJ$mh)e)N?ay8u30My_MS+zsoBEOq5)4g)Xi%~Vbh`D0xgkXp&ubVev{so8xFgt z?T!hzWm4kbN#LLs>CKdhaDtOvJiBYVza&{>Qk45{1z_c7MCadi=wHNkEC^Qdrzr{$ zvML=bGRUp1>!xTJ51Jk`;xIr9e?s1Rbc^#b?xLjiVCz`<$00-Y62*wn>KT zRAId;{M2!3e|}`3`K{-UX||VRsezlned3iP%{NEUDy1uQXThzIr2^WPgZgpW3#gTE zQFUDe+|(PPEo(J4ddaq~q$rkCO^R#Zc1=pjns(SU(BMBRjHs~uQHdT3TjhNepyMn$&oZiyNQ#TvZDHDD%Ml{v+5oEqA z9wF=eje)UMKgGicCa}Pb5=8WXqMAd+?3aDgr^+d1=c!|kS!k-D2oD5rbPO``sc~Sd zSnp?U;wgg!1*zkv>$&^QJP0GQn9XW2vWsLO^Lvo9yz8PZZY9+{Mc`6{G`Y!c2J)O+ zewh3U-?38QqVdD41G+}^hkjP~$ssQ9wNlJVL89Q!oUn#q0I)6KWZA^rgzWs;>Gq>v zwkw}^#ib8{0NAgQ+N|x%#ZL@rmisfs8@-o$*<8_d37I3`sYBY4(ZARKK6{a-+-zBq zG{T!4{T?u;#KxOH3d2jBp}#krX$U#W4y4dE%v>XPFw@!Y3?s28*r{fIaE_!<3`N&g$vOMt%`9k=+_l4DD?|9qSA6kc>MC5%P(Tb=P#pE0+|BL5_;*-)Mx)tl@kSc#$J?i!PwTSyVK%V_BIO2jnn-(?b%D zXjZ8;%p+#|`qU$3iznWYe7m$#YBjMHJ zf6YmRHNn5Ay;JidLPJX#sICe6a*S@k#r@#^9OdY#s7j?_F7$PpwRoHs7fgdpsyaw3 zjOZJ&EUUDjnw;*;U5uz%3d+#4%ghFA=_fqRhAH^_g~#q=FR3?Y;mOAo8&+nSQO)qb zT8vi~zXt-H66pI*JnirE+(S|Ady;FKlo7Q9`J<-{#JpF2cdqEIPFR4&ghJxh%Mxu1o(Uelk2x%6E!{LYyoVZZpGQ0=jHupM=>)=PWOkfLQvl%VUWRGAA|$0F1&vwasg- z@VcNq(D*Q}eyGOHLMCTMOViB(UIg{+72to*en28k zj0oC2e~`&a;5BWk=h5j;fHRWSgl#`s`07#}kS<$Rh!Pqlg^5OYTlaXRi?~})!tWD# z@v%=8P-#ZOUT<Epah&sW^m}#g0SdzYY#&Od^KblG+DZ!UNR}>a7#*OAT2&tFzUr zj-4(VPC{$Vwi;7Jm~{rD$Rp7D*S?upf3~n;7Rlu17;)f~_YTNr3eSxHN zo~H}C$>dKg6r%lN3cTfV83{?C<_q9Cgny$#ul(9!*fhn5f4FLIizxnJzXmr9&_kv# zf2H-J@t2G9X>a%9VCC_%BD>NQ#EAapu35#9L$2&`GOc!<#-20fKYY*sHC*pVGkptX zb@#(3z2gCt$kbkcJ%&k;M4vC%=RR>zD-+U;UjxFx$B;Z>p79{G{&JG1q|^@QZ|)%> zHb|g2Y&O6FR!O_}uxV#6>rfyseLE(zj~jjTbVQVN6JVc%CDYV=C_t;uXu}pshjfDA z&<+bsG82R1O04`cCxQG~u@w}vVT+9tJtxM$>N`Tk@!4r>={zla##3rC15X(<=<;v$ zzuW&~45fE1?|g0gSca_6Z<5RkFFBu6m4KF&>7J=kd974|_#(%g_eHZECAs98eLWFK zyYeSTL3eB~UCU5{N+;Cz^^$!$eAb_|avekPV$$-0)wMHU!}u|P9p=rWiNhBfEK~Ab zAjKpm5>F6%H69^{4?rCnKqtY&M2G!u(}DDYln}zt*?(XRjxzGi1GS-A+s^H6gDScy zERY<=pcs*b=Lef`CFf+p%_N1eY!;Bu(|vHG?F02-0Zwi}1o zns;&O?WG!5KWNT|mxX6gh5QY$qpQPnQ#zl2l)V34(xxX=&sD#t5o}n(>|b4zO6}!r zenh^;qzHYp^BQq=W(uy^T9X!p=1dXXg)gsOL&}+C2Q2& zb}7H5FxSv*e5bL3L3%tbyK<aYP$hd6kD z?||pdfGS3vHV~JaAHVnsL!!z8)!Og#48`*DN`;!yd;wJ!I!MqBFKY;OBzXsI*t4u*VEz;?KkE;aFxkGIdN4~%_Ge4insnE z`K(VWO7x;zGe_JVp$}|P;8hr_2IMHl+DL~#ls`cRh%%Ysx3(Dp0*FGJQ z&n}Q13Vzl;@^K?Ow(nE)N|W_;xIl;zxwKqA<%$d^=U(=`7&Pp1$*a?kA1y$SNoC1X zIUpmfs&G^wql9@&n9@FHSf}rr8J=^@uXcYy*Oni#K>;Uh1=wfMi9vOmDjaj zU0vF%zu09ehjOus8vQcnYF1XipVZJ4Dbi1kGnb4j`@rJzPwD2u2CcPbqbaX$FyTO$ zhF2i7C4W}-*!V-ZATAlu6k`|bJue0}m4>>0znpScDwDauxMcm4k_w9n48uGFA&zw4 zHwmq>=gC43e{nEwI{@{s;RJm_Bc(abg;7-{-HqACiaM6O?)jS!Cj2UUi*Smd{ygcl{TlgLQ6MRh#JBy_IjI z{?WC9{eWiO|C$x07q0Oxk_rG<(<^sAn2j-N4A{&fb_Rqtf}t9Wk-0SF>|dJ#=8!rQ zh1g-28{C^$D{5Q4;oTJkv&B;kta((PDg3reEzMTKq;gr^;hObo6jEyXTyGs`a{0K6 z2CHkA0@Kee0og(*ox;OQtta#lD4GA)P|e>zi1DZe#;f{T!tnTi0-F%2(dFJ$vmE80)f(Z~>{B z#BOt-8EPKjK*PXs7sa!L?^Qu?*t0${WQ~I2d=G1Y6@Z926Uo)4{>(Cx5f&uRFxu*( zn1sBHiis3on+-W6DzGzGQB?XO*F&~kJg)j94U?}|wqiy|)L4WB{H?8)pge)UzsMiN z#c(e089Yz%R(urwVwCJr4^j=`#wrdi)+WOY!M{Q=pl`$Q1lV5LMUur3p)SH3kjp`^ z7LbR@oMGYoCW6e2^z}`p3!ID^C>GsOvqQsnFXv1wNE3}uaPT@5ZlS^_k%MqyR5+x^ zJo;!S)mc5oR$a_u6heEa1z0-kx~?|ZScR=P!#Ute&+Qo@i9D-MtLFF$L@J5mse80o z`W#~mum6>UVq`hYi9OuWmR+}KY^k@#^{k?tKq8298qyWkirl(H;-_j2pru&}?5 z=-wt8S~C4|fg3Wz^9<)?i0syCv2x=ZEU;Sr99kMd)W1V7BfkZU3C}2(etb)2cxr^= zpwZj}s8ict^}GE5vE6@o8kM?ycAm%$aO{N7Q4(Vp+voosKaegf^jPKlreOu}Q+jKgZnJ zXh-^QU>z=#-p=?*=c?hheYA)B(cP>rGZsOgb)laul6y29Ryt`FQZI6TX%x=e)nVVD z<*;*8YwImd6U%pV{8aHN=E@rod!;K9RPo6+Y=++%6()K5y$$<=w&kn15BbwR9FT%; zXH1Gx@dAsXJt!dmLhy3Fa|&C14E>;cb;bxzA~zi=m50e`Q|-WI#odRlFBCpl|3u8M zP<s0r67)jLqqeW!pMX2r7_gXy8R?ZL~Y4n$A2f+KJn|#e22b4)mWn7$!1~IdiBNI=r zhX;2iLFfFD^OGDy4dmwV4Cp;v%<*2erLTU{qm0Z&wDKZ%l$+=6lL@z23U45Ct`(TNN5cMGxi>wh@H2e`0 zKCoS2DJ+BwVVjbJYPe;?*c{a{pE0AIu)-?Uk(viV~41~y$UhB>a$EZPf@=HxX+y_qr z$=rmlXh<$qn%;~U2WUxI{6WKRH1*~tewDo@E?imZgw{BR-<0=+u!l4M#d3qFi?D;a z**ZIWbLG6C5pe!XYP#k-s=tn6zvbU@mb-K#0jP3MyoD3}zgxogneGoQI*&nz842SP z{?8tTn4FUBp8 z91fEpf+A7x{}Ku12`?%FVyPdY%E2FXrKaw|TiEd~{Ut3sh_b|Hxm_GEcJG2Ln*cv+ zZ?fl1Pijig=|W;J4;Z643fiB6UZ2ior*0kL*wwPbYdt^68Rfnn^PVMtWaW!m3gE4% zn@3ovVk*J(Q6e@7Wb&g>nNV;UfmJrgT`!tzH**5XY$hSoEpuw^7TKnft z?M;@4XU#SZq>E)v3_sfEs4Ok1M3v~F@4>eGwYLE(%(I_JR#WiuY`iu63m3g;2Djvp zuJLKpDHG}JRbx_<93;Ob)LW~rH{Xp^Z9Q0ij0~;F++v!WqzDd%P`;yGtj%)D;+L_HK=Il(-YOAf~_COC~K4_w+n(v54UF5C*&7r2`=)NqMkc}n`Y>W8? z5x$pVo8&m{L|EtG5w|j|s6-sMM;ya_xxpP4A>yLkP)kK{w0#JZU2N^=LMZnbp`>}K z_?LpBU?-8mFVbu+Z3U+|E}kJSlrc>0F|@s^f3X5RRFb$wApO1%%C?R=ZpIAY{ll<4 zy}@BYbIT9*E69_IGUA@$J>$4?_XTZnj}Rf)qs`F{ zb51=?v^(cVvz77rC|uU^!(J7nEP!)YtT>)PJeE ze##uiE8pV|BnQV(dTYQdSduIis#THcwsz@;&Q&(wVRo;3I0YXzNVU)^Rfkkh7dQ;haaajU7y*jI23N;(PWPcFHq^L~ zcn`9%bn@PihbB-&XAQ~rDU!4Qj9I65r_mm(8s4_TOtKl$VFrBK@9MYi4ii(7!!hqd zT>a@@;ixoHZ)&?`X}ba!oF*R}Fy&#ZVv9EycCS6F4ih<9$&Q!hlLU{)F74}D$%Q2U znhE*TyNEJPAA$6N@opiJ1iX}+fuND{-m@DWL~CJR6&R+Y;l-TTYMC|O>gRhy%9w}o zfRuP12pqNEa$m0_?}kGj7I~+ZA6=uqF$<+@zV1d*&r9D8^VkaKSxMm_bH&XXlOU8C z{r6fT4TnHLf{%S~I|BASfWz+}WY;hx9zGvoGDnPR5v%p}7pKx`<+yfA7NyHUE&-^6 zzlzBsv!FQ$HX*Bo6prILqZ!^Qa6qWhR&!~ZV;F+k40dZs_} zor8&3k%fIPsdBH*lqxPqaP&6MA)@z=5gZMUT9~dg`IAhy31ya}`oOf3l*fSMWmu}p z=1kz#O|6rF=d+1lS=}rS(8^>>rx=MIHQRum1c^N&gd381wb={qED!xiK*U%U!!aPK zVfF2;)>0V*NhYfyB@;9Y^~v-$78N^#*+3}7pcsuLEGWVh#-lhs&`iHzSp*k_N|FTjAuSz-eO1|9M32FYCb=^TD&C zv2bDJ(8ZBJM-+J*`-8g((-2J3?}Sq};TIy!0v=FLx#8Idd}8Lz>l(2qA&A3ud91}! zR8N9iA|=1)iceso$a3|DQrhXGSk)Dc1OQ%?uyINvSyy7pL#CfXzCafDBo|eg=+hD&JJ@{^7x-206v;!du-$`bV`+(;nJAt^ z%{Chy{qyi<4kK-S;og8?RV#wCGaY zsjO7`bXf54d3*Ls4bg5gW(f?c8RMi;QuKme3n2g}JS(`Mni}$+eL%GM5D0n+@OZXD z0}V<9f653uG!z46#KvlmD4E$2@Y*%mtB0QeoD6rP-=K6r@2sUe5r~eyfP6ur9+Ukv z!CGs)#O*j@o)7^vv%)wDB3M81B7z`SaxMOsITsS)eBp_TDD5y3A;caS)eDl8z{7=w zB5&yV8*ikvJuWF~$N)3+3=8wK6dBbpB*fKmrf_#qkTDvzL(IgES*Wsq?n-;iPEI>>7J$;g;D%-mCXDd2QEUSr6nhX(AHS@Kc5?lzQ!~Gf7)56nej&$;o$B|K#-K=OsCt2{l&_U zw?~#6gBb;2qi5JDPfk-F0C?{$;-~5P{slW^vI;iIj2(z&sC}!5G>nKLZ)c@kkg;*_ za0m7{0&j%j_u^)CL^&uhf-uWhiMFqy$MPG7czvsnIgY4#8tDWzsCcuT&Y}3fLwDq=Cim+UB@O{SKEzlV!E&Pk0_}kYz|^v@3;v7= z#!O$^sAzL4h&h#H4f@@x7j<5q5xOC3XTYGYAIGxY@S-fC2qxc;ngDNXNet)vw-*+n zRr?=Q)KmhWGa10jcgZ6T~ z=6M7mSLYydM{u}FuFdGdLm`}-j+Y0w9Z2hLKYG`8 zMx~B`Wd#D?<25Lsg58(eIgtecyB!w_ACaWUZrd{c>IdHK8z z@OXk>jYweF{5ovV-whSU3o1bITG&&z)S6?F*u@;3u!NKpriS!!ESW8>Q&=9NZMw}a zM(!+-B+czAvPkTRXBgx`o^$cOG{6%=`)b9X$8^vJ-CzOGO#s1B#?vTK z;0Dw$LnO}lk^RCF21^f^B;Z=fr9~v-E_v<(&1C|~$pH|#kT-MOoP|VIBMgvIVIKC&eJ{IghYhp6s&L+4D9hx6g>ZfTl(cl^(LIfc#kxHSX#B zQSwK2coNSEt}VFfu{2^XS5i0zgIZ|OZccObT}?p ze43zDm|fO+BHZk?DU{C}DLgJSfS|OepoM|SC|=kF`VZ2VSMi+=anj~c<_#)ihK`r+ zwV5e_{9kvU#EfzvBG&(g+^ES?P6$Miv8+fPWbnzEKerwtE|S3?bjleP^syWe_N4q# zL++xX$^8aC6&h#Hi56+nJEzu%s~QU zvP_2L!F(c0C4&ec;JX(&jE!adJcXw6-Ps|ZO;kB;itmr7NH~qbz}l{k5(%y z!a)siHj6fuvc^v6j#ef@*bvRSSF#5vjbxcl)2zapokzmUko*W~NnopEKiI8${@^W1 z`Lld1+Un?8JX9odR1sK_5NGiKu>YwcT+svqDiCy$vV$uAhd~H7f~$fqfET`$fco}; z`4Vl{=f*KNz)*zwcA*I%_f440D~^q<3safo3g__q=~~o*4$essgd{G`$n#3}!{LM* z*t@feXAGK#2OHs*lYZ*>GL@)PuCZFF`7?Ynk~;wo$WgKxYy%O)8Y7hp|X zq@*{GpX7ujr1k5eb)1`g+rNamEp8N>gNNSYfvD?8nh+Jiu@ZL=R3mz4qM-KB=)bzV@3K<=`dYuvv@kSXyQp7RA=OJ{JBL2N^$sAnRfim_N!rn;wB% zkEH*L{?~kIBg~o1;a3XW)xv=2fjYoL;<{%9Kg-7rOt>0)5#>%dW7e0MrI!#JTlkmy z!X)k{<^-Wn8FwI)flOXZ`lm#Xr1{qk9ikXw%j9;UN9W|6*{a2;Q^SjE_>i&jp9>N$)NrWuDpq;5`+qa>oNKEWmi8& zAWV6=$Y$(LDAcj|6)R(oC9t%4OmNm!rvf$ zXFx%K>}W>KoWr}fBB-VzJj&#l>|BB-V&OKSHdzP}2B2a}BLW?P6}StgBJ;AirXW9< zO1xz;Oh>JDkU;Q1)5fCn_%t{lzmOvpoJm56?D6RZm=MuQeHNXaVVYnpDQ4x=SLFi9 zBDmF)aU@83P!b_>pOrBMPkmsS7%XgEVvcGYF;&b1T7DLWMqANlJ382@fWF^fu&8?Y zEt6T?j8^!*L>-$|MmqPARTmM-XJ3F^s%GOTu|zC#}NXtC;gQ zJa57>2q((pWE5#IPylbmj38}6d@yZz--Jyd**?HNU@qZlmvq9HNOM7x&yF#uC8ctJ z!)d>>E%CmjG7rwQVOEyG0m7d>9Z{wX zj8}l51oxuS8N^oLX_5+4)MuhFXjFk{_0hcR0JGtsQG-cKBptAisM!CCA-!RHBgvr> z2uWI+GHeOJf9W*Cgud2qEo-3hLG)&LnkZFtN=K*R-xl#wFwkEcvz&)?%HWe z>LH>|&&M6RVe}4w;Pwtq1`8FJlp9;@gJeIUjJ++p94q7J4#t>_jijPK4?!EUJnw09 zMFjA#BiJH*a;Q^%p{szGE@u&ID&@65qJ%CguE%`1-A~nj zh<}Y;^MugOmm;)9|GuX^r!BmYmkh|vEv7c5{`Fj};Qr}gKx{;P$;X#4$3>DOK#NfeA4ekZM zt3Yt5*LS06ztZYY#GxB#Y#ZK zl6XW27{5U3X<;z5R8T+HR4*lh$Z_vP?DqM zs|IGxs){0X$d>(4$a`N38cd)NnUo5gj0xmUE5v|fG-h!Iw1N_og|I56O9ITC1?YGw z$`zyNg$W>JFJUBD1OQtD7kj(PH^t*xZRdcJwR{rpb#5T4A-nNsa3`BC?m$7`7Sq>7 zu@{BLE*NFCz&22SC(9M2c=p)iU}+;ZZ@CaeX2RXo8lfzgHpGS?xnGk&VkAx%j0KDn zLoyPs2sPh^$9_^#_auvZd|#oF*>o-;Lje=Z-7BSq7!)L0Be)*%_k5sg*o#EZ=sYrI zGBW6wEhm-v%Z1w_h=0Ns3lHFla}olscZb71BHAFy<3D7Yh7>u4pBF$ZFG2MQ?L(o_ zY9@+la)>i%O+0{dAdRuLJ*8`dqE1d5gt(=LVl%;5j2rm0KA5j84N#~;nv&r36Hs|+ zQN)q@953i~g(up3YGwdIKv0IuBhoYq1(h@}65ik(0DSgGuKPJ2n~Bh%_8vsg;!mXZ zYcvLu8Ez^^B{4dQD0@^%If*jiTnXn?_#E2)m-nv}_^ zZLLSZQamJ7y3_-Ww-=!b_`)-WZqwa`1Op)TuH26>a3JPEw0=?n9iUGN6vI9j`2>j{ z_+cP6UnQCmLe}cWek_LIC9)u7Wa_s3* zG4TXtGe{6Wy@-2Qbw-**`*fi$O;H!{aY&qoLs*`d;!U@4N7*x(KQ6F{>G19(XCfi|4PmjSYh z9_nCn5Cla&5>D&^6Jd7?fM`OqljZmg2uV5k*GvQzk{KH!I)a&AQ~1EFZGzVY_lp+B zj-@M>9s&q%8;Aph*UG{FFQtRR!ls>X*zt@Do(8R`{IMZ~)eKngll1F7RLH0mN-l*e zk~&rc%S?=22_=l2GDTh=Yz|Kd(|*O|wc(k+5rHK{1(^jalaOd(K=M0xwWKC)`U}#T z3Wr_O`;}D)qI!WvR3o(%d6CTv=+#ZlCK%4?DlT3ACMc0-4y5==37^o8u@Nz&$&a!^ z`ve?_Iuf65Lz#=hBK9Gk(GU9jXg1nvH1uT^6NfdCVPL7F9>o?%MzlPsg>ke@0Wwc- z0xTRbQQ;Msp}Ikt;c&4XCk^CoVwnnsEgAtsNS2uZf|k|&?CCEbYyoz+OyCTT>_JM@`D~kUvr6g`=Hz66YIi&mt-Kp+cq^w z%jpKy=oQK+Ol-NqqEsfu2W6aoHM~7E4*Lh+0^$^EJk3I48AR$aQVO)3HIVKvB)mKk zN9$56$;fnWa)`81mjt6iUIJRIc`XQE%j1AUOJSfFdl8ct({CVQ1T-HV$_If#Oui303_GNK(iHhq`N4$LFYOo}cFoXpV z;YicWQ`h6Q0fp@T?Pjv=ebr$I^QQ@h~PPQ)Y*eT(NR8}Hg=epa=~ivm*QKkrMiXJhc+`> zo#X~k|IMjbDP$~TuzeF^^}^ug4WS`Lc57Bh!BDXv-K-W$P)ChfB!{Vhbl}K_V-uFn zU1L*ZB}zmdLJ&Ng4je@WLlmek0Tk9H01zxDCk8)`z$PnJBDozUfKI(^1drX|^xm<(uY3T*G!A%YTdQZ&il z2hR|R5qWk-J7UgpGF8xk(DyG6_#8Emhymkmr=#(;cz#y`OvDohHGn*o*i8mh3jWPB z3Z$i&eBg){qeQew(M`w+H{4d8pGBI2@|4*m#2N+q$y$X{YwZZ1<1vr42&4B~K6WRV zA9DpGmz|Z7MiwWKET-tGsXrLK?1IZ74AHm%ZYDLbKoCQs0vRPS5FnMI;>6$*0Mkm4 zRLed1+a;w4(sf>hKmZJEer$q|`i(nQj)~7E=taLwO-3Fvh|J?mt>GmU`OSho1{zKI z8(F#ptn1q{ZcY#J!FW_$Y69n5@=9kcpc^JWP}0yecpQz`u^al$<~~jP2K{;9T!C!J zM{Cjde9q{S+hSz;&n69oMo!pib`{`l4_B{+;CPDL5%v1$xX%bxbIQtL>}ur@B6y$( zcudjGwr~eikW8pi1vbL+vEd~5o1aW8a$>64gPX%ug#++4q+MVzd_<_7h}>2oh(PUh zU4Vt&NSD?Y>y_TL2@(kOz2GOOmGp!SU~!9=$Z<1t4IG>oegS&N-FE!a-la=1j-XB2 z4uXEjha4r2q=ZljUS*cqI5)IL5r`rahj-I=(D*EkOt9 zvqf>!go|Y4kKm)NF#WS0grOMXzF1(agP78iO+W^j%D#vc|4Wd=%mS1W4AX&8Oio7D zhx<-q6+!q7F1}J}o1+Lm5w{)=67;q$W!ixXpq!4`OpIP`2ZQ2z4-5@t+ll}s;wi-V z1`)yPE+Km08xlR-)3fd&5YjS#yG0=dV?~@G7P~RbWHnfM4PhWr9~p(%+_La72Sa|{$#4tyXU3-eN20Y|q0oj(h?^n@B$ zR&!?CCtqUNUW%`gLq=FZ<1?`A5CAx~L|@&ylSLpcmJ@>-4y+DpHUYBG|fVT_|Y*B=oU+az1ut?K>Lv7n%A2 zU$)YW9CoNj%hq~)p&a(&*G`~ET|cnnjb!)@7iYLG-^;32vZipbp%O{by&V^ZT^L~R zzv^S9%F@pFbXdC6V(*0pf%$t2UnG1FE8($Usgl<P2+XYFAXCOktf>@mR<_T@vMC5y=paLph`bh%lpAXW?(X8y zJr&&x7QKujfe4A`(_{cM4j3znf@H$G3Je9M(bjYGWedQu2$)e5yr3Gb$%^C!D%`SRjojD-jaE`oF?70nqk1Y$Qo50Zlt=2%Wp3*rNa3ZdkH z{7sl&Rbj0&8xx7giC=L-gH=ezlA0Q@@EHhE0Iz>n1%V_G@L_+4sF8R5{RyERN7EXQ zeQ=%4V0R0mZ~%jRS5zuP+ql7Rh+QHr$yVG+5Q{-I5qm}Ni|L1nNx_5!2$<6V_LTg) zdTc#>mYvD9^u&0y(O42;1;&6-@F>oW0Jvrr?7rSsChFyYs70@ zSdNkNH7L))<;!<`*dyy6_AsVbmn2&;q+_PMb&I0kRg~t2{gPJsNj1(dIBs1o6)dY*-yKY45UDWuJ(yAYCrU2{NS!OAbe$=hEJQ22a1?>mMrb{_2+G);hUD4#bPnR%(| zH+cW_^yR&hy%@e}(N~FEzY~o5lC^iZ^y-%28RAnk`Sbsx3ee5@by}og?ZvI94u+nd zv8+S|x^NztCZS5I^lX>0<1gIMiNfv_HK2qP0hamdDmM-Tr-?ym_ehvnuo9K@(j z9>WDh2xJ02W6_is3-52wH>pw{akVkPF3P3pgoFn$4H=BZh)euQAj}PG4^W_%Sb82F9W`T^$u+@q9&t)Dfs-`+8i019l%67$X>d4Co><0-Rt!Gh_K* zIaNSTyrlzRK^)-hqlE0aVnTv#aw@UIcAA?VPgK?M$Pjk`;sQHjp>gb|Ac#ezBP5Ax z*3J8(LqVbUFn@&+F=mE^>;LE5>Rx8#H!jd>B>;(n0+}mpMDu1OSc|8I-+=PCu^v&h zpAvTyOCNs}kzn}qcE0HAP4yyjr=Y|dplI1+{u zHYuv)YIDpI=HOwaRLBVFekQr5Rub#*DSuqB)NPX=fG`wHnqX`y2ceJwHB9Ws=ckF@ zV`}(@gy9{np|qAHO%06WR!l!fs{=qVg)?P|2V&4$XZPR%=(jmdXKhb?oAj%O$Y^qP zbDYZXAs{z*Z3Za$w>sVvm&(b7Y9=~}+B3vkw#}l@7o=ds$^mO;hL0^lW13zVLYyzK z7B5_SG5=0%E2r4Ioc+f$kv$x$1N@M{U`yb7lEICm1V4KEjj|3n9bjn^Z!B(CVmP|s z4}iWNP~kFLoj{YP9gM_BGS{KBg`h{si7x{^EKIWJIsuR7?|M@x6o(=$3;3g8q?!Uz zKsC64MVI-5=#&EHM@jlazVql%T+kv6sT*OgoJ`?H6f!`mT#QC200%M#tbtX=fZ-DT z^W}PS-J|LwHdMVDkYGm|P{Us~pk{CV&@8_Z7E>>00>I|WCpkPi@?Kk@g)w}J8%q7U zK{{8a$9P@WKd<<6nikW_@O02!vD8M8{{mb*Zry~5T|`A{fnE@Zb97lVhbyY!-GWZ0 zixGA8^-b@Bp?6~ax4ii<%9`hN-#dn4?G$b2bfhi6=_g4jUXiUrcp7! zN~sLuMh&Ki-Hk6oN`vPhmv!vU9Vu|!oEE5WEz2_wHQ3p`FahaeQedYo{yG*f{jeyE z9{FE*`nw?H(E=nS8~Vr9#jdt&9zYL;%DXF2rvFM(St-LaHE>@opd@ zaw&#TPs3w}1N)H|+~>)7?KPJo5MmZU!@(p5#x z@r7;AQmxx=vkMzM*g+&rMyUGC^#`_0RjE8|6a(P4rTBi5tic9nn$^Y?*LI}NPT&rF zn9o@?UNBZQ&kSG`z&Q1ZZb}e2MkXVb@pkY8P{M4@;5#NA>RI_s5J4jx`zlKzE+o8Q zYB8JJJ9f*m=%hrNgg8a$2}W#>gSY5GwX)V^MtTIV5NgTLu@3RFn_jcU?LI>lwYri$ z^SO^bVxDyhyPK{e(`E#WJ#FcT`1}>A2Too99!RpK($Z{zZJZ#BJ!8ru4>#CSDGs6U z9!pH}dkr&2#m*BmA`#F4O6bK`WmI~tb%e=wf6vq|mobG#Pp(j0;Zd+*W~^(J;j?DD z3god)PkD^sXm$BJJA768HNhUDp{w8ko-NA=y=Yp5a)}*?fc(K~+MkmxDme715K%~H zeMHjNDDcBZ&_#q}B9*Yh*1tE`g!V&-un^&J#5sVH2taUiUI(P_>mDsXz{6{pfso0h zQh^(vkvVrwPEBnA|Ks9T#6vxl5oe=`E@Fs}Ho>(u092HGx*olJaWHPg!!~p38=ujx z#KHg-f#M9&kpK`>;i`_h`ff=CuH(AV`ZP%JowXcvB_t3~eJvOQoG>Mb!844O?X|j0 zf0viS z(}uvqYaaxu5h6B_I4gM;yD%@CB?ttkIaPxaqmFMXoL4e4M`kI1`8xSbaUaRkm@Xaa zdygZ&;53n5WD@0&Tr|}1rPkUgCg6Rt4O?TRMF@gCHvtIL&-Mv%AbZ>$Oj zLJ=zndkupya#9|yY*QbibVFll8&1?666`e+L@}5JjwE6biBsr0Cod6pKMqiN<4xl1 zfl)*)wX-W-_$v$*<7_JRK1#wt zjH=Q~J0Iovk)e=qOz`rYAhj_52!l*WnU~$Dz^D709Fmz+^8vY~c#*nfy0HZ|)coOxw!!#&V zsmgXLtt}yt&@??|UhA>;_%S~`IVi$7wwTI=cxi}X30b9Fv`M5kRt`=Fy%>e*R-0ZJ zd|FVO90-Fz#Hyt{kPQWuI}JM%^*_l>Kgm%6=Kq#Sie`!nz$ls;HTweDp0)bvo+zbn zYMZv|-X(aEm^VOsO79YnGlR*xn2P}!1(UsMaHPM&?>Gg4Fr2Jx?g1Vt=*gHu(RPp;v=^aKX)tCm)*%aVYRE>&Lk%f|F9H|Xr7mIw zGA7hPK!U{fSuz7p`^P{=P07V3Fc(0*% zdba@u_}?8FY9;jKKT@XD z6ywQsWuQu;TY#n$!c7}EW3=FM0O(85bM)8E;k_9}g$?O~lq4>!d2ixkdv6JIR_7pO zLdpZ;cEpVw0-|b3aJy;L&RHSAiK)4-&ztdLR2BZ$LzW7L_409f6=ShF5S$_eL@`Gmt_tsALyS4)Nt~X~l(QBA!zl;sYa)j&9472KzLxsb^#V{c%mhev048(|#_-u4KmGct zD1|P~q%yD-{w6`<-5@-=kg>B&Sn5q%0=tuFIrWnZ4(k&#Luzn2)_`*5rDy*Z8eUPf zt^t1%3&j7iCB*iixE}(4W6H~vk6yb76J9hU?h9(CXX1x)LLiF&K{p&Eryme(5Ttkq z-9C9VvMrO`fYgO@5Sic(ArUq}D*_?`aAc_j_Qk`UkfcMNA7}s)_D?h+ZUtUgf$7lX zD&Ok>QvR7rb1}0B6$Q|+4oL100z3p|9qVvuXyXIsO9@ntD;JKSOm>Ln2KL_y;HgC;yY+r*cKxa^ zu=fjLSPn;VHv9T;?aDZ)hh;hLndgilR>gBWf+I08Sgh=xIV>|Pg$uJ{gGSv;_*rLa z913DN{IdQk92Erw116^d72=#}queAxU*alUu&S=XVd+|KK|sQ_C(hhc%RN)F4ycCV za1BcU+EZl6ws86g4(@Ox5Ri%~aDvRk>G?lM{OV|c}-Z>%>gw&26hyQg*|)_qoxekb5K1p#BQWE7zL1YInC6}r`U zv*P?dCo<#DVKl<6&^-bf6%!079Uc5e#zbr&ks-Wj zrHU_*AS18`*PWjc5`lNq$mp^Eu6z zXlUV9awsT|=Ljb>QTru>byLm}Kmi_b5^nYkcLzh|>lcX)m!aOx0U9je#`i7% z9&6lx|KnfupeULkZrh{|4Qmy+?E2BOxIG=%0T>J#COAs$2XJ}dYpWoSZOV%RO9@c0 ze4?lV^mQ60J6{fpbZfYWSJn{K$Bt)3P*!B*6V=nVEe(Ku5?H&Ub{fI`06RQ3SDAE>rgC; z7+IhRmVy45N_lmZRGKCr37{9hg-mvL0s`3oB^_yJ?D7qot5{;LV)Nk>PwJ9wU`ZkX zg0UQfQbU5S1tR0`L)jO0=Ts}_Ve1F#QCCTt;EXJg3ZfCg(iWfFfN?n=MDBIyf&l+Z zT@FO~9sow*Al0rFGAt%BsdyFd{3y(TPu^H7?&{&-p2pP90XT4&S8olOcpwyDGcaYc zJu|y34?q}0?x-jr0`fG71AmhHAP;u5vs0!Ff+InXC_!UT!-#!?@E;kl55O=oN+-d< zk-xTF3E|-dr077zx};bg$Xp9I<_N;M<+iElP=jYax3a0Uz60?Optg-Q;JMn7r)Xbt z6(>*vd90D47W0(ZMHV71pymIF$6}rY;3Rf&Tuu+9h*PL$LWs4*$U7>dYjQa$2yCqE z5Qs1ez<&u)W_2r>onu?xfDmbP;i0Wf-+9n2?F{@=^-K^>R)Bo!XI=xJ5rVv1N=<67 z{N?AE+S1{JDHZ6pB6!(CUQ@v^fN=Fpx9=)$-4HLP>prctcoiJC*wD7|*N5US9?j+gm;uBg2cJTf>S|E`(WL z1N=EXNq9}tfpk2g*gm)!AW?fP+QLv*_?#@PIyhOpfb@6?;XD`+-G_QGl?x|(31Wo? z9#z;mRTfg}JM36c%5WGD{&UU=Q!*bm^K5@0Z%P1ZL_pw1=wOY^zLOsI*V&TPTs{z< zps=%e9D@#pf{juDm_%r+Vm2RPICMf?eT_??pka`i*2_S^6G94Q5S>Slr%ZQQ6!hp# z!*m#SJKUF;b8&*MA_rNX>e~duydM>>5(*UuT40c)Ym2}?T{KA8V)CWRYl_u*WeVMG z)cRN>MsK&okELCKqE6OHaTRN95zL*#;w%l}aD+DbEs8hqQ}Pd!og&f3U@L{3M+`g) z7lcLjr7F8M=caba?*`kXjetFFZWWbV0w2nd5t6>Y$-Q(8Equ>j&Fg<$D(e~08WhVY7MxG=`FU+E>2_%k~ zC-jZsUY+FBUTS7lC%49?0A$>(+NeqP0D%AZG$I2hG|FsG@>0!AN8kW<2?fiN7i|;B zQWy6=UIRJnlKfsKqp29rm5}7pmah^m^>KT)qlOe24G=sO^@q>Mq)63U6*El(+#RamvoJfc7nk)*16PX!RpMOBH#H zlE9`f!htq`+m@#Z%jCV2uBq+2QpjXgK}oIqHr%#3c!` z34&_d5#AmJUY5|+m$WSu);%Sup=1SrF}M(P%7#6$Sy~_xD-)rFo+=@Jv1Ox^qQsOk zB@K1Tc(6qYfzQ=UkIfa4tbz}^#V8231}7}V&l<%p;}i!dKx=MgiyWs=+6%>??l6$^ z)Spd{g3R%jD8)gSbb$jsG7tx$4PTZ_Xlw%svM(1>QfIRgX;%EPjkvop&Z^09{%5!@ zMTAg_^k*@?Ps`S%{S9s4!cTb=1X!^aeenL44ejdKC>q6)Vgd<_*xAh)Yc2@Vtk zf`$i=aO~tpf(hm`;nd+LIDueM$Y>ZCct_z3=)nFe+~5v8wLo&)4d@U!?mrJ&<3Jf6 z+x9XWSp=4qb`a_ zC_4w4jx5+n1v`n^wJFL*>}Cae!i*M4VV8e(4MQc!PST9z8ycDbJ|yZz3s8&DV8lQ( z9$nXqxWT(Gsg;93B3g>QP|6h;8e-01$>d2J2rSvX`!zs*hmWViq4^njlm*XExGXa` zJB|0($h*Z+@;sG=Dv?hXZg3c{nXuyjtN7%7FCgX&BYAOX*`4CPUd{#NQ|hRr&ao|3 zCdUP)7B_W>h;s2%QywV)$U(QxQSOEfuro^W$~1F4u;IGERQF*EMU__;k-^DcRGx;S z4~7lLL1_5##FRP}h}gnOk~@eaz-?p%!d6lEFX1z*$_T;a$h$p)#~!-i8_Zn8SwxS( ze^~9Ji)QaB>`e@Wz1uPQ9o*As7qJ%Db`?Q>>TQ961_cQP>g(1T^AJQ0M?TRh;fm35 z!ph0MBo-E{whTrwqu@$(U=2_MaKh3kG-G(j0-(?v`By?m>D4-cET8AMa2PHCzYbvx zJ0l3q7n}-%=QG9oy@PGt>z4~wQcOqeo^lvqAc360Qk3EflF$1n&Zk0DP<%`J(} zfWp27PGK91mr-Qg3T%CMYsaVX*V4;_tf!(u=FD`LGhfSnkdOHA0KOme7F&|jn3Pqc zFU{mwfN?xhr&TiuRx%WTMg?|bu2?h-c)L;MKiYx1jfCFakc?O+exl)9L?xb5vlGHK zeMep(Ysm*bfkq@y0jxqMh`}F0aDLf6wVBaw?Sh3hnd0$Khafc;&0?f|C3kkU1?K85j+PhJ~F(uz1V7A7BFAxB>*Y zXHoy6f#}UlSGq?y|88VGYcUolZXoEiXhji=ucDP)!~=M_ZP)}21)`o+7y!G&Rn4^S zv@8Ig#7Y+;Nn6urN$~(ZW*&)qlSSw@lM?2LuRgoqlD67iEV5NH$ex4%0v@+Bax{U1 zl_8VWZR&LkUyp6$6@;mfJcI62wU!ly>9tOhE# zP^$`&HHk@7$|+6rJ^ReEYmH+K;{vLv3YRp(cDzsre79E^&Ukn!3?#RSY3oA?sdek* zo-cy@d_&Mk5Tzp${jWo%NVMuI6rD>9yiArhCD4sD2?bqTJ1HRLcf<3@ZPOV3SYIAP zO#9?*05ytlsQSDobuQ0>_TJ17jAc0wC0wHx70=fShCuZ~ECuOlACY5PY}`MhD%vnp zODUA*mZtK!tQH14j13-_dU9y$JQY)GEwh9#F@L;%&>U`_V|%C@dz885DkFA%bw<|G zR?xb&EEo&=9{Cz+Yy}!leLV-B?Rkq_EQ~0hzi9X}x08e&VHLG7`B~$JRWTJ)iji2} zO_bGe?h3JdIZ=<+7A_(~@4!BXEg+1T>}CY9nl&|L9m#gS|}*7 z;t3s0ASVY950t}3zz5tW=5gz3&?KVPV1E>G@ibI2bcrD(J_CRkc96)_Gl_sF-6t}3 zyiwZ44l6SioI03Eo5zWepRoqS^2)!5w^er;mq5i z;f1`s1_B7yMUS=E(JqEWG^G|m1~{5|7VAooMtbCO4RiTtu=S%1LkAE7)EBYn;}pAU zUYvaSq8)I=qvr?zHvudenJBXuZEhJ&1Nfvl$7zDtQtuN7iZLFnKeSrqtc4J$)Dh+u z0D(7}{F=1OSt}Mn>848sjz#NvnS1KlCE8BQF%~}H?#_o_!j6P^^atX80Wu-z4rJB` zJmXPo>IVX#z|14EDUJT1pq1Vk5rCXeFh~WI-fuV3g@vGM#10r4x)Z6bkazq~K0{IR z>A3VWR6SLj7mytn0qyuGJyV<~bLRESG^Sof?0z+32_NXkr!fMR^l3gD z80x?HEb}{B)vkzPI#u*ZW2_7r2%QGmtUl~qUI4F#+hXV!V6#FQR@bURPH1~)F+~f` zQODi^T>39#+|H>eIL))*MT)-@-lqZGOe1=Wi^ce$kq=J|S%qaOAsCTd<#-HHLF&5( ztK?MoO4Pn>=qQ>RRPypB$L?FS1w-NMG?vKuGt6V(wp_BeihYo%^mXh(z>1=ezcu;zM zD6X`#e4CBZnkfRyk=}S{7ilD=P?50|B0~@UP_99Uh+f9E73x2`%G& zeNwf>0${j`dysPdNpO-3t!ZWEa{_||hao1`q0t{vF*ybm@u+c8k`*LD7s86V7DPYb z5M&h5P^zrua&{un0%8(-hV*cblJiLpyYZ0yTPp?!Yf=Iju#})CauXsut|AAL zbntABb$NSc!BGW0V3xfg<-!$kf)p#pKOMUnWrLy!5LOGl*fqSVS!h$$2AT27D*DR= z0TETkNWJS;ozG!o2!@RMDS-@y#kwC;{YijV98tIG=ZT`BW{i6l0VYzodILvOW&%4~ z^h+P>l&lx$rMk~zeg=U9pNR=7EYu7I0xf(#{E$m<6xZZLv=&Y-l z!EIs#%;a``+S4o1;cRVC4r!eUT%}G+GO7txl}(8qyr?+bxludqq92H|<%V@y;#PTL zTipo~N&_$>StS7%w3-28;_273Ni`Qf ztAbKB&zz#phEV|nAVT#sbbyU%*i+vxk+3)F2xTcNSbK?M#3}5?Olteh5(*C+>6GN^ zd^FM9rmN5z*Lv)}V8X;(;Fy(HNoXiJ<5#@}z;8cOaSBj`uJn|_jg5#b9~J!E6`K33 zpgf2&Baod3jk$fL_`*`s#>WdG@oW)TNc0Rd1a>DRMjkR1Y!L(CM|5h;Lr&3;-1?r^ zn9+&D5J_MMU?I8(n**lcK)>xT2%!V05Am~{*UIpZ;01b~kp(m0+T_};5di6F27G@4 zV6WXX#Ww!!BLYy25jh6$4JzAVM`PXCnYE;}9oHd{vXmr`??6~;Aran>IT{)8QNdV8 zoWW-mfVP1iYcho!3$96yg$s)DY2`M{fNdWHDU{NKyNO6>gsoFy>yQLcfn=h~gw;$! zh%F!vGlVucA#2ppHAEqxL>5EI^U2Xg6!?j_8!%okqVE&RMLE`B%o5oU-w71aGIS>0 zBWfVFSulZg0H3Df^Tx;wBE1g{*0V@px1`87yT;=zqaW za6@paj2wv9Zg>#2Qhpd9CxIr+e|#t!LD*JJIdec*odbrNuTR!2jhXTTpo8B~WtYw* zlav8EFW}mG>*sh-(6qzTke`A9&9RTWekK(X^=PkCcSnReEs1M8DbO4Q^wL7&R4ZnVS$!aDL#*&p`4N4wWwIYyOFOAy+@ClhIG5fmW zxU+FlDJQ3L=5Fx{VSXdW_?In&zz}TL_k*uUlc%COI0M&j@5+cFu0vtJd%!eIMDZML zii&quK5}e*QHi`DsQ5#4nxK^XsI)CV49wumTkG_9uGq4(C-){d5O;xzjK>;s)-m#x?2z&`JU$)U+W}IorIP zK!`d7c!cjIV+*B;bi4SUz%BlNF|oHT7(`{#^+LTBgTEsW&l=LiK7sq67t{}H2Zp2K z>l@?zOg={8rRvIL&G!^eEO@EV840`5-k+gHc}ELkh10eu0FD7$0OvBU! zGWwPa!7}6rNg_S}{qT!qzZWdmO3WaFg1NcWh&`57XW(!mAmdUXReZ3Lbdz1=`$z7| z&gIaZJ56vnH!%km5B059U(i9sI!}R@(obsj87DU$rd8A8S%-2E0{_1{R2!7`D?BT# z<~|??t)gqF&^esPrU{}MFe-hMdb^_;=PM}3343@BRFAZGPM>I{iQV5Vz^WfJQK}l+ z2q60)08Ri%1gdOtn8W3h1a60}pBq5VfZ|xet98Iga3}H9R$)>2X%#v!{E4D)6}7Ax z4I3tg>vs~yC8(Pw2?%|O82+gAf`Hx~dR!*R@9yg0SguEVw?dMZw^&}$HCPy;H|JooZ8~dpuK4D5gcMv)Z{2V z+9sMy?p*I9Ix*niNaN49x}?z)Eyyk-w{{T9hmq2>}{1E_2aeNlVwc+q^ws6Vn~NG+$rR#6LJ zyI`Nk0RiVw?z&xU9mHS37^QNi7!Si9Fwl5Ff^P=L^w=L`Z;3yD8uk}@4emlx==^8U zU^1#h&C?J^BC~iH;ZR~+Wa&*}a|PA9|JDa3pRcXgZ|tbUQKI}yhd4F4WLx)?&oC;F z9OS_|x7$nwfs4bg2^ym0ZjiqBGU!k@hsn z;x-FYEKpEx7)^wt`(uCcfF$8fAMx2Af&8dQLPxK(wz1f*CnUU#? z>?SS(UF6u*5zC#Csx3~MGaKn9^-{4EW3iTLGA`ID*Eyt-)V7&kp8XS?(PY{+QN4Xq28VZE5z@3f^F%u?b zC>FoP0_kb#@9KmPW17I)%|9UEGSM^wmrYtAe7gQEcaHI>dMOdfN6qFndlhIjBwtMeiN4knv zV;D)M0OONEpxP29!IPhOW+Lv>zpVnx;9=zF^S)W3zouUy65pn5|2Qj%koB` z4KeJz6dNsYlSrYy78908?=AO5g$nSO6Wy8NG3-E z4;qI*tI6@|p<7ey*Gi2V4KmfZQ5@`6Gva0Zofi###CC-d{20my$>2sYqu&=#52Gs* zzG1F%wr467V1@2fL`l-^DT7XdAVRPNp0 zyO(CY7?^|&bAOz!^u zaQe~KtbXGhXFJ6%p9%D~k4bNI640?YgIqM8oFNlx>OnDv@~Dvn*dhm43v5Yca5n6M zi3p=~vO>9f4XWW$)Jii*$QOf9D^YGz9?})v;`UX*lV17^H#9s$_=QsXo^Z^387o#- zaX6-9#4lw&f-g;k*8|GxkHB0t?sTW=v#9h~Qeah?&32f{HfaPn`lWOxCE5;X$s{sU41RL|BCadwtZb{X9eo;|BsV$(J9c_vPu+= zg?8N|3P7Y7&w?gk*=YsIw3~w96$toyNUU%%>w~$(Zot6l!OjT3g7d>Scp3q|5s92j zhrEf?LWJ(@UF7f6G00d8FQsFqmp>iIstIS!$xS+tKbERNhDt7)nxgu+_#IY*)uSbE zffWsP#}5)59VfdDuh8$suw}a( z+6IL*U|(st16I!$1OS-8MC@;pFia1mUw}s!u&}Pu(mn)6z>v*q@{QlHKsp}5#uu;- z2Tj)#o7XN5%mc-k9p}PL?w}toG@x;0{oqORA0Pf3`5T}Q;f(6iB~Ae@32N|Sg7{H5 zVcHN?crXoMVTRE6iiEW_6z;`c9`4uUfVKeKbP2`y2|Ae%H0!Xb zbBoDNl2r?LmDov*jer}hPpMcE@UT3zx$)s0nl+U>dQ~lGN&hJy0W!uJ0G&4={qP3T z>NyRS9Bd^zfNcjvJRXXz9Kh;PHE`KwNEU@8&_aY?frum5b_&dE1j?I2dr&4JF3O%` zK|FA3*3{6WkH`FlUY9D~#mAaBrS}uH!gh(5Ff~|u=;Z6l6k#Un{GUKCl%t)}xx`7j zAFPu^`YY+lBblO-J{s$OVhm`ZwP`q6y(S-fkZ?2}9%dw2Osl?(hUh#=oT|+{EYNL6 z%u4XQzVo`%Yz2ma%N{Qm?9@PNunSp83qbQ#<}Vkx69uE*W#_AE%Sd$qwwJp=+lZ8#mQ%n z)scOKl)i8aRjgAvL_TSx1x9zW;EE;7P34%hhB)2NY0 zRb5$?gll}Yx_i>^y;n+>4!S@bXidE=??VHlZjAQU-i`Mbfe+P_0plUTssxP#6Qi*@ zv5oj=iFh(0W5o5YH(|g^^vGe$AZ>PW3Jyv=q^@+dt3pgmfDDc(0`WLu z>dZwqqPr7?cqOJmXs_7QY}Lp2JB9z14U1JTOn1INaM)%I>06c zQ3$H#$yO#75=2oXilRL6ah+US2B%}z?A6EE)V&*r@@3G*o3nXZA zt*~yBvqF2(0?PN;K>B49fAn!68jp*H~g#z0T4uE%4NYq(}#s5i%N`B!fu?q@MxK zRY%8*uE=4xRaHak0*lzLc6r}VCW)AC_88jMYljBak-Md#KI zGse$`6$0>p!RZGc9w02fO%fPlAockXlno$5LXHEB2qD-h5%535k=<#BfR2f6=YdeE zdxCNB3*p*67;q9vo9pT1(5yPIOJ1&g^~%>2E#Bf(N*+zCUTZ7H>;@ymgn+%=F_dqy z$2!dT*5Q=1W}Dp>z3VKDBvC)wX8`Y_L4d zvfQQ54|PV875!#rLuO^pJL+BiE3|9aoMi+k2>8$C{PHg3NPk+y^|{B72SMC88vs5A z(SMDN<>5rwyVytz))B6dv3>QhrsLD3)v7t=Wq~ctn9Yo+DYm*9L{V`@&0(?CiGbO! zBVI5>O?X{%akETH7P01u7-+Xcm=L9V%Lv}pp?n5~fbp#&`9j~}1(KD0J|qlwW`v?O zTA?Z744zv73`*cxU(6B=^s-^8PZlAG=efZ^2Baww)tLk_=VHlsbPX#J`XYWuMbRI- z6<7$}0($fj4(B7Kpe`b9?Fg(Mgcbgb#uo~1sON(dX*JSHeljK26w8fUB{bY#6DT#I zA>8ch6aml(@?q+S^38}ui_Q2Y-k=gcra*~kMA&m}&r*fg30V$kQS86pF78=oDW6w2>_G;!Mn%lxnEJ5w}O{K4L0l$W#k z@W-;U`5QIdmFU9yo;(_O$iHm+EN(}tYAA`chy)w4=LiRmj{t3Y=UVmVn5ecZuHUZR z(QYPATjqH;rTg2&r%4t?|0&wIW!7OLf2* z2+lvjHo^yxKxN4_b3Gu)a0Zvao1`@vUTBT#vAEwxtvT7C3Xd{`4hj3iL{f#O&1I#S=+tZQvB4*Dk2sWLdvl ze?zE23*Jovta=p}k~yVE-(rFou_z=3Z&T<&Gw6yrdb6rop9_Y_ifAc0qFFLNPIX^s zzK6QPSA*6hl7MSMwkGgB5D)jL2f9<%tuTtrMK0c0V6Ick+cUk7h)h=Hrr)oH7fp!b4+=F1U5wvHv_bHuAruAc8087B%>W%5$>jy zB04SB7-NUcEs{M%?tR?iNgyEgJBCAHgDhWBR7X|Ps6x)Oyp~_|4zUs~>y8uxmn`jW zQQ()59#<$i25CYKZ$QYB$a?88nxaG;%|ko5WnH9i;EiB}TJCxvAZ1>ZgBMUzc9>d> z7xx^4r!s-|9eCi-EFm{aY$@2-l^nWZ!+2riKKd?NNO&oR_>4i^gg})erUTQ3XA!L1 zx`FU+x=Vw|qqYmyNC4<)U7DIj=TviUTD#swo>p+cAs8xEKT=Z4q_kj6-eC>#~c zE`o!bMbcyNUHQ#X6N3HE3}-QAl`m#NEQ%T)O}6hfi;qUtqu5?{M$R4gQ9p20m@T|> z=_#)fQ|i`ZOpJcej}7khhf63Iw%s_;e-d3EwedM4QI3%;qKtCQPU-a&f{YFUgA3=@ zVF+qrPn-4uiL?PBdi{~+-*g8309y*8K9tCK%SN|#G8@<3ew?%ngrg$44>j?W2rYH? z*&-pPS}{;F88Jl7u-?;BK@mHN1kg(eKKYIS(fP6xs6Zs zt>n%jQVxo5x6C+dTt$1(ai}PBqa}x8pQzWw2~xWQN^p^;EZa()JHNQ)myoNgx;}JV?+HmXNTF8OPb$h z=p@|Xwf+WzZ(6CQyHGdkIvGnM0x8g)zVax%F~rCwQQnox%&00xj*eY2Eg)2oq2y6l z3&sd~Py$q622L@7jgqK`V`48vB1F&uU>lRd*Z~k{&x1m43cjxJm8&<|Ch~pU( zb%#iX1qo>dr*#nY^~S+VOv_OMoIQQ-4f`5)d0h=r=``1@XUK*f?^bbG6ADb2ixZi` z#M(d6m_tg1s?dm2L<62XqA>@8S|Evp)-3e@unmANCb2{I8&tY}^&DHaDtWKLMpGat0-8|G874$Jm?y;Qhpa6cI29cG~>rVtbJV;HX| zqv9(hnGSe}o*n#r4wPkJ87ALA^laC5uUa*baKnoIdUtS9xp-+<0Y zAVm%09`ODKzzx7naQUVgP&cD9 z;>ThfL|NoZZ$TP#YLN&a;<28}eeNzMfNuC2JX`}s|K*Zmyab<}%3g9amxGILJ=M?n zLXvh$nGTKvO)-V>F(VL}ksy5;6Ph)d@JYbkIipvCU@C&t z2Z%~76al!bo;%4m5=XMBP);0JH*T~#s)a%Tfhe8XLy{5)Lo5?lcW6Yh1T4yCH+Z@+ z<0m%OeOj@I(*vvanegagR0$CggRKga5=M5JP6JI3JI;ZT^TD~U&ae(03ryg++C~UF zo6M}XArGlfE~;r<(2l7$(_OC|!A+{*^1VPX^ z>Ug^umk0FH{KSH3L$bxh|N8NI;q+Q)rlck}gtCZB#H9`N5EgZAx{)25*8Q&_)eirbzz(LcujA znobP0H?g6G(Llbz^sqWq!q9{%YhikGb?B)vH#8E(^$uWA36e4s3NVT-?}@{a|I|lp zu*zH^g@j`FKLZO)zMm50TqTrQ5%^Gp1Y4YUFT(iFonfqyZRP0gzOY4HaYL zDDVZ@#KJUyKR|sr|1S}3e<8w!hKM^rn}kD?GI3Dxm?Du@NfLr(1^KAhhb=z8ZU>uM zn;bmY7w`o@rZE3yrFZ!dVNxWTBmv11K^=D^LP~JH4-jjUOo_yC8Hw9?q!CcGEOdIN zwTw?8YxUy~bFR%q5KflwW5;+6+Dch%NMtIa7)7c!gh1z7eS=R0cr~OW ztfp4lfv1YiOK376CCb16?NxY!z6$0nOwSM7)6Cj5#4u@4j2!wu?mBxDH5BVoFfvVkL99avWnSij@Q3S zVQcc|wUSO1ej+~|o&khD6esIK$wO>Sh`oAAc*3b(C ziDY0e?s$!cWJ9^wcRL&Nyg}JbrW>=B|Cb7)SWRGTM-~i)zg6xjO28~d1 zIS*I%RVd%qW0RSSAoFS!9=H!2P|pTWqQIC7PcEZ6gm^^;IS?T*pjhxRIglnG1*NtW zltd*)@YygF#OU;iv1gG$uLveDqEfuB21EQA)0mx9B0dYnwpuLMige+6cb+uVfRVhz zAM((^NQR-c2?@YcAJMvo#6rZ6h^6}*&`%(heDHLWvsvv_@T2HY3HGn1bgAuhS!eVM zB9iaosPk%T7AsAAIn8WCjL_H^Z_plaHbjKpiuM{#9&6L)e#v-nac^WEV4!8t*g0No z!#NwBT6-OFd%=V_Ra)Hq_HeBurVf+(pD$QWk*=dbdw=dr1J~$;Doku9nUcSF+6v!l z3v3rtNLQ}}wZ}uMyeXnTO8v^i!z-{UJtPLPj~O|kUDEA*xEh@fjUZ= z%<+p{fs1ohqJA~s2~K1-=GWJU^OQNt+s1k5=4nBG6*c(0O29KJnv{qYHUYcU??iHCrJq(tDb^F631615`rF46tdxH2^Ii7Nq5ff(qZY0 z%OjMe@OYG!`;mM$5O@$;5Vc!vG z1WC$j6wH}+Ne-=1bHb$IvyIKQkTw3Q+5|lcN4}mPg6AV4gZW4F47ubOr_Z#wDb&%}Z#4&YQV499-3?#lOq7^oay%*7E!hx)Ok#0$inTwayq}<1NQU z20D>C9a&)ht}JW_;Mpchmfe}jNF&h7xPpzdd^LfbxcXiXQm(E(7JIR4bOo(M{YI32}J> zLb3xa0sBKnQ32vqIF86kK>(NHv6^c?zd`Pg-4oxUgV2CB-43Wk%DL9ZLVFAl<(x>c zFG%vbObmHlr$XP3| zQm*;qq$j(DLNvhUm{98+BgM4HEGkQcvU{O4rU{2Und+DrJPd;saOTc8;?p{ znzvX+_XH)NUA;y&Jh1H;D7;ld)3nR?0x9Z488GpTQ__!FgMBYagmjmD>W&m$1Wreu zTpluV0~E+v2T)ERfews*ko7)dM)5m$$E#}dG^kF}0BQQ*Lwuo6s zx{*B<5yV2jE*aW|Vlgr5!ke3&`VnX}j*g=%2F|~M^R9~p?hPhLb4;S5(x`Ld@7^_HE5A_(ChLLH7FC#PPq++Z!$>`I?{qzB$!&L|3(}j zb)f^KCT7>OJ`KBZ&|HcOun8O+d`Xm$-R;spoUiw{-(GyS=|C7K9jR!NJy_J+5|L^` zCSsS?BTN|!S@|%28W0}=unXc0!^qLI1~Glf=z#%)Oz-?$N&2YI_evAx@(Las{~O^> zzDM4BANv)Lk0sPL2;hL~FOC1W?NC-hcjBTI#No&AsWw_f$P5~PvJdC~S<^vs0mV=EvcmO#zbASNL z7A)$hE#vyp{JTd}Me29r#EX_-Uvw?rFPHe|3L|^`Oy&dC5b~Q2|Y%8u=@G{)K?ne0{l}WFay-=7 zwFwQ@Ey3Xg;!tpHU|#Jz z;>w$jD>re1n%F}JcJ$B~qAU#0VX4>)w1Cdw6asK^a^l>>eQcn(Fh|ND(STmzdTVq5 z`eK-s_IURUe;jpAU)PO>APra|f6jBC`}V7*RvU(U_xNC8aF%IvHc#KfO7q1YJ~51! zdoBxN8p>Ya$PKuCe29Cuhvb_Aren-69Fbx%aDm3lXiE|_KY?O%KiMZssROC#rp$8S zf(jcIeXZM_s#r#~g{=xZY zy~E1rYGf^ysvU{Iac`9%0UZ}@D#I`CX)ILt1^Pgb_A;9DTl)HK=D0NvCcBrHi5r^h zU)_~#uj*Om@p_4+XhuEl?uCc!`^t7@!R_|CWnZ1d^fB@*yI>d7IMy-m3+t>)C^vfe zZTe2m8XM^dPMr(2C82JZ+6~lMUpu^`fR3~ph1ZjUK} zN^-VXQv?!`D7EomKnyH{Z%y9G`SFVi$qo!)ojo{I2KjNlL7B#WDB-4<uOuF zlQy=NPr8bAJjRBzlP%S^NFx(B9_j_Qo2@tWZh(viKQFI8yfXf!aCkW;cj);z>GA?; zpF?_!W>1wM<`Q%PlXd1>o77tf3DymhY|G~xG!##UiOEpp`%pnaSuUDw^Lh zl4P{>6B%dCmYKh0UQIc4M2eOW8LqWytMI~$jO4S1oXF1f+0iM=hS&C%6iL(Rt5X`}_S!W5KMr4=;vVfzX z_EpiA_gPZfR)VvIf=kD&8eL&&y356osAajBe-{r8d%9W?&GZIVlFHTj8P_9K<6(v- z2jO6576M>wJJDOM=+)hfEieLY5k4ssk$IN?3Dh6|Z9YySArT`m589y%LodJt6Xwp; zBxOOpZdMjf;ex31QI4@D>UIa6TcRnzt$~AyLdj6TC}3NIOmtGf^z?>i0wGV(#YI9b ziqKSKMC!jPrk{T7;&>qg&BG@SPpOI%APE8-&~PE4W+hl6!j(lig`#t;3}v$q3DTCr z3nhgi2J8R@C_d)SilU8W^aSt7Bm;dJ81uSXFc9X5!Au~8tBpgUK-=JgK;XGU#obuO z=m&Y5Ov5MDT8*%f7)Wp!pHPVtNkyYcLafil$4E)J++X37qJZ9XduK*}kqUE9kA@4& zf(PZq9gYVb6)wC+kaTJ6K zUx7eF2*417AL^`y{2S(C-kA0i@skM{Mvt32%BTID0<3m7mKWehonM}=Kvo4kV(>%* zI5cL>eZ1T%@8keoa3v7cR$$=Jos@%ctG5be%nDZ|f@L(^zDk_`Dm$3}>48z$}sf@!Y{e838J<96_>r>9}zK&U~ydhJSW zQ{cK#5P(3chIgAEAk$wbHUnphOrIKGI7z!Xmf(;8cw&4~gC%hy#(So7Nf)!*VPVl!MUXXFcAy9%&Yj^Xw8NuO z?Pcl2mBE*v9esvU)45xzJW3wn3D}hn_Vjh3bm|5HYCOlL;ENi=(uxjHigOf!2NwYk z9W2EN6{5uiVSGe!XSVSsC4d1OZ!9B*LElh=zdFO$X0q~2+Wn(w=Y{S9i6B#1 z95gTk1gnUZWi^FLnF>>_jFi#FBJ>t>f5U3uYXM|w%|8WiZ2QwIt%=t1M}(g7TQ))^ z?#9YbM#v6mp&^@J_YBX*r}a}0DY6iO|2AZww?u4SIP$1FfEcEq;J0Tk`wRCn{G^d^%kEK^R0 zp?u^W8zCF)p~Ww-J#kj$?WnvCEJ~A99cGchEYg^QzqF~y4HD!6h?$ zTFqYOPQMUGD<3{B=yq`vWZ+bM!tLUwgX8h@Jm4I0K*8$2cmO}xzIcQA z#_S)lkhttoKBwUD>w2{-`Cto{yx%I$M{!;;Z`E82P)-t8DbX2o1EIj6xDeBipzyiW z;WwUH(aqsZ-7TS23$w*RV3k|rvA$&Zzo26GOc|OzV~(*Y;RAxzqJ)5850;FPFfJ^# zq?E*~)Q6t(1!P+WHAzN9DT`!v)@j%pV4Yk_48FL4I|^4kHl-II5+Vd88)`~HgyoQH z(}aJpiEf2-oh0Y69R?$eCrgT%Iyz%PdK6wRqe4ogE}>;2k`deSPzKAwz!(!}b(+z< z5+-1R<--&Z6}{L&YwRBiJn&JXqk<4nQk5kGX|1H-e#muG9V%*J#NueqTewOAEFLaG zC~4l+82^q6yM^SS9%-fp=%L(}*n}3+!30#oxbWGKC68>Qtx>vZH%)Up^MV#>!=1%A zx8MP;D_~X12EVKFU^y$`F^F9$7C_t8$cikE8~dHTYE ziwGgpL46#PD)w2E;pP;CYVvZJt4bquJE);5f;MhThy&8JZNg9!Y72@64{3L-lnGL> z-=#RW98AF-B}80p5}6a%CZ9H30y zqUnvZQL^FhU*w2Zc z!+XIF#s-$Fy^;F4_XA#dNu0HNmxYzoZBRn-V=NSm0W%plKr#o0zKyB7RCv_(#Lnl`;(7+BfJ1T2WWIX=XKXh>ERoSVsc-0ooI1i#gD$i1; z-L#}-CPt~F26f*lIZ}A^NO^|Pli{cyW7Yzl59vFIt4Cyd4#1Wn+cjW5D6PPHzH7@y zO?o@X@ov~t2vXL?O2pklCQ(zJd7{KPfkuwgPxaKjfMDw0go)bT&aEf)LiI-WqVMSu zqRv3#lfj`^KrAyOYWk;S@JNpa=JmlUL@0js=S{LmP%Gdbe;n>p8P)@r%0L^CHBcZI zRQd<7d+@S&%=Jy~oXTOS(7e^hG%a9Y(mXm85S@kRWTe4{R3Y6i8z~q1lcr{DF}hPT z=gf-B4i{m;tJr15ssIKB2dkWAxiykh5yuE3%t>Md2fhdiau@ZuUv`0ejEOvChZ}dc z2+LZ!&RTlALhPtZVFl};-7R7g0A&qYk5s`QsDe1IZnBuD7#wBT8>Ltp6Qs3lSnVVl z4hmAIk(V7=Ls6liVM9K`26;TNQ{utUOeo%9;g9lkuH2cT+PMrIOfdB&XPWFJFp4`J z%6OrAmhn_M!WS4aaACUqhSfWP(iht&X1Vw&=dh+;!s+BGhft*)f{{7K58t#+>;uk> zbju933ANm|I6Bhc(?f#nP6@EM9IoIho4?du{S>VzF!~s&C@}Q%Wbgy)6lmr~&yj!{ zR(l`-04%SJfGo;EV(*1gjl0_@O;hybqu^7DB}^GR01vu~j{h3~00000Q7w%4&Fn~u zfCDN4lxU&F2|2V9ij0ZMy+F!t=5t~ITN7`^fS56`2NKCWHATP-o%+AW8 z=9)EsY*-i65u+{&sL#*mP(_(^{HMqoP%N6skO;3s9(qaMdr6#q9C-%m`p_=N(3f_A zJTcz`+m=pe~s`i5yV)f9J6aau#0Eh^d(H7Ivuy#Mvg(w@tZ2 z3@0Kj%!x|2I|dglxUR?U3INTYo1Kjy0Rti|tIDgOQaFMPM18s*(u%Z#d+{mexZy{X z(Kyljwl&n6O;o>!O{P$_NP`xgsB|_C&V*eG*^o(qw2IOl-i+X+ zjadNaxV?c-a|D+S(VP&8Tx%ZR+M;De@x`@4X@FxMZV#b>^8V)D$E8FT*T>S{jwUXzzzl#P8=}M%M$um11E^<;oFD!V?xi9?J|csy4{5jLzwdR(pP84#5L2!u=H9dwXALh6lSl?&vcj zwrMsSDnJ16K~O=~*(v4d`BrlZ?YhfUhA;Jro0+efFww^y3!(3<-!6y@K#JVamG zp2#Jjp1ZY(eSH8{{cr-Qk4FU1u3tYw9;k+ps3d9zq?!e$j~vY8@YCX~(@s;Rzgh&(+Sa-WwDoMm>WH zQ3YcxU#}a9bYJCsy8;q&3MNiFhsc^4HL_6s{@E&MB>iJ&3uf$4K$j4zc2;b*R2oF%}TN~Sl&wm70>lb8>w@+Nrg_g%qx1n(Y=H(hH2+ zMN$O{zu|y~WzK0M z>RVadP^j#&$73h+r9wIps1V#B>{c^cwIyaIOd0=u&02!>M)oLx$8S_`0!dN6{3ofK z{jowgLOck#7g?Pu%Idcas5PKLE6$KcuHV|ajt$2s>F6VpL=jX zLsitFPW}`gv^dx9&6mK8@K9OIc{lEZ?ch$C`Xv2VlCY?u-CP;Sg5ozS&74Q@DB&zO zrFD!I!nD|vPuFXZEwY9Cb6g~=jhHuh0;isR1a^R)_WpncEg>itJYedE3|$M^9r2^c zkocwk8lvEWoTL;mQ*sR70|`=cnq59k{7k%lFh_$1=#w#iYVCiB94d>nL}V-O*=_Aj zfT6~|>~9GlM(-nI@L{mLjS0y1_3ZQPx;hb}z$gfasdqw%lC0cpz?r2mp9bdV25lyn z08WyjKUkl2#o0>+5HbgWq_f8?edSfs1$+4=TyO20Pnogb?G`wF;Gv$~c^1IdypbyL zJW_-;Nl?kURU<^A2kjmk$@v)ug@AZvO;aI>Ko99o4WTR*-70XXj&2?81TQw{ey(t% zX6AQjesti*FAA(2sYb$x0W+|gA4t_m-QwP4;Fg+*kEIXXh=%YEO%ADsn0QLPr7zuM zffE_Kfzr!Ill=s-)j}xc(ebep{^N9EVj6I(LTy#|Vm#n`w0R6fY&}h)1N;Y<`Gty} zrlJHUfW*#F?DdB{M7{`QwSXCaV)pj&kU&UTWC^OEwQwgOJ_Ag2zvY%Bm7+VQlsHD3 z6k6R5Err5e*Mlq!2r{HHP3v!phHG6!N2^iDjOW3o|HVzWKc zb@OGpli9873oxOcl!vmG4D1Ua-yMk&AyE*{2lx;%P5>5g1-z_}1l%VJ7!~8ak)tfb zey+vg2=Pds_cfehFv?_dkr4jT{ldIj9>xZ;i#Bi#!!V!*AjSXy5@}OfLXZ8JqA1*u zfcT*SEgUw5tH0jv(5(+}dW{E{s3HU4YHI*hyN$F(n6?Jm9zqpC0y!`I{2KxcGH2BOC)o*^q{T2>fOuhQd4354f^qaa9nz zp7D02#;jc37JEi<;jt_Wu;f?e6nF%p+8>ZP(K>pR0D=tiG+-GJ2`qf%4$@f8KTUvr z&Rw4i7QN?lm!?1-Jm?Mb0>Fr|;uk8>RPwYz%c;;3{}HKDeKA)GN4kguU8<5ddaZ}0 zSWIk5AXO;J^yQF6Z;JPHHr?(g;KU0BMo7t0XQT|jiQqiRWnYJYaRMGHFhq5Q(a^2! zw%i!0q2Of^qQ*Q7^9qV`Gw^2^hK%5pDTGWxH!>Rv8o&M!FDk|GyjC>+EOkNVDno0VZhZ^dQtTx-25OD%-cqfkTPQhNthIG|sFXBWx z@+&4Q=TuS*Ohn=8P#L<#KFCDw(w36QtUqYYp4ZbiDPUva$s0JQNiTlY>H%Bs* ztr1u%sS#EiOAC@JBsXoih5Z8)Cd2bhd5Lq*P_Q%Z7m<`(%AL8OI)y?ZWOq<=86a`E zUS&oUiJEZFvT385L>V75)+Jv+*k35i48&4I_zUTC;S4C@yp1%ji+*}AV{DRC z$yJNt`?AQ=HceuL*50{x4b=6x6*#v5Bdrn`v?jRHZqKnotW89~VBWmf6W^~20Xh+Z|uFnax zE#9*Nn`wkxz{T5Q|0HcQ3}4gP zBNhv8Ya*-u>^&U)Yje9QkHl%|RfWxCYXp)8(qVIj?cT%;XZkM@d(;Lfromu#5k?7` z$o~=B%j`V+FMKf*Z3U}H%u9r8aXj>m1Yfqg%^_YFx1jXIDhgT=QJq$7dF`4(ClU7p zIpI;8ZN)rd&a{~c!=zl=lU0nu8ebMJg$fWJ>zvlwGt(dXjVs0EMg`j8oEveuln5cRsH)_d2-vAO@);i5V23w(;*Od z=SGDEOSQD1w)#c$2A;0~pd3<5qtnM5%Lg6@wTY48= z^pJ=FTY!nMJ}Z(C2(Eu&Re)_FgKWH6v7q<_1|~eIDPapU@x(Io2&@4(z|q77CA_{v zXsoKEzAh6)e^ksEXtL^DTl^V30?N0KVDE@!S48e*;{uQ@eosrdsdYT%4?|-!;qKf( zU*54d*T;pg%9A?jTtSjQT(-ELHLOk*Y`&Pc0&Y46`e^#08Ho2x^k95qODD)p$f{JR z2HI0_Kz!Dj{g-ZftN?O5Rl{eDIH`$1S;aJ{X?|QqBkyFcAs{7fnu&yv>$nqu%-gox zK|pm;7a}0Y9u7M?@s~lQ6tFno>mbro`in0-`P3bx`<+c-9XNk5k}^G5nU#`Jo{IMX zx5zLu{4rX@NH;yxU5KN52C6%)F$JuUP|(7l){1AO{LMiw?P-?BubJRBelBQT62y{i zF-^f2Ye=&7e7HO!aaT1F>RU>FmRKl2=b%92ILDlaHTmSWpHIKKF5e+cA+?yGo2Qp1 zU=y5yX~Xme768~@=0~A0C45YFUm+{tHndmVJ+cxI(_usnkp@vJSBtu^oddVf7R5c| zL`TKgpd=k4{zcBOJEJ5sF(JgIYKwWaR<@MOh>{42fM$Yfag@wD0&55WBYI}&ikV5< z5Ss(V{L#D`x1kF1bbOh4K}RPkxC+vmy`3ZL<1}XVPQ`K}0gUygs0CRB!CPo);A7Ai zxkafSvDw3NwpM>A3kttb4;ob`@oi}+Gt4ZcvJxe_=AVX4IWpSBu#6juqVO_t!J0Vo z>WGh;zkJ$C&bZx=IsXJYuKGeH)7`ANGn;6!z?s-*g;?f<%3MNh-UODeRZTg;d$>(T zwFAqw9+HWeo_#Y;$bat^Nk-pZ3x3DZVY!E*f|p)4YlFKaw zMib}?uBoTe5sEW)4J58ITBSihv4kcHh3Qb_tIv4e1tK2kD~(KPh3DlW>Kb-PQ(_MR za#j8;C$p$f&aC7oS(5Rh&c<)A1LNwJ8?tb>w(1UN5s= z{%EQ$&#Lii^9?<&Y_7t4lH05-T?s`7ULz^FyrEzaf%*Zk3^*D!0yf1JvOL(?s=a89 z+?Anf0rFXu((pV@kl+1H+ELb#w8^+cnF&Oww+{$FZH%H^B1%RS4jS)C@FXi1M=1hr z8RQyen?k@xU7{^JAhea=B6_>A;EMVvb&OWrEK})|;X@W3i|^iu-00iC2s+}4ndd2W z!$+T(f)@xdq!J{YmzXL97YGanVhx1~kwWW1QYJ$I?ABR(UUdzc2(Kr>w;mjuOY<#P zca3lC)8n#y+wL!xrGg}cn5JA#lvPkGl$>w25 zIv7O32}^_`G%%fiXwRZ%Vuak*mM?Xi-Psl?A}A|PKYo2|WS1tgEAo2M(?M0GY9p}` z4{Uc`yQtCO!=;)`G}XrzcOmeHVF*EzErR;XCi>+Aq7*ALLm?`w~= zDMZwgAnybKEj=#!Lwzlv$-`fp&Jf^3AJ9ZVP*8rbe*Gm&OZ%etHzKMM@U_g1w14lrY^Akv*K$5NH$h zv5l0e$NZEZ-gLO3+?2c8!8DdMnpwb3dF)0#wd><4&1BedZ%AgIMXOKDq zsl}s2b)f&LvJTkfpq`(>SWF^x{E?dZvvKa z$b?nN%tLU-1Y`cuaRCP;Fr$}+S)T`$9J4vd;87H*etn>$-1S7vmx?|KAS%l!AP7yA zmg>TXU=EN7N=oBFXu=)=Ajs&vcoPiGT|z{zlEB1*0u!0F5o?C0loRUh=D2cYXo|6k z{sd*QTE-;Ek5z6`!VGl;&wxhM!32e_zNSL8HCY#5t4lv_&8tDoLIT6|fnb2xu|JDu z*`OY{Hes1i1lfOv3gBqu55^^e41*oG25~d0j&!QYJHvR2*!3-fApm2<%dRo}#ZG_} zUp@5>3pNw}tdiGO$*=G^@)#p)QeMSPoKH5JN3nq*F zAo)zxu6A+VepJOBnG0AH7t`3gn1<*I!mo#;)&Y3vHDJdUJ1+eL9Hy6kg(FqQ?-`H~af z7*Sz-5#>B>hRCcOo_2&8KqY`TBPh}`i`@~d^umw$B(Y(y+pYe^#l!O~pI2(Q zxObM;^xfvx>{)JhxXn1c6VttC>wVvB2{E|5f`|5E8}}x!a0M5yM7m2mlxdi@ToTR_ zJnMf;0#_w|^sp_k^1{5rdO+CmR}5UEYuo*CIBzwr0ba!(*c`>SZi9mXQ?_0v3aXbX zC3<8=nIE~lO9MuIeZf1dQcH;~cNPITA0?Q~i5DZBU?r7=SK>g01hV7z+~L2@8{h-L z_q^Z{Ldh6V#*R1j1c1p5SzZWrJZ~hXEtR}S>1!U8N5&?X*UyPX#iI_0_1q2)Bk#5cyF@*o4AT9`GgD~9nRr}6fs zfyFq76XXa2`6`8`L_kzxSdc%UxC(c4ZIvRv!IAX=i{!VAS*bQQK23myTMC1EL|-98 z(4?-7Wt^^B&(+$89;+bL|E(vOAf&DaknghHd?6d(G|3CPYv-x zppdt=U*K6Hh3yCu&Ir(;1{9kfWbka8p+}mBIg124{4-iU4WLCFatr`tTu7sw?hz{5 zP1oK`aCS=8#1~`Al;FG@D9B~}vW$d18q8cV`BKslsj)hfJB5#P8+4Edl1_$wFcOiU ziiG_sVLJzEOKRwQ-;xS#0~T9AXnjn;9#B(q?jq5XLR&+5W5E3Ytpu-5LbF?bZVa0!9f7IFVZ9?kAbHc7h}@ zUYxSYb5_HupjZEv=YR!0)Ps?=*kUpO zp8&wrQ%StF7XqEhRX>s|!#J}e=Qy54843VFoOq3QKcd z+5WO6zj;0@JAaw@R9EEdF4PYr!lN%J&5X$~?Ai{H8Hyd(?7N~{)qztp0Dt0Y`YXDN z_&glr%ApWym$0`^y4wMgjyIkpB<6+FutO$qO463YOpLr{tGkd(-b~?gwjXlRD`PDy zO?uEHqnb)|9ARfb9ObK_0@BxQl#>jEKzs{sihc8nq&TFTRX!}pHdMOW2B_m{`^wS> z#4{TM+NS;dgl+Ov$bf} z6c(sx2C@9CKfk%_0i7&nKoW(jfNC@0IV9c@AYGOLB2bM0YGt}-@04(d0 zuDqio()B7>9x;Ua%cR{n88qffDb+KLoOo~;UVu7xYftjW zkqw|TKMos<$nRd^Nf{O!z4REIC7=%FE^2Yxy2@-oyLA$mv3_d#X(0 zD-QzZW)SADA)%ow``(l`-jj_(Rj_FT2Lm%nd_>pR*!&!LTw^vy#T!@gN)=c1|sk_A%5vaYiB5C{7=QzInuP=@=0a96C0zzc{Cm+$w&Fw^a7p zWM(Y|7(_bj-ebFsJ3tRi!Aq5i<1Lr-FiXWDm!uU!@Kqruy|wzMAleh;3ox; z4jof8!ox6yiV~)_W!h%YU@$g}k_>Qt=X8Lw#Y#<22@ktx3`FnKFjbU&QEIcX#Ry#k ztg~qxvbBt{+Uct|HnUSCAsY7tAZy(Bo|TqWrqoUO1NnVfj|bx(4XJV}z%>vNR)Mfb z8mH)uFQ>t*V;F$D2?M6G`1K5FkWGWNpvTsVslW;GqXA+n2%{biDa#CIcLUT$^p71` z-2wK^h}i>^>;#_*5vK%?5?BjGnq!SZn07WL+{(Ib1F8vAcSl7Kw5WtkP03 zxY)gMpBasj(4g*4dn{NUWID)*u(Z1wTS8JQ-MhXIne7%rjX4a8HwT1eCS--oEKXM- zn3`@nFNO~kp25ta3Rzv*d7#Jdq%75rcCq+d#&ee%;tYJ)4=<6J6=enfYRlTxd1}R& zl^T4YiDZm)bK5U6jkL}u1^=Lm!w{~Nc`c0UYc5Vo4(J$ zw+TVd!6HgyCVcm)%k%$kMn)*RJa3Cs;kbym;1F`SNc)5eEJbEyH;q46*qWV1o4m5^ zApoHO6^yu6P(aEB6sFCVZpEo855|A&r6uYW^E$j=n7A7`M}Z)HB(H@=dH)8S4;*L$mRONipo0kB^ii9%-8qwLZhYB;kPh}=WBSz?MchZ{`ckv15fzGg+W3TuOotLCLrX`zmyigMu`G zeQqjm2cMwmBy2T6F_?kg95drSooO3eRr#$Zi7?}bKjiU?MVC}ShNTW^#$phb_-rMA zc0zPrM}J^2*j}IOs=PN{e1)=&i?vkk9>)db#|VS16Jssc{TK+&S;#QJ=s9KVY5TX~Rp0!dz^T0d$!LU3|9m72mc z$-sD%05KOy&MFtpr6wjgWKhfKfRC`A{I&#Qw1P1!7MoI&OyYv10X1!U+!^Fgf18^M zh~z*Lkiv_)OZm%W9;g{~IC$p;EdV^DSOwuO<`-PwoOUq_!6k{r19&aI_9b5eaw79u zC0)792_hy%_dwxmdBhcgO35YH z$KL)&G$ozySzvT@adNF&_cbv06{I z8F52)jmC&!gdG0_f?_-qarDJbkvJ1*xGB`m`55>CY*tG>hDh*r?VfStoaKES10xOA zG`-{j4=S}BZG^q=4laCVwxFCx@Kx2QHcp{HFHEySnhLZPV7-8N$lk@xVv6=UL=V5$ zjwhv6C#ea>Hn$BHN#6%LvMMBa1TMy-6F40s2pFvm!zu*Ty8+}F_xhS$CctVEiICAV z1VTfg#ZNixYW+G(h=s`zIXV->d#K3eEE!Z9XuBMspzI-0!-S=afTAse+)oA*Ik}aUxEISL-DK)-#Y-&^{|PG` zA;;Z92Db+Zgonl&E6Nokui=n6!3}g|3;(exWLXVGH6vLntFBR>%Yxwd?0(}VNf}+z zFTK=+$nMmL+KI*e2008=FXVoAmuEVlXOgxdKx|PuqDFC*qKoPhF{3o|l|T$GgT7Y+X38)B znDlk??Y&)aF6)ja2I=%1A+eFTk(x4d%s2xd1(h`bn0Ex3e4jjMND4p{-kjj82_Cv& zYdm|$styK7!Mb9^>P(jkw9)TVBlJd1*_!2~7HuyhnXDquh_PwSb|3*HHnB3ylFgNa zkZOkT!ew;oRWG9<@VH4rvK3rv0Y9plGUIV~7Fm&$e_a9?3y8M}>)GgTGXYCiD15^G z#0^G7$^spfFdZEzLf}7Jf_Q5IV`WH?^x~t_W<)~ zR>&ag-`oozywY0S%8K>7!1G` zp0O}G06hid4p^s+B_Tn)ll-dV)aC(h>}YSV;Jn`?bim9MyDTB7KWk7!N>YS49OXwA z7?h>hdAV67z*b<85;DXlhCnY+e!-8T);xKYw+S7ca+456JfDK|3jc(5`| zIV^WjEdfxa%NiVbFpYR0mXaW(En`v}4ocwdOZ=yDkZ=Y&Dr_oDeFvog};?r}&kDEIHbGK2yCs;Vfnp7vFB@F@d-uqtw5o7D1%C#n zAc=_Fw?%5HQdO@g40w?6&OuF=73Lv8@S1CkUEI||(KSK0mHS3_3NDh!-XE_qjP86W zemkt1RhRUnLqQNfpilNX7|LX3`M@vCSm3+lctcrim&wcChK~JHhgw|$fT#W!{w{GX zMR5?dIVQAJVY@;DTP!JI$$fZaxyl<7EGsXUtT?uV6dTH$ERh$N;IfV(Y^1kffG)Vb zc5b#R@T>1JBNUB>MA)uY%IpXbWRBntfFcEjCF_PXNirhtC1l4XfSABPLeaoS^!g(z zaeU7~C5aCuvl_5Ms;mEfa7|6HwN!jVsAGiL(of0N@rg7=lC@3}_9d`78n{;}!T7=t z=Zp;52QA0XmSH0^mDb4P1q3lZSF9YoC(4?JVEfG!{kMvvjPE2DY}((qx2`nIzB@!i z(GU&-Y}W$2I3u(EWv_H2SDwH?hUXT1B0oh+u)qk=Hu`cl^GNra@jay1jC|^BGPD7` zgbd)(77?Yexb4v}`r<()5-rclKAjW8`e1QPY+||H>-=sSVA|^(lkN(G5LW7(>6uL8wiVt;nda%o<`%spD3lP zes@4TG1f8D?Pn0_JCEI zNnO(cMwbn%PW%8SkI?q8C2JAcz}#v+B#?v zhK#tJ%;lc&8hO>jL8kVS2x?(s|h>C%`0x{GH02~fs))_rk#Mul~w>^OBaPG@&wpCxqiW% zN(tb;F$G-~2=~oQLMu)0giTLENYV6V4KGbfof*$UQYC7`%!KmYRM@mK3zr~Oveo$>_cqQ?fIyqVxRRqvz zADWdhOXw`psJFz9iWF4@7e0@>Z!b*)NF+fW+p-cWP7n@wOqsF^WR8#x?TQPnR7xl9 zjWe_ACMqF=In3{q1dq}Me{bx9b)S)QBzMQQ{qqiUd(K$5&A!Yj9q)IMpffD5E)Tx? zv27MWHB0Qpv=Q(^EYYdtDvN;=+My(nDj6?s83GNGR0-tN!r0KbL{R_G)=~s#2{JIjl!Y8s?FEiUHskee9s&Pobv-ASoZ=mMDz+F+oq`Z5@__sz9q52WgNgK{4g&$}OW>RwSJ#t%5pKcN z+gfAQO@$OxCiK<3#2l6_$r6f@?KzW{M0h^tdEAhzr3t8rbsddEU?RoA5MZ;jgD@Uon)zux&h z=i5(W*vx6MX9FzY!osLzF&5EI)u=;z`LqV@aGU~Fpf@X--WbM!*{n6R1pYwTtFf>R z)_=1@l-3w-(526|X|A^ajVBP+Hb;z+ue0Sz3Dh3DM;24{Xoe1VG=ogeL&9e;xQ|7F z7f0S~q6&_;6dC^voZisSW-X+2iTMc{DG8PTvCf{5M87NxuM~_S)uX|SE2ulVI+`JB z0EwVwW6C!qvi{+9Du(iZb*Ph(xLZi(`$+G21_SA3aE}?>i8MRqPB4%%Anibp>gaO^ zd(94}(na{`PB*2E>>Lsjy+;oLIpO5w2(?B?r@d!{+=Id{I%yGWu(&DDT)Fi$A?V8- z;oWL~hazDQC@s0p&h2z%p_{~YKGgtNjn@%9Qn9hMXzk7$L<3Q_?!B=k1&pJHPAw^k z12+a>iIlcIBUx&iEJDqOnB2^NnlGGO$@?CM&A!D?_tG%(khH$RE&4O zkc^Yed6gracsgX5**~l-N|ie2Q(X|y1?Br!jhv|2Esltn zQ%e!QvqAe-X+#GHLQK6npe7nKJjPL)97p?Z93oPH zqnocA&KHcJv-Wmr*GZbq#k!>}eP&B6#)v6}4YU!suf$ESbgq_;>lHm^(o3EDt{Lr> zCVM)a?J{sRU}^t_2E?GiX6Up+S|CnLyUKtSld&*&W7E2!x2jpRawTKBp&k{|A_(}1 zfh53{Ofs045R^0y@^so$1U}N7!F_?bwStfvAf}Bvm}cYeW8iXw2qe&Q;dbRz>|^fK zSG3|tPYvBpHKI*}dZsiydV(P^VM0+8i*D0e7+z_ZS&_R_C^WajISp1tRa!`oyp0^C z7eP&gQPWCmIwX#UoE9W@M4kh{yW^^21^i1Eekx@kXy#Z7a7Ab~pkn_<)ljl@xPgU2Wn+jSHTW7q1Pvb7{XYfF`gJ8D=rAsID z&@|#)1VumugE&GgSxV{zDNmwgUpu9IGqQbN75EX<~s!CNGezs5*Ip;;C_|z6sdQ zqCx?LciVLhSw!ZjE&c26QHq)0AAyCYA5*5`5;6v0Ly}mz1eYP1F{PtphEA*9de0+5 zMvf>X>ax!iEx+-_^;&VN^+cd{*%3qC`=c6=+O_y{^6kFk(H4$cTm`XA`!hMi_!M_0 zPf7>6(E}=euSAcP3fe{iw2Y#8q+v)vB0rhhdMLiAuoLFP$$EFh_s!#^y$CErrey$K zC(%-~I1?Mh(@3I9f~gU7hbL!EAea||@G5bjE_518MF)?B2akj-a5pYcXgCXz^#n+M z4!VL=kQMJ7qA&oQbQTu2hbBiEX&Qj&by&Wez~dNQ$lVx&xujx*^~_Zx5xCcDIfcmf zxsa$Gp2#7(i8W45qEwoohTvJD;IJduR0u2K9DlUb@V~2}6D=dWjC;;2| zi%2bCm+ll24hG1&i)3i*3!>f-9F(Q4$BbCbxgP+MknZ+ryWFF zr7ZDj#8^Rj9f*KJ*oqE$P-;B?pyKNVlXKbP`S|U3t;!G^29U*0v~kSza1A*8s#*aj{p^hY&wDasx|1sT()xhz{vxK5hh;r_DaGXRJA?!aM~U3TM9k_F#NI=|WrBh6#VNPnybrFQe> zsN&=mRnw%H8+QX@P0-&Qa*{LTr9Nl0gDFCP6qlSR^WZ`k{>pkM`5KvaDMy%t(C|)q z22tKJ@T;(K=p{pt8VlrkACEni4q)qs`&Ox>D+VR4jd_?{7P4tEU`L4G5Hm&~GUQzw zNzDA!i-W{pFX8Si1Zt}RF+5zAK(L7pS*ZwGq(HT*IJthPSquPhcK`wUF2-~c?-3)J za7ZQs@M5l6mnmV&Y#^o*2xcZoIeK0C36<(?Bi@y&<`KJ85kq*)y`8 z@MJgk-VIQkm#Z{91b8SoQ9bQ=G8~>EdiF2G6CJdChZzmRS*NPTIs4`H{V1Ymau3Grc)`5xG+Go0jZW=1WdW< zA!SRrK$0qYQ6?-aMo%QkRv{p<1N9-aVz&oTA0AN*D%cRbv{7JysR+J{96%XDY@?=LY%PT3 z6Q1!!vmO7A`lbX75-gC|f^zXB>OdYMKppww&i-f$6zC-(JSm~FB2(fppeu?%Q^q7i zB#UnIs4qx^Ww#zUlGp#&$nXKlFHObFk6Ab`d$Hy^!~ zfv#)RMqCW#uT?;5K<7`=q3?skq(DkwWF|r?E?Ub6uQ+pAPbYxb-AXfCtr`oLiw9+D zoqBUbl`5(#CIHK23mH7qUO-sRV*CF1Zzax}$^(5R=$p)!!(vV~6N1 zGC0KVMi3jROHK?zeT65BEhMWl6BzVB_q?9$Ejuy|TP*(VZID9rmx`oNRFn&kG}=uQ z05RN)L#riVRl!`1N6GZthY(MMBCMkb&4|5{YI`LbhUPzrX*4)iTS#N^2GK9W)?-%_ z*%(fW2*No5PY8A%;G^H(N8$6U20{pM@dAk(8bBz$#nH7G5*21kgtt_I4wWqPESQbV z2k?BHlnqpBG{r}Gs8g4}%=hV48C_P54d`q=I#Dx3dd&}OpqW)j`0w# z4@~E7sARsQDYu*N##tRzgKusJxyt7c;^^Yh+Xaj{0;omDaixHmpFmj1oVEs zj1UCpLh6B#U{{Gnp**3!2Pb(YK(;L{0%H<+M;dA*;uV8q4gz@uE|@`X zEuw{_h$c||v}dx&z~q~P-bOQvVS-5{3yKkUNcJ8Nd*TTLM|euoe`h9j-46^P*po8( zZQK+jRQxGVQr4|)bCHG%Yb}D-YPr&DSWhjojO||%aFbgG<957VVhAOJ{+6f95CxuA zxR%OQYHwzVtf1LLfrO)mP(Zz=O%GqvltE+z85V15{U8HNGLN~ZxngEfzKwatF8aMo zKkfB5Ag_g&kdq)&t$zc`fdOb8dE0P9MELa`XZS@jMmbpksA9{mIS6Jmm9ImDHK~b| zkuvq*XsMFr7^i|@^zjX%z!fe}wDH2~_d^1d5FlnFg$DbG3kIkfXKg5gcr%ZdQ2z=f zMm8V!bU6&qJh}1(PK&#(;T1GRso7aT%|d9fi)+hZ3=2?Hv~dUhmd<#9ka+6VWRLax3=fWA(#jmUG&+$kprEoaYqR+m&a7KxuUNeNZ&sxA)d}%H5{5D+TP@_l|ucG;Sq^Nk*Him$UK#O>d?Aux)5e|wLW|h6sG6SSc*2zayMu;#}G!YN)%pTTm?5NXJ2E+6HS%XQ=nYK}f3v)9p zMOLowxeUTd+%m>!ku!@m_fq3Bsq{sGGFph4yCU!u$pyN;?|adZY9eN=mBXY9@Qp0% z^Dq<@VuGskvRxtc@Uj~KVHg8P#@D)?A%}S_Y>wU(9McNZv9TI53Uf^@Vro#lij^Sl zbDoH&wsq8k6_m5sm{TL~o=!To1}PseDQc*Ia3HMQndtI)k>0y8CbDT6z1P)J8MITR zoyA;@Q`8P7|Ff#Zvw($>@InlkY(La$v1M3q!B?D%D znqN>~R!vOVER#TZZaO2SIa(zNvm!DqoV8p{ZmgI_DxNHGcNj$|yY0Y5?EoK-ujCHB z!V_+i(`Ll6=F@PrzGinZ*cv@tVw$7`EPq}36OgUi%NI>TWMqSt0RBsFn0DI4W^qOY z^)NdpaXOIF+D`0oN128VxyTWTQ4F&wTI%3g!M%}uXmUUb?-ymLt91(lm+pt`%xuSf z-SVE^3tP*p2isRTL!03SVESRRg22eH@q3R?i2mX*aX0vSE`@(Yh}qjQ38WB zYJ(7<^eG5?i{Mpy60)Pok)r^RV6PzYli~o%@xo-(YktTb`LHU)niHlOWk#IiZ2T>c^X2-5g5*Y@p1VzDj&MtO}}^I_IFz8Ua>$ zPa4_%ikB%GljwEZMXWC6ORRIpc+(-=m%X@L2IwAw zssKhXr?JyYJQ;3g1Y{Rc`r-hr@By)avF{nMTj%@O=(~2lTQWH9#d#I%A>ehr?Ya=; zW%4S{l6?UxX8ixqt4b5onV9T{Iq0vOB^GM2f$ROMCCa--X($8lnAMS4V5 zZJ%2BmWJ+Eh+bh7#2hRX?kQ&6bZxj(5|9_n_8hy1)MG@tDjxOf&Iw#X-KKs6oQ=^} zrfO;T1kUS_WdnFL$+0FA8z=OO51hc+gLBpq+ijvk28A#%H#m;+D%`*l2h!bZAy)d_ zd9?{4M-{T$jg&CFa+|}Y2#5Uljfo6QSRDS#>4_`EHJijhr1b;TDmNgTSK3}lGX?C(csv1*v$o%c-&uuv?%b67(qLzIg0L)Y_S*=-YC;_2m zVAKE$9lKnaN<&mvaEbnHzA~@j zz@Z&zQFE-$X7`GAg7F@DU<{H0!!%og@%pun<$ez>@cs$OlxUEc9q`Ah4inTaiHCH! z?I#`FmjN_Doa;kn%&9ua&+LKWg!U<6pv`gh2*Qh{^u3^Y0Op*(Cy7o>9`^MS{)GmpRw+N zI7q_>vK^3u`@sr+H4RkKKQd}I*5s*|X@F)6@CH*Z`5(!a$M?WPr?ty^eQY_LixvB< z@i;W)pz(u*!{i*m%>(`K zmeB%Q={=~-XP**=%fpS-6#h%<%sOnjAW||Rlbx?=2?DSxLq|$ViFH3p%-sx|w^|-C z4Gb`a`ZgHLsg0_$MxlEW9u#^mvwH9}ZJ`J(+c8l=!2)5ou|SbT`BhJpeO=B$O3}c= zFzGEbiSL9Rh3Ia@kTJcLcJ>Z1gsd6P#!xaAh&)#xP>^UIY!Z2oU4<)(lCTK-fw~zJ z;7Ef>$jcDf0wxJ!Gtke2C<%h_o0X#yHc5D*L#kI#CE&@8O5zf^N88Z!yT(sPq!0JW#MXO1PGX*Bq13_555e`k#1qs~{{316&NQiz7J)xS}E+c)Rm~|Lbcz=B1p~ zi(KSa;~J0xR5rhI@M8db9YF&44w4|M&i<} zMSx}U&p1a~C80EdlHGw2&<=n!MJ0HKeP)@EEFgB}Xh_rH7RWcv*{E9(F@mgoxuvhV+CW z08H{7Hs6ge*vu1AlU5|MOn^e1e9+pT zB5Rku(D&n5zetGPF&n zrh9CZO6i<-e09J7iNYe{eUN@vGR#5PmNgjLl0-`qB;M(wZ=iuS@!k-?qJV*jspO)2 z_@Z}#Uv9Ja);jj5I~ZE(*M#N;QIjeXZnkLqNT)YA%0l4VtR!g*m?Wl2dV+>mfszL% zfF88TMi7(jFYZdx5;?UYoAFey2}KT*K~ZW)&4_z7u*V-y^U7G)h^ zLa))n3Z)vb7)&q+2-x<`V7``26RI>LW2?0aANb}6Bc*PTC41p?PDK%+x_~iKd8*hb z&+3QbDjwL^jyo*&iD%20IsT~3As@%=D1bdVf*JIZIDGD6=mi2!{yu%A_cY{+aQuM- zMHC1DHibUOaV3yD%q8{K{|G_M8NvvY;4$o0pGObd5u}BDjU7!DhFIPi_=JWDiwgSO zJHWWHk(cPrL3GlMrt(hVTghuhwnPl3B8M!H)4qLVfV~y_M)IhefLIL3(0B`^QCQJI zMyv4Zx^vGYIT#+REnN$$vyB8BI0a~c-7-l0emw{mO=WE_=l3?EDL%*6ByZtv!s4QO zuOZ}#M3S^r$tSTRZjb}HTIeUuiRLv2=h1N9gyH9!WIkMw!Zo%>h@dAIR?P_ z`0yE!3M~k+Y-FnL(KY&tsrWX7W&DfMqB6{;AgEE@Yg0@0pJaI+o(lm#gFuQ%`V8P= z9j=M_8R(fdJSY@EgvvD*(Am4t z%|X7*Yv}_DC{rLAI)oapRs^H0?&h9irMNz{YN0YA2OzRJcuL9RA=ul} zikOhZV80mwkFoFC;k+iz3{V}Oy?F7qE9o9ZTxn8I#!HMmY_f51eU5_h86KfaP%0tF zI@Sw?=rj*)i6K+`+>L5L@jXdDo8(1Dn-z1Vr6&-DfERMJN6hHrE#Vbt?ogl3!0f#O zP835&B0Jp3UHJze!WI&7H^!y10nFQx{=50Bi!3I`b>CP{YC^+{QBwJ-1TAi^yga6l zm%=1XK6nt644{&!3i?3zx(lx4XM2dw+=Bk5z)`6qMX2%C-xl0SS*s(95tNju_{;M( zqr3Mwi0w$rq^y%At)OQgskBHM*{eORd8XnpsN%U8K(gj`xj?*&V!jVC^UUm?+R+$NkV)(5hKVkA_ zG3M4Z9DMrp(NrqRK8hglK?^XoJI%6St^fcDKy0RhO~%+J49bKelp#$KqM({0u^5SB zMSj@6L}f?s1n*qJTaY^F?mcm8RKT7RKOi6k0;H!!FODH#9R9BmOg!d5i)2LrJ2O^ve(f1?Ce)ULZz6 zQ#T$5h;S_o`?q%utJ(h9Sg>Lhc6*g2Tf;k!ksw*;5-kQ<7e**T>o_o(SjcpmXz{S% z7GjB9dPp(j-ca4dfuT07%HP8*41>;ixxg$H?vDmf76@n==nn zG)tk4MxC371SOYZHif!loyGdVEegmK`xwVKn zez{V~3`VYL#7JxMBfPIe0OV-c3wUYt%nDGbK4L~T!3efs zGroQd`qvowatF1x#hmd&50*^tHRkwZd6|A2-Yzf3zu|OiO;c{Mq_U*N!Mi1 z@Zz&!fFoF`oCKDnLJpjBc{$d!rm=OWP(dN2!z~2RxL5=T8}9c@>urSHZh^YBi(RWT zwP@ar{kZObGcf^|{D!linW&Cg_sWE5bx70s!$P_MK4Uw=liorG z0i7kP0+v`<397==qb~}V$*@Y);p`pvJYy9$Tv-kcRuWJ^QXM|20cR{5K7f+!h+0`3J?nk;b=U}lhbQT-u{^YexDclK3s;em12dkrRe(Yn&odAF6nKS`q5}q;-beHXOI%enx zH+fD<1CJaDVi|(5$nA+s3Jye~*#ShT&w%STQ<1E|YoFN}`Z}vRHch!69#b}grXZxX zP*^55FcM@>gqK)I4Jxt7B&d)I>lL$9NZc5RS`2mdy29G&mz)rVB*fdM=O?QWgB6jw zD})@f8LcRDM;uT?#azwwlmi&eYPw4f2YP@$uA$W24AVR%Ay3@J3|pE+CG*2)hO{h;gF%4V#QN;BWGZ%ZQx ztcwJmLJ7E+ZHs>22S#EBVx=~7mg-i`q$tVq?%=nhWlGdIq=0_GHSyONxO4^m{ZJT3@n_2i?Ec`EJI6RBPwd7$a0w6LbN56X58Zqg@ zDR)c#f|RB?>!BhK|gW%_Y0+K)LRJEw0Msvs57#s=FdIuQ2xgY|^S<|HGlBva6_Kr_0AT@P}1y<`S&SQaT@vv%x> zJu=csC8S+Qu8v$}QyW%H0Zs^(AJ#M6mPxQEfDWB>w{Bd<>Sq3fA|}v$XE?`b8v2u)mfOGQlw`$ z#of&y1|yw8GQzD{9$fv}!=aC^2-hrc041cdOrhg9&bkq?LLcpvD4G@4opC?l- zL#YN(U)KQrqs&}qA#u|pq(j0wKCtmI`h$jj3<}U%ai9vr=tz&DC{e)Fxv8XG36dni zYJ&xqli-_cSU_3gO#Ue62+h$<%onvk+QqXcj<8a;zOp(YoW@1kKH)HSTEo?kQxh?< z>voq21H8YD*3nN1k1}QdN6yl>Y!qf;tVLpOMK#b9w zoy%MYXw|VaPuR-$(D`0Rz#~A7%z#sL67`&Yr#YPAbnT=AsV4MNUo=?wCkgkADW=GEEs})Xox6*WR_T_#-Y!FxageQ zT0PFzBNU9aNC*p-0Iqf$JKl^Lc$#CDwcNa(uVGE;YrDI?Y6{ci4FpYZI-y(ia*`s- z5|JBKbEkfF-nF78$A>`kz?2(_{kv1Py=wu!AJD5mB-sWeOD#-+*lyxKGvwczkLy99Hks*kpJ_DcyAO6_fGL{Hf ztVmQ!Tp7GomhITioA6d!v{$u1uT-E>sBd*tmztxi`_rXzLBUKJmw_M#dGm!>iV__J zzKC#niWHjv0e1o)t6*IVlZy_xF>BEEF6?Pu1hZ(b{A;I)F{y%V&&Nhf5mw-q%0}Yv zOK?AE_Qb8o&R&wGuXEtd_1y1V;}>?64?p9KPgQztr-;BMwA1-Z5~oUOqG`sLAE?|tuA^n3 zOAfRUjd~(vLs8#a31l;aX#E`F?;jlmc64ZVl6P${f~DxDMy%8MfKBEiVRS$$FMM2Z zb4;|~+GVD+s#9rHpBx1-LW5JFEp*$4FDPn_ybhIgf}jG04S+7LTI__=2JJg!4x=1w zs}fUV0dhYf;j*q_~Yru3s=>FJ`Ge)u#VA3-EUG4I0 z==Rv*L}Fu)>$hMsd&bxi6)OR3$^ywTB?W3FLBs0Qw$eBjnrgTB1eIJx8~eqo2`Zoe zC^F+;B<5V)=AJ$aV``=pW#iHx(5Fizp|z}Jp`5SISCf)rY=;#;L^^rn2}P1ZWmcef zp#6S@RFU6*=2)x1-<4KX*4CHTE-;ap!V@T)R9}hN#?qi9oW79Q$w#GKd#13N&Zcl$ zDKPi@4iuSF`$4KC7b6PWCDoR->j(EbrXD>QMJ zhB5XF4oo=i5lH412u(6Ti@)czI8HmDi;-c;-nCa_9Y25n!Ig(g)aDmImaa=x7~q+Z rhmB<>2}j|R2=;6fv*Ztz6$g7z0F3wv71UvW1r>skf=^zPpI1ryYMn@i literal 0 HcmV?d00001 diff --git a/docs/font/fontawesome-webfont.svg b/docs/font/fontawesome-webfont.svg new file mode 100644 index 0000000..a9f8469 --- /dev/null +++ b/docs/font/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/font/fontawesome-webfont.ttf b/docs/font/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5cd6cff6d6f6cf438a882e366420dbcc5dddd3f1 GIT binary patch literal 141564 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ƓCICn66&u!PHl6pn& zji|4vhmc&@#AaM|-EE_z&;9A9>*_WMg4}lR{#)aJhu2WN@v=GB%`;!Hd)6DT9{l;^ zv;I2%#-WzK;HwSZ#jEdJtiPUp;b*})ZQWkuW2(Ki&fv$;5MjPbg78L}*(wSh1M2u& zuP^+=t=-gTr)-{T-3Hwu&N>hW>p+~eM?bhViAmWwRyJ~&rBNh{ZX?%p26+C`fXrDp zGv$FWT`>SCS#dz4e+4+hhUy{Q6s)0Q#6#%Xf$)?abVPLfjRopAfYcq(ZQ`JNC6lk; zHKLQl#K}`Mk~u(1De0p4)B6BM-(i=MNL3E8Gif74citE+{L7??UDy4Kd2wj2X@uppBnhsuG#6%a~C&n zs|wdC&b#aTYZ48?Ovmo0hx&(i^`#c9>OOd$FEThQx3sw~Tba%2b&vdZP~P=5^@F)6Hj$JVvEhxUU|zOBMuqq7UqpS9+x;l2KDrpFJr-hwDYwN_(mizJY zp5tnJgJWFian?DnayTYZE{|SNZ0dFa7vmdR)pyiOU#zRWx~8kMPTdwZ>uZIbB92WQ zZN>2eb&ji?&T*mF>AVWxFp+XH!Nwk#=F`(SMBsCTwH=2OpNoik%5XZJy@6b?5sW#_ z=!V6OxCPhhF*rE+1^O12lpAAVdOrCi@hW zot0uiZc*y!Rl|E~_`|9B0|%jWoL8n^q@&z4iWPNcitu^>q7MJDk}Ze0<0IrF#|Nhu ziKQ`75Od9uCqIu!Gv-DJZsn1d)^;Kq$CJSnBZ`qMHx+5Xi*YYiAVyg1ltBzlz9sK& zMG_7)_Nn5LGSdxQ$c8T*K=rlunq1}Y8s9O4$!vDh;ilPu(3sz8{9R=ZbX|vU{OXN2 zew7`s46xyyJJsPpCF-KGl{cvuIF(>ZeY?S6sf{K$pbd&nU`gY;p>4F<4(fYD>gK~o43J_)EV?H-mM%z|$_|!D}rEkGdbrAYuO-(q)f}lEp3~7L^{4$%J8+y6~jl3EGR!Bt`^nVzO+}@Cg950>ZY|s+4|5jHL>kJeFNS*;4g@W3KZq=e}GpGWnUUGvcP|*EL2D1R+n1U0sRox4UA6Y$ z`}baXNo}>mXxgCOeEieu?|*R3Fbdq>a5odzwzYpn{oavnubdEuKgIm7?lTCrwbe_0 zc-g)0AIvG$jvD3rf4k-fEd1#kP!#vtOVFZiUm1P8Tm3TnQKWi!h<|FFY4z~>Omd}p zWXco<-wnyih73KJu2ct7$aTD%DB_Qwf=7 z#QZGI1z9x6q2YPtG>Ax_r`Zw39GNOUMRM0;q*axO(ox*+YK_XZ%dxS>`gOrEmL?I1I3uhfuY(7bnO`aB~T-jD%6SfNm#cYuT zhtW{cZC700)~_yW^@JQo0d|YQM}|p$il|o~pr)Spm@!a66e%uUF!i%{z4I`ap#xe$lp1bc?_BNe0kvnDwI7 zo81|%>^`?SEHP7}bK5}8Y`ZOH7JP1NP+&I6RUPeYS(CE%#4^=pK_9GN+q3OzixWvQ z_$Poc%u;wg(z>O(w#GXXH*w>6k~39Rp_e>1n|IZmjEPBs_?&uYg+X$Q`r282fq`3CwZA4t&Azje4thtV=R(Zp^p7z;GR*=3PPzSFWd9`p_I)#hi!6N5V z9-f}bZJibg^~Ay70E1DzG?V%9j$IoY8~=6JLZyExG^2QI ziT7n!l>?q3v)xh2zHh4zU;Ee9t8-~{wk>E1Cwh9GULBUCV4(ZT6%}q%y&q5NIkz`Z z$8Ncd>4%^C*n+|*9X1R!p=)OEWp)P&R4Sd@3;lQ9xUHve@3YCFd*?d*e?F+asn0#X zas9eb<cYV@`Q4}Q_o zQS`V`FTe0}JZu{cP zFR_6UmU!ams}sWh7ucL*RcdHlJ%95r)T>s%d-vV%uHK-xvp-ZFQ(t&Ned8CK*&{s8 z0pII2@V)LNoB&25r1_>yaV=<#p~bP{Ma0d3oQu-MxXl9A#o}@d%C%;wwuY7KFT?hI2QqS{~i=-COqbRXX2@ADY+R;z;ENF78f9 z1`j}1FvT62wsSXL-!G(RE?K!^QJ2f*&l&;?2lrln=j_P28@6rUa89@Ex>SASNAA~C z73}9PIuw(=VZr|88Bcu4qJ|p}Gf@y-mF){In;UkyYrA@To1OAC0|w8W1-mc(M1RG= z;CbgRpW6mB?AoBw-`m<*E%=ulST?gtfw&Owxz*_JYDx*st%H}(jEIh^3XA3Uz~NyS zK&|#7*ZkiBJFtOv)&q?u&3VPZ9*s$?W07{8%SbAfRh05QO@5ICF(n$rm_7G+lIIbPqt0eRjLU558H;5nIfKZdSnyI z3j3(GK?*Q62pi&DFEENJG5DjKW=ohZq6V=~HWKTdCeJjzHS;0fxar)CWZi2ved!cG zsK&LHJS&LmOy0Puht+~t>C?FkbyI9`#2hyYCODUe^f8Z1EliJ;Pos^SI6-u5Hk5oB z4yJ6ZK=bnSzOL4tH#H9se}$Pp*{d*wPmXv5wJA#wDdv-7KZ>zmSpgR&jeXgRC;^TB z5F)Ug;LonOKg>lveYitAr4mQ6kLbWV&(1OZZS|kuKX~wcR)bg7G({!N?IxXJJ?wZd zDrtUYQeRi7h$+!=BZ3KtdW?f0LXb3hz8sN(tC{MkRYY0ZMB9J!JHH_$c`*uVm^N8o zjN%ME^6HV2pVGgFk0Y^Y3QQ_VdIf>KuMP0>Bhgqgg$?{iiS|At>}64p@m=LADa344 z%8|Zq)H&-M1ge8zz>1>hN^jy!-C1Ns%`d$ZT(61gt}d3 z->Gr^{@a}=P-wTt^_E%_NQ$g*l-2dz*!G*7Q6lPwU+sT&j8(5i{na4)-k_?lK3M7qGL}Q%1sGiel)RV8QGFzTmPr`I2!DbQKuh$Axw~m$O zY9mm2@|)k$av4Oq7#}V5I*EhmtIBu3`C~pXopLcaS~6g7WK<7~z=&Rqg8;|?iXuY< z8%}vdb_Ov*E9jN>NBMr78RKX6f~BYzoJ1o%^ePkpO(3eCiXadR@!GncUOtYey|8CR zgEJV3*Pc8=P+C&cT48OqYLE)RJh44hunBe)WerK*sSQ^f(4mBZ$2b=B#BSE=(k}G> z@fV`OVz&GLs5lOT@n)|x=vVhnzP-rweDBxP7r%jn+L^-8u-`Oq{cL8i$h7r7c{Gn+ zE_vwF)$6A=)C$mjf1QqfLw)gU$aLRKS8(|UFeLRI`E2`idnR)<;j)Ec-=+! zL{G0`@xuod?Z+aguK5t7^oP!dTX_gT9gamd4MUHkYGCt$99^p;w+B3(@aDr202p#v z6=!~w-7)$+i#tJORv7-wCHggW*UM|JX>7b^jeLFG2Txq`nPDuU#?Jq$eE4$lonOAy zu{#t-R_vO_q4n#Bn$AU@tlp8y4kXxj$IX{NEbUy{-@mj~XbHH4ia<1j1bLt6%rzt$ za!%1_EEF=)K!xzrLaJ^CXqw<75sU0clxC~9M=QL81@%bPjC*HPC3a8B&tcdd%aD_= zLl2WPlk0tOJS0zT5^RY?zLU8pH_5Sy9e93}Ry?&ylZd{c7Z@?xOuCa|zTx3k(~9oQ zA}8`r+Dt3EGK-z9k9vLGE4v#W-u_s?*Ry>6)9uC;v_G$YFRz`O|5T-S=F)t_r?-DP z=<8l4T(q6FZ5PA%mexlC{_d4+jfb}%4*0uPj`hL zYgJq0<2xRsGuj$I*J>V|Ntd#YHq+9D>UXxYuG4f6C;WeNfr34SY6trerWMUDux@Cx zE1jk6QBtZvvx3<(pN3FBfXO43kyLVQa;%O zNk#rb!)d5i)PfKTHSN{W*vqY(ZrarJjf}0%GBcSunij*3ush)Ocmr;1iOd@B&DV~P z*0fJoyI7t(+mFOOzWs?gb0SwqOexbH$#W_qdxC-+k#CD6S@7l-zU)6IR@>Q*_TZQ- z&O<`7D5={BO!lR^Yjovp$rZ8Li&vh1F>g*7 zC~b)d0+ce~6cKoeWyOd0HhfNDzd=MaCndPs5{P2@5rBkm8Qv23S41Odf1s%#G6p9K z`CY1+`{XVpUx(n3!vIaXDN~hJfji%3i`YeM(c5?4`L=pQy;nW*_64{8fz4#+v6+9k z_0~VA-%>xXe(Mj}KDO(nHxF!Q%fEdOvu?NK7wGjigMt~@D>+Re{UY^GO?7UE+da1M zfX!tPowmWNo>bqM+-HoiM_&Ik)9=52H~Z_qcNsSRh<)#jAH~lL&+wnZk52n}-{%gE zyEn4SgsMzNqtT=iG``X zA6zYbX5wmt)UaLn{8KyYl3)JTk5zadCiN)Z?+UVO=IACX`yxrp0}LJ(8H|5mAx*qw ztVzNW0yrL3fCI#oSo5tW=#Nh5m3j&Cbdm_N1iv0lGM{>d zt^egO)jzVI_4c`2|ZrJnK zgphtZdfhqdHG7uN)occxk>r*cb+BgWuAa;$uN*5!leI`((vr);eFf?(Xt6x5^<(Aw8d^E)sc@n*Tgu{j6Mz*0 zc?zAwJLLt4x?0Vkm(s$eoE(Qr1x%*wOuo~)SsOO|SGe}wVR2L(9j*<(Z=qz7F7R1S z{p$+X!Z<=<2nqX!)nWc&Tvvb?*G<4$I`xMd-&1{Oh6VwzbQ?G>2}#|^9U8>c57Q!Y z3>Bn6)k&WH2(J$tAxAYVjFLYBFTP9hMTwtZS88m*eDp-)C;`|}w8K_NVlkAI5ofwC z!>6N6!P6<1017rjA;#1(x}ho)`72TlX*EPFjJYM0`bfHceAfE(Lx7v=hkU*d4r62D z^7?i|Z)c}qF*`@$-xWGLXIWRPBkWI#(Bo_I2|bGbY4w=;n0oAK@sCX=};*h3d22Ii#Ha~xLu=U}DOoPpF2uiZBB2Rh(_ZJF~rLwN2U!UFQc2^pNUkkf9@sg8#+ z3?@}fulNb69Z4^670?h-k*0)EZWS>o0y-j`bT(DJiyHSbb8L(~Gvw-D)mJvX+{bR- zzi&oU&h%+Hp0>rFoI3yCkMH|SNy0-}GgfxymaJP`Xbg7QicK|glQVx!@0^0QwzTp^ zd5JAy`EeC%J*h3>nWtI~WVTvTs#20O6pvrsdbFV0v#|1DTm3*?sV6RBTFvaCnTuPu z56oF!y18gcX^J^KZ)rtXc0!gT(~u1%yM&^4`5l>S*0kn1BZ}6PUa+&(aF=-Y2`1ZI=<;#5AmG5DknCuj<8gAY0Xe>7dK)U7Y3Jp6i`I<{fmC z8p%N+h>LQ2XOV)BH%wqG4+-RlV6^RJVk#{F=8=R#;Q?Zs$u|d$xp2(8(B$h!Xv>&) zi$rDY8uRWlk?@U-+V>Da3+^PKclRR(CZ?C;1Rg;-|KM)16;p#ppaC*lmom^#3w#a z19HwcKaiLcpIg~jbP=VOS?-T5kd<7ppDyGOnP4RP)U)u^aG16a;Vxjk3LXTpAPW+$ z70jU&d0o&Lvu?)5*mWA}b#c1d$?&fbK~iUplp`UbHt0L3`iw*_JU@31ug zZm^H>IejfHMa8XaLt^#K5A%nc^|2xPm9O#FRkUM;YYVFHll+l)D{ z1|;OLwOp8s)|q{c*tL0AScbz&$v_CEf+MN(7A>Ss)@>P1FMxlEVsEc`B+-?dNs&=B zG5WM5_Q^(foz{T$&mI+HrL;uzh$+qmSmPM8Yg7<QpB=hm~YHD;; zDy*^?}_BsvI=D4TVt*TFP7I3Z3|Ds|; zTEm0%fPx!C)M|BZuG&Z&(*F@re7;m}>UVg)so-GWB6z+qHV4ZhSeS7KL#d0jpC(nG zJh26cNCY(sNZ51Qtwf+nL>uh5i35Q7791=xRE%^J_)o6nO96^Q73eJS1TmnK2U9P= z3>91KD~69|Ukr4h(3Czcu}HHm-b{3b*kCY^Wl+J5NXemw|E{JHsly3WCu)!==71Xk z;ngu<45EaeGeWMArjc@{c72bt+&|FTG7w?2MwGP;9v_TMia5;P9Xv5`Ek(7JeP1lV z?riPfIGbU!7ilesjHsB^*E`Gq7h6PxZR?KN{r#=mciAE$t>=YDiv9d8>LF!2D4uND zUKx?@fJst~4XcDWNkv>fz$k;MZoudRH4MTYqQ-z}k7RrdNhp--s9vEv0(w}Yf(6~H zA;{LqVqXlH?Vx{s$wUWJb*Z575D+h!Pial&Ffi{#t%WggiBKD2UrcqScAcv$Vh@-d z5Uh%H;wB-6)tAjJoA|kR{E58?jQfVqDw6g-fgr0tJM0^0vzgBSHJPpO_4j=G`MnpH zly4?Wn2BRQ|MKk5n4!GH|7mJzX)3e&zZgFI)g*l!uw9RWoe^zgG237zg+-na0Yjl_ zQY4I6N|V^|5(X1&kzjC!N&%tx{oTFQ31%3+4JYh9r|#Z8e3ZS}zIVdok8R(3d+s@wPqkG$l=8%PJWQuoX@cbbQ0?Kk2xY&un0KG@%g}4At48R7Aaf1T%*`3&Q zs{qWO1Y8C!JX0p)nveM$@!0NQ@L`L>g(5LzWN1|tY_?2Ll}qz-cR9JVD4gpGdL9|Fy z8|Ru60lox-%lQ1<{CN0rhlM2!!zgZQxc=Av)90PXt{cN2cI5T`2f5w^LA36>H| z2CX>0L>r<&S;d-%Vd{fizDUBPBptc$cP>_#PqT~(>w{Xt%YlpvI`mVbNkHKsBps15 zwg0iimkP^w`g}VZYaV(jGBv-cDL<|IrQGVBUhhtu)ls-$$7Jl(&dC<1Ja2uJ86HjW zFJyLe+tA|iCj&9^nI+3quOV{rP@7CAOZi5t9s^0R2Z(N$%AS$^O7=(DUuA!neJF#q z7@5o^Cgou_B}leON-dbH#I%XM0mw8Lt&Dhe7<*yE1qFp@Imu#-T%D^5 z3z~{Mt+@`hoo>Rzs92bqmy*pWc6`vdQWxgi3scNS_O3>6w?-%x4hS05w`k2_=HOF| z-4>E{D623_SDU76tw=9Swb^x{2Ddyp11K6Z_OD!1mF8SrHZ6PGv4r%p2v_FH23Qwq zRq5&&r9}=nb*9#sPdHp2*4Y=SviqZBOriWGU53GGTAr7^p&`qZ zTw57cr!mCFh8RNrwIeb;B`nSuuTRscdCIKulg6TSvpg+aX;vFmI<;1z4i2|u8F%%@ z=u%v#3$zhYjxfIMymC*BeO6T@fJlpTixl!A1``#=o(Xoy*BV2DbTB<(L9yn<5HtLv zC7Z$@IG&RbC%1)~EY|df@K}=^hRrch08CEi`e3^}YxP;t4Phv&ENy3VEu?+f{m8FaSA246NeM?1qa zBj#we8IcSOw`I%h2`)#5x!Bqitj(W)+tX?AU#hhhsP$H*T@$PVlak97Z2Yo0hN$qg zn1akAWrm(96oVfgRM@|L~=VX_Z+UvPE>cmycccsH6)<`uN9-a-R54M+#R#hXAG>@xdu zB?k|A=xd^L7Y4YvU>{2CNhR4P(wuMr)SU*ce|Posh2CU7UVznmu7&&74Blju-rY_rKtO_jg0A znKwn%OfSB6^Y+;AnN@YR_^jB-D4ioC+Bvi*A);Z{!oI?RTiG(EiCeeAow6WJZBQz$ z(fy6PJxYx}_$IB{ArDp=wI-ug9}%zD=#)B#76@PYS)oxm;as!mjvX6kc%pQgL|bxb zpl*<*)2-t>MjUjP43d3TJ+Qx$vIxus2urb)IQW!$AjKMlXdZ;Ap z5%YUAsKhqeR@p)sX}r(Nr5$k%9MlL+)kMHtd#8go+?M6t^on9f1U^qdGC*5Q~GY)@(SB|#6w77n!vKnU(ixg!{gmM)rZ$OITu ztb>#>LA1xIY%y|m7RNp_ld(#Ut*MyiK<%l?t(glZq;SXyv#1#O`x6rorW!z7KvGhO zqT$_=FPavTS!Fn^PfSegN{l{y^Wo!%qpR+lXX6~B zI5I@nrbkR~V-MeaB&z1Y`TBvG^R}*T3eT)D95y62qKqTQhmRaT66MLVH+62E*Vu2I z|BG5Z(ojJ3k(u>nrz;4Qs-#)kJ?N!!Lf=b@nnvH-5hytj&VSt3;q zV;we)4Vw;AYnq^y?7Iyy;Cxt5J`pL&rb|rT@=;%o`75t$^r6sCpE4m@Ka!l|g3lT2 z+fSs?rMJX1QdUw9k1{xZ>p*50xxT%U;ii%@Vui4CA;A&}$0pII48c5b*zB>Y^wx;z zq{8Mot9rIxa_x0D+;sCTm@K>|c#gV}R{jHfko(}J$UR{8=&j)qD?JU@U4P>Vk!zi0 zq-t92O}K%~=Y`fmp;_rp$HZYbgI7+97Op%P6ez7UgV2Ahd$45yivlwO<_7F2!DTJT zr9`MNs7WFTNrrww)8Z0t)ix;B~%f!naQ2D z>;$VBo)Zj7(b3@!W0Fpzh;%9%?yFmNXkKs(98cX?ki6&066f4mpH#A6@p6CG>Wr5X zSKq%Xx~bBnD9|z$Q4B**_pGz~mu8*)FYgruEYslzR z2d{n#v&zg>a+4{Z$HUSR7N2(RE>^l*B2{^u<-q6@s1Q-ge7zlRnvy><~tUS2ikpUP8|Ft-2aiJ?1updpJ*c+{y#i#L4p7 zJVj8NZ}3(mmXG5y+7vs9azDLR@x?`8MvRv&q+msdDSZ2wySgyV*x)lkW)P?tBno=h#S! z^9YtvESqN#dE^T8^~@~l_Sx8Ad!t0Ro>Uf)oaezfMkwDv0iH$Scg_JJ`FbYJLhPua zTtKj|Ndlb<0@8nb4Y}&SP5=J=|84%I)kEar8V3$JEI*#S9R7lnOQv7DcKkT}V#|kM zvNSOSy@nyuY50)?ll^FtNcgGrTDSG1+fqe*)G24V+HK zz^nl}iuUiRTK%_`|NX}M{xwMY5Hhl%-a=w?a1j2h&hWp=`+t1@_umJWLNXEop2d;+ zh==;ve{rCDn8*)*t^PJzl_NYn-GQXlD+kWn?zJ0%cA38fE(&@n5|KZ(| zM-dO@{)xi>eew^blFZ!mjY%=8TrM~^>tw`WaALNFAB2ckU{yRE5kmAz1hL%UVN>WM zfu|NCX{{Q^hK*KAHv+bc0Iz%@P(>P12G|JL?^{MpDrW+S1i)M+lDJN;(Q`pFkl13< ziVC)n-?hqQliXrY(d@`~Sl>I5vx_4AuLX=U{jafFVUj8T64CFx6Nyaz*T$a}_LvYh z3wz8WmQW|zVnWFZJpUo^SAu{@mJ98)7TIcnj0E=qG4%ej7_vi+1MS@k2*_6mk=;mw zDlkdXO};#=Hf3WYwPkr&E@q68pv#w@faM~NfQtd;7(f|n<_jPzmBr$e$XXtF|UCiBd@_U>!v z^)Jid3E`vR2|Qz2zx?B&&u+Nkv!N@VN*wL()U|Xi{cE%!DVhIjlW-w_ zh(9zj-NT0_hJZUJORmPQR-=Jyp6cWYS$vrpcwxW|GndH|{eJ(~x3G4;<2}5Sz;V?K z;k#31nXtlv_z!Z{YGIE93&kRG>P9ZizDRuqT}*} z3e%fLQ>y1=~hhfZtl7vzu z!?Xl!5OgzSLJzP?{A~k#?a`g+dj^w_c)%FF@Vb*uX7#dk=$HCx&;)AeN_e#xpy|Z? zHP9BQ%CVrK2Sb>kBjTMb5BlUZ zu+>f>MJdeX&NyyGx)rLDaVp-r;Nne{_x2Cw%;_JR?jL5!W6$_sWMMNGKk6R`cChmK z17n?hqGw=35nRu3c<7c_-h~-pUUx?y^$eLY??{AI0ecO!l=9YxNa>vO> z8=4PI48Opv7r(LJ9NoLkQ|KRK8hP4|iL0LIruwG7iJmF=$kE^(rK7f|L8JVxNofJN z#V|(z|G0oEte7z6343ftYz!*70jOhHq%wp$t`YtVNox?A=;t`gBvOI9WlaCDIRs}J z$it+glVS3eAp|WssHppF5T^J-V20u=17l*Ox^_A_D3bY#2?yR5kN8;9R?R3ws9^>w z9&nB>vo92~&;QLlE)=y*JXR=Tz$+TImbQ4gbb@#aN-ptYTFiGM3spNAIl;OO?9{1j zDd5Sj7Q-gR8clUC*xBJ#_0XKsvvrm|nC| zKb4*QyMc{2rsnk(&q_5<4E%9p7n}89+tSk)-TGKua?>=OZJ+Pn&zhV4zbvZWjyAwr zBU=wyhz**D`Ov>u438oA%ScFr>aHL^kYu(OKQ=NyJ{py78zY>XWn<(jAQ)=C!EK1l zMZE($7V<$f6)-Ifs9iV!m@B#J=oq8D4QbB6edHR{xB==<_sc`0vkOX5)84s+jp^%H zg2mQ0Z+@F3@u(ocxCp2P1LPFl+ZRuxA+p%J5}pQ%y~`{fgADewme>@-oVg1~(o9g_ zf?Xt_7O{DkxbsR;-7evyP}ILrRzOBaz9SP0lnT3|fMi%5t(BHN9?(DlD^L;vV;$Q* zuc6;056&qzs_$bb`Uh^gWx)S0&6Zh+9seY^a9+)#N_~h2nmulty~);)TDeFu&)Sey zxoA;kkc}s(qcx%GV5PFoZH#v$vtv*n=xJ`MTd;lMf{OA5{PugdEvfTA6~(^nzxl+w zx15>1Zb=<0jefziND*!}pdmqui)6=`EJfAa|WsYvGHJZrE^i z!$TDd7H(evr2(49CdX9{Y!l{V*Sl7BosiH#@&w46Rb$@nEN>gh^8>=TEVSV|(T0*# zhT2PNxzz}@LsLo;QNhQ~dbHs}$YAb=59Xq2t*Ct8>JAK@xVB}4rY-X=Bcq@YYgAH7 z+HB$1Yn6Gp%3cG8AM^n{hL~7Wx;ru7vtZ$pcF}U*7r_WQZz0wev`i(or(&c8gGquG zftD0nEktT-66FJW%}zoEf_(sU23#2G1|+fp!4?R)gshW<#orlaO$7^)swrn^CT zN8Rexb@iR_5TNDpv3`fHE~B6+t|&Po!;l?S2(6vSWTPsX?^LEnl^FB@7cr_`MMbXC z4{L!?TAQ7dUf5KK|5L{yKbYTSc`Ci6HfMY1q1Byr*E1`wnwEkDbifKbGOEbHO#Cn0 zYzT{rDmIvS;p{@zu)MZ*dF>`w0l3kHh18a&Z|1B10o)4{q{|styPJXLnjss8k!{*= z6D>?ozORyeu0u(9DRI=RnlP9`wUL$8qJFJPtIH^d4|_7~FDSGmf%O!klv7>0A~5?n zAPiE;6PZ%jy*mo!iG`VRq@Y5fP;SHy6I?DRkb*2y16dE)p1zY;Rd!^@$Q6&8;Q=jv z)@F6EHjd9^KM&^qC0Km5Z`o!ihvvj*hh}TCUiCl0e#fqfDKO|=4VS&aNzrvtsMZ7JW!iazeRtx;{?+oY{ZDlKLyU=i2S8GrY`fsoXhX zENVwkjr4!EGVwVFj8>|G{6dV}QpF4ldt4$A5`!{-UGpH9=p$ z!Peeq3JD4EUl$b*kTT`1@~@uI`>#oy8E=aV3DH^P^_T-mhT&09Z!VO~ z@{nSrlpr`YQ3d6d3VtaN&4P@%(gh-fQI1c6rOcOIJ-I}cGAkxT7?3!~K!UhH@X0D^ zO*jK*%yE+lnu$(y6x!gcCsncbwnuh5PORXgD^57NBir|a#nE@XZ+tlp%Z--fOZP2Z zx{s;k4=&=N+6j*~l*?C&xZ`Z7eJ{IZ>G|g`^|$YB_Yc9NH6hXrNk_77?OOXSv^Eb)}^0Fcjg;+Lu7uy^$856O^3H zS4|C7()68%g3$|RE@AG2*82a~WJ6#{U?c7MFB>j)vfq7zk2M<=Q!ea~j|uv(T)3vIe( zI5`vO-Q?(bI3yADZL!x18*~;NK^-yHEFhexTB1vkNYn;n)-d6EO~NFswT0v+>jEJH%UYAI2?U((W2ayF!-r7k&A@jfACoehahcJpUmR+tobGyTttBJw<=9lg6B=61dM zY=~N~S1aCE>*uZUzv{nPWvF^@-oA*?M|Xc?4Ap;ISW5|&G+ExIPp}7=Jl0-U8fi3T zKCO26cV6K)p(Oq|&!z(XbE88%d5mB9Xs&GGNOGor1lSLk$>|@5K{Q zCuK^?&n*PbB^ER*@Q{)5`&SZ?i29;5i0N|OAZG;qXt%)D!@6~xe=hWDHd*0>+E)&+Qb`8+@jH2t$K}x&oluV z-oW5h*=FUlj4VhS!olYW(rJxZPGhhw7=PfjwStla=$X-I3Nf*HK)D5fQ_J**AfUbm zvC>cjj6R^XVdO@mCEUVP%OdA3e}YAu^NTm#e*32JkAf`hnjx)rXqQ&I>o;2MZ+@lK zJ@-$8;h!Js^&gH01&x0m6!iJ~DsAxlUzoJ&FW3$XnttCGYQ5!i_A=hnpZ+;s_zU*6 zHYiBzSAA-?fBK0o$ngo+>x@R-gyIwC*Bgy`KmUg=*r@-AePA$|41U`OdXq{2A^SVi zsr6cQQ0PnebPb?fO{($V{+;gt1g~1Du}tj#Ymmhf)W1=_7g)yruSP>|-@NHI9LfD`9RE)Ov1i@#6W@>g$ zPQFlC2RTF*Z{~k{1sf|^$B{KI<=q0J^Hp|i%k%yl{mcC~KL1nK&$AWmI9u`jWd6J7 z&YwT`Zec#dp8D~NA(3O6bebaTx59ta0^!GH8zh?-V@wUVP#pkO1-tdeEbrbi?{4AR z*#V;oQudvk-u8>>4Vi2v-&#y>FkXg@GP!t0w(TaL9U-tS4`9k$3k5olZb5SDtc7ju ztF~>Td9KJjT+%a03rjeB=Pko|yV+OKjI-Txzo(}0yxkXw>9Mf|yAfvs?xef+ntgS! zmGSPjc$t%mT0s9fCxX6-7cO_%#eahmQjV>DN)_jr;umHxjsd*C0TFb*NMbOy{A8EUwdSI; z7UbuW?g_&15^2u`JOhg-1r&L_*t5r@SId#Yq)z)7>26Ewh{i_N4hMpE4Q#nh%cJKITlk=wmUDsfWWn-diO;Ypp7D%QR8!ds>Yc!KOPD@P+Enu zYz#~ca1F2ls&){_sCTIMWWiS^uC4O;pR93~!NO*&QRMbG+vel3EL&I;izv{Vi+@`o=~6I{srn2 zphV{;%S6;C3>Z_!hEs$FQc67bAt};wj5{FK4b(5ByS@~Nrpb^dojfr)(Ywh-lgyU} zxYXg8Sa24E*Cr<_mq6>>KUKNb{6b*(nkPYpf3p7$jSjIP<{6iP0n~S#ANuL~8>Kt^ zqyAAYZt3HbLmykTbA2%u{DM+wy41iQ+6>4dK9mi+ss0KDL>#(ZDS59NPA(-zL2?r6 zrO~FYjB^^;M~KV9P7$qvP!qIV&$Y%}v<5lJ8+I4K6I5Ps zyI=~DEoEF%0Wr40*Ty_AEI=?Ni8J6&h;aF_Ie%!#4?7M1;-RuwjD$&gE2yUq;8t;Xy?Dxpt1k*r)}~ zx)eU?1G5fv=72DlEfD6i)6udRC$P;8j1x#K&W#h|p+bcYEk!dB^3>1_R4VLv=OgAj z3&L`=P7Soq=G#F%mq>3jfQv#tTk`vS??eb|`NnYB?2M-kfXk7W_n6Xd35l`p z-fb$d*_Gy1s}g>yHP0RgoA8ccjV5H`%@7UO-eF0}x0r41H{rAn4>Iahz*9Ur8tIv287XsMo~vFDu|4ojvC z2O0!OnRjkNYDWYp>&p0l?vrTc96>9W0Jg3e-0K{7aS4&M>|96?twc5Xq6w&Sp4nGD zood-KTsw0<<}8U?IvJN))=2CwWbo#Rt=ZzA90OohRS^0zC?p5z=&O=kjzEkWG%Apj zS%Ls^hnxwRZ~(Lru|GKgb{UOtYr^%pdb#G*DUBR~aLus;JS3{8CEOHK)FdM|Fh3fZW79$C#QmSc)^KaXV+Ooq>+)uVNVcHHy{m8cOf>y zDvk{=yjAI#i$#Pl+_rtzU7IgE@xsaBM@!UUHKkRSm=brs=fx8hrJWsBzdVsOyEU?^ zd)2`51xnSc{=@!%JiYv`59?X->Cu0_Gbb&@PDXclv|m;DQ|XTaoVh^>W0?d%I$Zv!#xib zxY7nrlpKBdX8#Abs6thl&uqW-J*N9BlWo6jrLDnORa1~(n_Ao2TAOX7*W0Wh=_^00D5t#wTY`eHWU2+4+dhwfJ)K zXe1}WO^PoTT1LQ$@g>lRjsbeAMk{kza`NboH0XQ*GuE3WISmm8@!!Mdauh-o=2DnK zVqvu!D~HQv7r5zi2gG89NwGk|GZ6~j4*+c$+s;Hro?%IEv5L3e@}GI`9=7A2Gp%>G zo)L$8{QLNcGi}K8gJ4;s{(VyB=lo~hq7u%&N_is{2dL1t@kM6>#RYJ-)iUM3APZ;< z;4FePSAsz)D0Mq%bSR>rTmLV#D|ov^g%6vPAr%Ljw$@Fzy5o+?74HWW0&!vH`wm4 zV*KM7{^RfNK@M_v@h)4Q!4xrH`Okmj6tKwv6ULx)LEmHrJ^K;5(@Lz>(5YeGRpJwZ z#)g9gU{{b5WNeVhSBFnnJm%{}|A48v1ulTSb>>rYO@8UjmSt#SOjuUnpSp7}S1W{d zkZ?nQwUImvz<7;7)JU&|U}1xyt^sQ~3c&Lq*gulXf=mTCnzoxfs{+@46`%nJ;0)Fiu8H9LTle>D$ zk!xfCo{#DUYVL8rlm1@8|Jv<`2H#X*h`!hGjITP#5<^f}UR8-ORr#%@l zHmBK?zhldezBO~o&E_Du{H}J-Zd~29rw&m0tKPl(OV$br(&V~9*m#-PAJ)TyXQ%7{ z^qKx4MlE1WinF{sbBTSu(e3qQd3Vun(0jgn5-IQKlo3q(zht0MWngEAJw&f)9PeV2 z?^3kSm4^{~&6xL^b2xg}BR1Jd;=RPQ%q)VW0Fa4C2aLzuY4r^=)~=_R#THMD1hW@q zD<~?itgdOwpSNhq^6m|N8wUn=?mGWs0l0H1Zk)fcec9%1doR4?a=P&v%l&({AG+$= z>!=&}JP;##LTK=tL&Hp&S=n)A^|M!P+rDS-Ro5cJ4-NhA!t!xbA$;2s28simZ`fyt z(0>F$9>@hO91_)Fb%R2{e-|bQB#JC>1|p?k=73Wpl6-k`=|#*4FrhIUy0n_L8Xds;gf! zR~5bBzp;BQTmIXsBJ*okS0%+Cc2=J*U6`G|K0SM3>FH|cdq(5mVrotow`J!o$;)ml zK3x;@HzWLA7FALH^r(`x{u^KTEnB{}I6jF=EaLWr_*QFl@ro725g|V~c@fgzlk{TW zzT!k9J9^StR1~?YZ^N3%vOH%}9BAb`)8`vlwdyzWukZbhs+#NPr`}bRTJ% zQl>)W#jea`@>O9dOvhNF?KE~@(*bpj7%)ZJN%>C#{~3;JrzgY_@H-R&Aq@9+iIKK^ z%-d!1ZNl{qz+^xN$K>rB^Y&$tg}1Mm02{DpC^w%Bx5o%7%{RRY^L8neXuWY}Uo7y^ zyzLfmW3g`m0AYR2Ex2B8_RcEyc3HeD0$4$C?c$qjM>4s0_SKhSw;mpwQ@D{vQjPik zq`1uGE4Jgpw|I?2>a=2K@7s0$q;d_3kR~nQ5{2s{VkHXjD&i`l8|TAL6NC$>WQUzb zkzM70NSb_cSaAk59Uli0h;$>MN@&f6_$jY2p2`$r=v+IXX9$~3xI8Z>4OFmWC`S~F zpQ?DsWXZKnX>Tr{8IhCI+@?!3%q(`7&EH&_o|Lk2*NWBc>w=mSk{X*?mwS3nc72X% zKj-`9qX|rI0<+i>Qj^l**GsEi3s*97;>3WXE9 zol#N!^W9y+a&v8ds626*r@We5+j5iUvEL-*7sSIu)Py#oknPQMII{g)-RvMd!2B_> zpfo8obep~PExxJM778{gXs24Nc@JaFO9Q8_3|zW7vMnr%^yCO)YHgOc6MlKJMyzv} zZl;bmAJ#UOCB#FU552ZAg2wis7jDh+>R<87+}=E}HOIVpCT|q=Ii;Woq9{UOfH=S` zHF*;$33}jQ5J5r4A>p#MjCos3661&X1VaD2#Ux!c_GRz>lXs0=_-hh~7BgJZx$vs5XN3E6gVpjeP27L|fDL zO9D?5KDm^3lM|ko3T^N{oQHlU&gg_N5<&kVwT2{MrJD0xxhnKC2l#*JsR-xVaV)4V(!>^WnBKMasMl zk&4i}S}r-AmGvClV5Xcu;?N|yVp1IT=!`kV{ujcE*UjtfUd1oHXn%Pt`(5e6MS}|# zoV_b!5${+U=UhB-{h|zh*P~4Z@hLkVRrs&k>wMCcT(*2+DO;wX%@BU)be7|=A0m1j z@_Q4&Z;3`^-uNtn2!(Sq3kG)tY8I6uq{5R!8Vu}QGm8hNNIYCze`mb)v6>6nf@|&b za%;oo_N?NB`k<+UMlpS2#NW(L@+Q|!D=sO`Ua_(60Mu*oPQ~zD@{H*34YDm_77oGg z3}!Q8k3dr@$h<)^p&;n)%sfW`dtV@72no~#H8+>TR6 zf0r%UX0)C+zUQ;Y?%z|^HX}ZD_C}NwUo*>psXsKt$s=r_n=Jvl873fBlR)_f0z_dR zJOE&HM5};4LmN+ctDD?>qBWD^)#P+s`0)+^(O?&91WOeiANyA50Fbf{YA1`4%9{A- zB+IxaB#4=fr*~d*`hp8`TFcyVF*XA$w8$0B3tS0WyVv$FzaJhr>(>kQen7+rIl3| z+6zi%PG32@L^-F%m}g)>N9q6N`n3LFTdX|>0==WtY>AnvicnRDCB&-a5VmK)H*Eq0UKTHw_xB=E6t~~$Go#m zKH{EdjrqVp^u-ad7#YPtjdes}vKwhxttB(_ielev%!nhpv;qyyeBhzyVQQ>{wah7F zShy?8Ew-%?x+Y`uYVpd7y$R+KjV?xlbE7>PxxRH^rczMf#RLakb9G^Y;4KtDD=rQy z?}7nA{Xp#?UPA&r9)r&y5~X}tfss*|)C5>tPq5~vu(x_CCdPG_|D9VL@y_t!$YHx)i}Z7s4cMp{k|rI|7!pkEA?e|C9Bgex!4 z6_FutyNgBMvhTe^ilhFoj?HY8%XJDfKmXNVu`gY@Ij!#8@w-{{r0%x=*uyWA%zd^Ht(PK^mc}+}cFsMjA0B}t@Vwo^&Sz;28 zQw;^1Z6>D*s8K z7i(9ulU*laJaRlMnvA|Fm5^_{qnOh5PyW_ z(`ro#Iw9t-(;FEG)ntTJ$`DX^t-CBG{RN zT-rkiCR21MxI{!-K(UAxYamI};aj3H*%iHK9kX6_j72`bef#tNcaGibe{O@CY4+=a zP3nf1w{$&nprz%&BV8*_PTwD6HmCYM;YlziG`<-y$R@jRxrdFWn$0o0JA0`J|Fh&- z^NM}CFwFri*DdS9{V$-Hy6OYbuH+>DL!NUU91yZhsZ%{>g<9D#lr4oXa_GC!G6{(p zxK%+wqLw5AFmDB`%4Y|gWQ25wQ86-K7-Wtk=yoz(eHUVpn*{H~l*wa_?0fKuGbcGG zIQz#xyyyGMx%?!>64ylVS61IceSpa-u&$qhUBv~m7iHcxS;N)!8*(A9T`@LX*4$6T zA=sOt1l2oibh;@;J~pg%VSnxhKqB*AnC0F23hhCx?&0>W)KS_Eq#WM93Y6Veu^rhe zqlm42(xwC&(_TRA6^#uSwNmz?O2lWohg*dwj@B8tN^tuwLZ!5CMXyl-T*}*O9?`n$ z$)TIK$l^<#M%3O4>>_;AD0QLPy9M~Tp}5Z5hHJTbSe1|}$U6z62y>Iz9uQiL9SBaO z;)~_T3Nc@R5&!)h1n7+6PLmjp`B>tSpEOO;`A~-31|+K=$l*ed#B!L);*u&tLo-ij zrrwnr78aLQ6bvx5pm6>RcspV7mX_SGuyk*F+P!IEVeuIyNQ^U;WhI1$ru#Aw9~vH) zUSe|Mj>L)fB;1i`^0<@3LbFb1rrn+D2#ZN62u3OvMvYM$T$Y)jED29ntJA}yBe+Uu zzr;Uk*URByl6fvcz>yS4jD$*?>|5Pq0rg=mtGd4 zQ?aNRN=*%oj#lb)j;+P=40&dRJI)oV(kUX*XF`G5?MI(U2c8(&9|B4WyvQEs3})c=)#5DdYPO3DJ&r|)U60t$rHlXhb3GdAHF_3{;Czbsy*@>Z{NB( zB{3naA?Oz?Yjfze#|ew$a#Tr$n~)f%<0#o-t^j^Ewrg(T*07u~544&Dfupz(%lJq}dOazl zfiDTyK7z!S{LWw}0&q#Gjz~9Mni?f9HGvw%%;_MDB2kS$p6AHFVqHsi!C9{Vi(hd65d_&;B+fq>Vvr&c3Jp0qpVEJEfdQc@ zYe+C`e%Fe<7CMY1_&|4qD+6>l=+9)}dq8VqgCmJQNaz7K@YvZDV)~3C&6POJl-3A* zY6u*edt=NaW_y&AzAG7U6J+X?2NcevR9cY#_m+*kHoL)G1j9w5?!Zd~TM?0<^@tAx zeq(&xceZk}oeSqwe8P8mckWy`xBL^%KPjKPaOY0%F8)cyoP|?&b^PbvoyA*CYLQy9 z)nqhnEfKe=OgpmXAGNJMTkj+WpLW`sh zLU>|e_tU;b21*6y4Fro$DkBbb25D%;B?*vfDT(x#$;C0KM-)e01qQJ+jKs+6eS|45 zKXtRmns2TBEc5ePtJSlp_YwbD|J(kvkL1|Gg7m4DxZQKZY_{yM^|z-hPHA=Fx;C9o zX9&_QK5U7!;Qut8HbT2t3+hsjls070Y8O)mv&Beb0tc1@!M^g5-bEg(wf6JO&uZ~J z&&{VU$3uF1AK`Pdb;{(qyW{lPZksOs_Vw}zQ3i@dc`1Q1ESB5EwN(Dq;*rwJl#AC8 zG&6KVtIz(U-nlHe?4Pn2FiG+Eo9nh<|0tcmfs1G@ZI(!wO1uR61Ffx+`Cq5W7wO+% z3P#M-KlVGRB#^1|kT@#+DDH=TfcB87P{QPy9>a#DLPf!&2&f`ZGu@{c68C#3AAN@c zX9|mF%g&WUaXP5;h_uOfqC8LmKll78@A#eXJQt7r^lZ9k@+{t+;_(yjgS0^0cJV!d zyi?OvT*mM&NAYW${FeXV>=Ai}Wces7Upzx9JBXemo;4&RzrW($D4pWy9Qc_6c_yzX z^R*$pZL&_pd*VLSrAOR{@YFIVLTS)2YsLy4S zdFVaFdm?R0nViDnn(q0r-;m5sd2qjSGH>9!Oo8(N;xQqKJc_C1P#k{2be?<{)I|iY zJyY``E|$uoK0rS{B=g`W+J7>R&gaUJ!pU?!`I8Sx?;z?L@ss(fT>4GcktkzI9KFZ6 zG(1<7hjf&4?j2E927W<`Az3s1@NOCSox7fV2GYcMp)%<`#4i?STu(k%ydToUa}Y1` z2F{b^AdTL`gSTWIUcPr{B~veke@u8TjSN_aH2nDd>IZIXD-cyJtuS zCWb5y@#2Sg@ODI;_|8DS2)q-0qqrY=J@k%&v~%xF*LdbkI?M5&ew0@{lk(#ixKDrX zUW!M4dN+Ds3L}4d;OxOY=%3$wLuH73Ln5!8!r%EJo~{)*(=#;q(eo&d?xi0=%43b8 zxD9w-uXIA(>d_7(wXw(TuWzsM=`<{dUhbsx$<#cf%MR+wg+pmA=nf**iRv zFXVU1jfx`0Ddn(gx$2(uPw zmIqrCTCZ&N&sjTv>--NE^e?z|Vd}zTiw?B)v^}^ubV_G zFZAeo9`4=MXX<-(895 zbypw1X6`kouFbplz_o84E;@YZh~>!I>)h8JIa+b_*wHVpzxeuBjujo-b?ogMQg7(H z;mnOCHy*l)-?aIr*N#^ozx(F7H~;O#owwL-x%JlM+rGU0+1o$A;KDqkjsgqyaf9llGsrMgP{lKvYUVKpVV8w$E zKlsJzM;|`$$f`%PA3gq<;<2GoKH56^?BfNGA3QVjiR33!pWN|O=2M%WRy=*>(_cTc z>e17 zzklbC>tB8DwfV0-`+EQDx4!<-8~grL_9y?Fe|zisxA*+H{+;A^PW+|k-Q>S6`Rl9i zS>CUH|I5Fh_@LrL_eXIbo%zSzAG<$(_>;|_W`BD0vzebi`GxIY)&Dy9WxEHg%%>T20m>C%Uf6T)O+Z2DG?C=93HBL)Kj7(;f{S4C| zQ_ys_3qL8$kZV^U%#r8nKv)iapc8?x0uquJ0%0W(7`_OERk9Ek9tf*tCs=kMtdWJX z7Xx9f%*Ngig!Qsi<`0C8vNBE{sF}=`4+6K?T-SF25uS~L7 z*fnGWJthyKD&XMv%2ohPD;84nZP-~3BD?|TSn$Gopf%QuJNv}3L!_<3*U)|I@h^5t zsdPs_?j69dAJ+4oC^=I$9e4KNzADHiDXkY}cfw|-6YsJKC3J|=>Fow!6&?E{`6)$u zXZMffi2Yuf^YH{Kvs*kr7T=nQFV4hwPnMMXBPGqoTXo{S=sTn@S}n?o#aHwqW)O8q zDL+)Nbk9oUn0)GL+|fVf9=fL5pi=trj8(|LLDa!I#8LfHd^g%-6GD@v^x!VKT8Z2P zfjaF+47I}4TCGJ1RPV8}I)r*q`Zm$tgJ{1Ja1XM8Yal(p<2(0diYHOe_|I}?p@yWl z=@GS*1s-81-g&b0*g#EF>?*uXGu~z!&Qg!d0WYTn?U93{8@BM1?U9F3CjP$J4(-by z_+uX<`#1}kJmteBOsQs`ur3%y1Ut76r#gRW)M*mPD0H*O8Ak|(Z`9blKR zgX~gv8M~YvVpp&$*;N3hyoO!N4znY0m~#{WeaF}h>_&DIO#N?WC)h3QR(2b^o!!Ci zWOuQ<**)xDb|3p0WGG(dW5aBOon-g3Q^4DJ5O9|dv0t!<*(2;x_81#wkFzuE3HBuX zSw794Vb8K(LZ|Il?AO4Te4hP=y}*9UUSuz^mjSZ%3j00#1N$T32>yq?#$IP{us^Xk z*<0*w_Gk7E`wM%Q{gwTVy~o}M=)wo=L-rB-2m6?P!ail6vCr8**%$0z>`V3)`x-pN zaW=vH>>DnF6+2|pz++c(6<2fEt-usQ&kZ~X7#G3Z#Le8ot=z`#JcK)BaXgfV@o*ji ziY$u5T$aajCy(RtJb@?jB<|wLJcXz7G@i~g0CAtivw048^IV?C^LYU;;sHujC$H#jAM@ujSJ?NE=?y8+aq1!JBw9pUG$O*}R3f@;Q7ipU3C(1)u{L@ixAg zFX8QcDPP8y^A5g3_99=&SMg51ny=wqyqmA(>-c)Uf%ouU-p4ocem=kl`6j-ZZ{b_{ zHol#o$9M3Zd>22T5Aof658uo8@eBBc{33oa-w!*JOZY*4DZh+g&JXb`_?7%Bel@>_ zU&{~kBm6pklwZ$}@f-M!{3d>!-^@?&TllT~Hhw$5gWt*T;&=0V_`Uo-{xkk_?&Ur{ z%t!c1em_6OAK(x2)4+TE1%H@7!XM?2@lgP-oZ(OKC;3zSY5oj&x>fO+( zL1~@KI@S*=2D>+OD*AgnRvA|HZs}Q%07YviFI1cQC{Eekv!ZvazHfcUwq+~3`&X{- z#54OkI|kMLovZsh2f8%$Dx$#ky(`x#Rg($5=^W5)?p?oWL+3KQk3JBj z2WSJ~O?|43{VRJ{b*fjOI&hW`cC1n0H=tP2+q+IfhYcP5>y&-{-93Y=hnexU7g))x(0P3yrp~9V3!VQYkHQg?_51-kb)~adj>oE z_0mN@We<|VYc~xHcCX&1pl{K4_pCxb>ApZ%?Qf2VR~S0`$S8Z2mFu(NO3ijI}* zwsiEb3R>NPDxAF1Oa>HG>B_zibOLmY-ahr}-hRq%5ZNa$L`i`QW#`(?m4gO6XLEnA z^yNX57vdANed{+3ETfL0+tA$;2%=)|NtLMMuwMu%o}fcZ;Y=y%ZF0p^?Iy`gBr2^axQ!)Q|8w1Kry@ zm#yBke!U?O9@x;ae!Z!4>&o>V8#>OtmSRo!>OsZ&&W_a>BmJG4&TZ&u|6iHbuH3i{ zMeU_TJuTatO}Z4Rw-F^uw8~^1H``>AW<8S`4j+)nB}H-x!nU?blQQ`hZ!66sZ7(Xf zTb#GO4K{^nhI@ah>flG(2f8#|9NPFEH8^-%sye_Rw>^g{M*>6pj7fqtJq4ZTn z$6dB9n#=Y;3rP~>>ycI$qbWTeC?w({Pm2uXG$-7vluWR#3q+ErAsbMbBGVF*7B&{I zlHF*NVujG~z^DV4>E_U&qO0S5q$zF|n(TwuG>3YC2KU+x_xF3X&CIrf3`N-p6hqL^ z!Le0KX(e&o55WdFujqs#&qop6x`tyLF-&lbzG1hnGTwW-rmBJdr9-X_IsF$#zCP*E z6I`Bjsp=HOX`ta{DD1}?F`smsKxWd0qQYl`uujD~3Zxj4xh77!o4QmLWTnWuAf$@z zPy|p2D^d-Pvf2%+pwj$FtBwpF#E_@shahSO#+5b5^-ATh${dPOr!7yVGqK0a;RyyUv0{A1Mxp-!04!>i!&6vA$%?xpF2gIu!i(+<5JHBdHLP2;Z~4I5$^tep*iA688c9{Aiu;-Hab_ z700bq+k{a!(+iW?bcbKEYsO;Ef@gKJV6kN3vAAKOpKW)}_fz;faL}_NXfs2r2wJT=zB|>3kToFODVA}k`muQD{D6tvDM0QNAa@FoJ0-}Ovfx*TAcr6a%eW4f zaUCKYA{-)|*0y*0iF)U}BW_0AjJO$bGva2%&4`;3H{(ikt~4hC|6z`ThT*?Ae<0Ltp+9or1s7g$+66%if))fV z2wD)dAZS5TmqaXySQ4=$VoAi3gO?n<u*bn32YVdsae9vkj|h(lZ*}(9 z`MHlhoosB|wr$(C&5do_w#|)gYh!0$zE|(BcdJg#^tq?+%}_F^}-HFWslK7SziGf3fHK)aN&n+qWT03z_Cq4*DA!I0%< z4(7H$oW+l>;YVkx+)Q6)Zs`2u3-;fbkpBlna~n^yAC3e7L`Mh!`p!E7It)Yhl0EpA%|9lBSa6!H83~fz+xR9Uu#r)_r6h1t{9PFK406^S`007J} z0Dy8^Q;SpX;AHyaEB5;1OZOk@@2OGUO^wWc;{4ygg8zrn3uWh@_P^)@rg;nJ{%faH z{)-6!Fqh$O>9JvKU}9jf2Vw*Tj%Z-?(>L)!AkpmS0SCZm0TBcKdv9iJoZa6)*+2Ma z$Y{F1e;&LbBMPgq-zPgizp*@hAW(3h8U$y^pD-^rP!UUl@fW3{fdMF>2^o?D@Z&#| zFeMe_h&Xckpr-knccW#LC$t%bFA(y4P$;W#QrPkedVmsvfOycz_Uq3tt&pnJ114bl zg~FWaistB(zB$l>d|5;m26GOFSGZ}!gdDMJ@*yRrI9hWbukeJ16F$*#OU@){7b#J$ zBI-`I?UPbZOxRH1f?+Rx9_09X5mGuyNolovrQ}AH5+Yly{$Kzbq8O?pNrD)y3~Vopj4Nh+nJR7glz6zvGYFi@p&!f;@z^8B!s z_}bgY1ipE1FZJ8A>lK%WUeBGg74N6$EY{}-s*km)sqW$E?*0d!v8F2n?#(p=B`vt6 zu8XQ%FXg%mQQoTBi*oX(a(pv8ag2{HCLI<%!!?=)UxXOF7Xqun;~bY-nGRomGTgoc zKfp?9;(y8gN#8xd0f-df4+sRf0Eq!Ee-hINXa@`f!T@G~PJk?c9Pkei;jy8s*d?be zh`0@h01`O7M##B=+LRGL>RkW^HM|^aWWpVK3~9;klo0I*L?93-0=H3zm0wUSkp)hK zA>kv$M}*959Z|@_&E4cYo53tSnNaC|Zat@bN)kV~4L-y6B`49+1b8XFyo`-$4u;UO zF?*bJ{rH9f&ss?4wgMdU+EXH6$#Ms3HJ5!ad_sqPd=flxV>YuaJ}z-VofCncWI0L) z-(t;lP9eMpE$7I>3D9_^Nt;yw&(0Uu3R?aybEZ~DiRC2MPsH~6ZFJK)}jCC&9Z z9=3srWW;Sm82}|BB&PZnhCSCq1Ae6RF(;55aD4aMKL@h;W=(`At;H3dQ4P||Z*%K@ zDymDZV>VjI-M-SQ{14^Khu&=O7)UNY%#fh*K-S#Hw^ZOe4^1tL1w5#*7rWQL!j_AO zs%{LvM)JkJ2Ce^1Edc1>KLCQq#&i#q2hOT11&=#8cf+(nJrbxyHHZU<1P$l_S|M9h zF`IO&jbtjtdZQ_A>Xn3^$yit#M{75C+#v@}&XU|#=?tK`iB&G+(bQ78UGkD@=Fdwq z%anCav0V~>4XM*-o-+hMFe>%>i>)X3pHlBAHfC`P62>h~+?$!7a51z4|Yc#=a{Kx3q0>()l?W zGcgICObc?EuzZNYt$HvhWn{(&4`u~;5C3{quz za!#jZj^kicqzWCuxwTHpuWCu@&C9!uzR9Xmn8Q{zb0FI&}kNv+^^w|;cuDN(C4Jly$lYEqQPGPuWl%=yxP3IFt;bFhPvTf9pCLeeQC?ut4y~ob zn-Mn!Qbw;4OM`VK){G}fYJz-iBqwJuGwCOAD>KcdZOykdpg!9%6Pi%s1l7Ji+!r%k zCUNmJQ)>b(B*ejp&SnpRmHBE4maU%E*pS1^$wWyp4(z*iXtM^}ScObI9g9i0MaVih zMBB}!yV=>yr66#k}&!1DX9-(@i3-jL^IllIFzi z_%}LQ+wv|PFqp=9TH05AmV+X#c%iJx8+9|icd-Aj3b-TG4%h7BGUw>xj}p{;bC#cT6=DLUuvp=h zb~3I*`d%-3)bn`adyWSnI;NH``31ABgt!XFde`#VCC!r8r>{)o7~PqEGvyiZjq!|* zrxst8C%5KEl++isl@;jU^HS#bmFOarE;@B8bzXot*iumXlhD@Hj^{~DC{O&^=MS{z zFgAq-Do}!dL{*xX+mpusqZxO+a=4xv#RDha+YDlM-$MBoCe`t}2CLT*NWTqyz4Na? z{t#>WFS4lP>HYbYOFOt^rG2_du^jRr)3jWnrs%vRY|e2Bj^(@eMCW@5KL5G&xY-YO zgB=V~dR@Tovp_!S*xm#%FI_6@G`H_)bL#gEXE8f}jsBZx50s%ARc@JRs%Ev?)M@nX zD^d(NlJshXva!s1&{8*yqEMWI2(}c6)&!OTH#8OAkYFmW!;v(QKv*tn^^=o-Wph;A zhZEC|OlodYTL)i?VaD{5ideze2$Q-`6}6~Ru_%vIMp#nlw6?AxCh>F5pEH=#MOi9T zDPi%mB?{BpQsqh(S8r@XMXg}vYHrPqFT`wds*>xMQUKR)A{QwifgI3Wk0_yXhzM~* znB<3)Kd;BHGijv-Hy%intEy6MTX|9`_+{}pwL*jPDiV7l;`h{y}t*jFRf4uWF$oI-bAp+_IMxYkbWA&q^wVy>Tf zkXGFG})MmP{ZNxkAYwQl;=>j?s5j#alZ0QrY|m#ODe7 zBwA)Y67#TX+*pz`4O~o6u5{8^F}ZIvOb|6X&X92f$VN=y_-R#1Z&y2^$EO02tSsb{ zfKuVq8zB3D)m{}pW<&((4pd^HN*d%Ep{F;Xx6%xH-|u?_ww{ruEhzLi(iRRmXbwsz zDm`s1M00fWXpCC1%Vv5Cs6a+5>){QCBn%A{96sJAejda~OG~s(PD6hmF)<9P-dQ>{ zYT_zNXyik5N^=1i_et}p@NxvkG*&nXBMMt;F9@fh-3HeyJvjO>Ucjyf{Bj3eL%kp! zn4%RJRsWBbh+6flDL z5nrcT7BvO4yTCthYA1SqC*&h*Y0dzVaLxL(M`QzK`oGOQKHS%&_AGg22a&w1r%qii zUevJM$97Fvl&OS-HXTU7)p95i5;V2P7n692xxR%Dovi^i#{c$f%Jjc)rpnszcXkb7 zn(;0?4%U_HDEO6oYd)`1lx-X@_E0|?M&^`K@oTGo#um_g7RVu}vOfG9jsi zS+KlxjIT)U(V=k+i~^h<07ysgs(Rp<8E#TDjz%ZTnw~e1WF@eZ9Sftq zc`eZ*y`kK=9Bo1GqCBr( z!sGSeo6jN@EOEiBYI;-F!_QZ^SP(bkZ$YT8!ZdC8%&D$bV#U)3K0vRs5T0;Sh6x=& z&S$Z41pkAiBD}f5jhH0-TO?yi>Q!z<$^k5J^P~`+Vo3PL#rr8lNd z&9;mG7==dvC?`C&G;0yOs$-&~igWqUI0t>Boj$X3>xxyBfDzx)X4AzuZ=$gE+SV|K ze`t)qlDDfUD_; z7oyU{CDb6Jrb=TmLki$79uGF<=o59#H$$rD$u_wXM>rXJ%x&gr3M9D z)J(LcZjMZSMOVlv@#IU(OBq&>3!tI6t=J8rO|APK+K{uU3@33$4Cn~A8v7Y4fYSi~ z1R;%OuXe%d5I*CSQV23Mh9U+AHDO_tVU*39Mi}nwkSD58cTG?c3D%8i!QH}F zKiK^x&*ui_aI|Dl#MI_$wO(OB3}aDX_fooiy9fTRu*x|< z3k08#j|$QWz_n-OyC(kX_3;11t*;TKEs`1gz`(4Puw%?fvCsHo<}wIB+Nt$o&2NP2k*;H`SMk3{4bi^u$yQKtyVD1HDJSI&? zkbO4&tKvK`kh9@|rh3Y)Hw9D-GLH}_N8&Eu(2P(+kLY8Ze4{-@rnUYcIg+mvM(b% zwGbC?nX}-KRg(sKrJ`@qsgmA(HPHd#CJnrRN7u1uG+r+rdgBZdW4w7!WGL_wN4}UR zUM5HWgb>ldH+e&rzj-SPg3c?`k~iC9tOahNd~>;VHCWWCKkJ`1!DdA8w_5i7@%QO^ zHVa78;bhM2Ayr-Iy_Tf&(xz7uhTU-Q&+t0Di$W8iRb|;tQ^0(_)=g^Y8ON?Ra~S} zVZ@E(pq{x})QxsZE4X(eUb&)SPk;W;3S^2Go0#c>R7uL=jV~!d)QN2Wg5b>GOMS-= z<>8!KS>nr8Pe`X}tv3h1Eb8e21&*6)^UQDn3RK$DMq6E}e zcZejqGrwk~n?fdYjKst<j(uN1o`nY6RI;sXt7t5j8tLmK! z`k-V`C|F29z4DY#qYQlBL4% zC||EmhrRp!N+RdNN#pjBcOJyx8w0v@LPolAP00s)8BKcizh<(1mZ{yR2C5(6SR2yN z-V=!X<5e)ib;z{>eq2n`qglcQC!zkh_=;LUWtz8JxaJ4rm(X*W^co086rr?OO&&w( zs^Ji}(7#~kq_K-4ADU@#V#Y@xKsr}WOS#Y{PxWH5A%bje2oW_ntWiAp92EEHi`R@) znxiMPeFtl&vEZUxX*SweHuAj#h$@nWc`XEi;($%aRkvp6=~~sKG)b;!hz9h?Vgfp$ zYZRE$FMwURN`S(4baCR-L3uNtj3I8UP(t8K_EHWSRu&OdO#cLX z%U0ht7p%M79+v4@#)tmu7nY}QKtQ8`Kg%H_MIc{D=G}^O9kMQDUY^1RD zb9h||_;w{yTxbN~P(lb9UcJ^6dfz*B^=zd`D8UKYrvP)?%!{_PQKdMZX_8?^1*`#M zX0|X3LKll(0N^=NA2R23_RQo&b`u_9QRfd?Ri9VQaO5!cKNJG6`D5x z4JttY^!u>Qiib^2%6)*;oqIZgHcg&@$1i&Fwzp)t-3lE!4eEMuGrLb4?FyRAd?Co} zsIaoovkJse1V$WZZm}|DiWy_AP}Nki;G4!sv!YyMr!-JXnUzAg(-4+jy~To%A(OZA z3lU6gse~vqtp#7ipB6d>zjq1t(6BanW=6vjJwOm@aGu5602>qTZKFINJ^_kBC0OHB zI7oAk$z}H2BLH*U(Fk%0b-q~O_|y`8(pjGb{J5`|W0gQZU+ctv4$teNLYRUatDxi8U7&kimd>4;7PPCJ3k)l_j|F)!KHJpR(?Z(*y_D{ii)&n$Yoe4Hrzt=o57=k31Be0KnB~{ zKz-lyziGGeO1|!T9Ww_hncBVorvG}o^S2wydFt-=!$q+QnfsG8fceUz`!>MCIUu1h|tVrP6fQ8w>gPfp8C?PM?2N_rf} zf(XxR0pY+UKtAK3;(8E=N_RlVaZgHop{vBCp5W@B5-CLzdPDkmiy=i=DiHs5 z*`(x1lsuk9e^MZ)4sWtUszOz&B>s_U90Uw3h@jE~Imn3Z`e+Ztb=HNA7PQGQFc@Yb z%=&c(9V5y{(NG~Wgy2(r&p#p6T7AiXE!FsMy8}iCiuMe%XgTE|d(}>X3Qm8^gF;=w zYLsXIqyDKa_E;g<%J}FVCTQ-dwG1bSu~I#pC9K)b{vFt_yV_hovIDtQ9a4Z1fDX>| z&6HQ4NuUC1G?G4}B8Glb#Q>xjXc}InUEQP&+F+Sgv92bF4omRoMG zM7~lH9WVg{`n|E`A}Y5?RBna(UcjP}0P*$*F+!vwfi`Q{XCDMfZ!~*Zu{!X-4FQ_C!quDgBE3e)Rs? zvqD1-mA&_t0H>$DwYGTMtWOhBGjBHBU2;MZjQAD zJFDPr{kQf0w5EzHtbx-m)Q`U0&aBQs9VwI;@fhn$2@r|*$7r7V$k*cRB#O7oU`NL$ zjV?(SE8IMfmsRsMt5kLS$1Tn!l+SRUPH`E!O>Rz6UJonMXA4uwbOZppVR)U0Zg~pN z%>9piUAu`XcF23LN|ulo!O7TqmyGzo?cIPh7du|C@>~r?|MJz23ZHmlU&gd9HJE6G zg@t#;KjO#WzIN*!lHvizrZaLmT~qy*nzLh^+$3nDB=O2V)-)~@HUL8308#(cjt z*VxHg+mm-iR`falC8U;;C7q(*5P$Q5od0P`WWG`IqwO_c{tS%${mygL$6`j!ZELy0 zQBcnS5}E*G)mtv90Y}?OCLS%xMU!z5RvJ&|#A703L2Fp^QfvZ=0|#F>fD1R8sVg#u z^;>>=*X2PAXScC-X6kDkt@Z8x@PQr84R@zG^Q)+ngh`!V)$|L&GVP;A%RsaIt>)Ke zny^QwDk(Q>GZtm$;5)8MCo6s%GiEf{$VqN}qn;*#jsqSavx6^~`eB8d zQ`n4k9}pY?n4!g=eOlHuTvm!@{DT5)CKA5@rcP~sdwr9lc%^s`)BEo>=2d1@X-V!U zH^@qdvwY$bI;{Qo`+2dnR3-9CaV)Dk>XE_z+Yb;yf)=`FsLDt>Xr(6`Y3nQu>sUb- zmWGY{H!g>Z(N1v1xQb5RdJ0;gw3nrVCd)g4RMSR?;YUr>wOKR--VvtgUij7CzgZZ1 zuW*2)dF7XvTK!$`f6Cz}1)r!NbJ4SKF#e&odgX7dgnBW|+UeBkPBD{ZmY%wzdSl9g zwOiPlp<9R*$yp_aN8A8vG9Ya2q!MX|hzYJMH3t{C3w~o2yrhOSQKImR3`xP01)F4? zg(DFr2?bdTh-R@}r=S(H9A=VGVQgQsil*j)%O3|FO*5w!XP0mN!^?P@lto zH1~sKO@n{0*EwGW++UihXKh;`8jE!e8JH3**Td{8Ifmb-XvSl|Fv>F>*FcWov$6=A zQQg-T>y#7PuZepOL1kOv1NOg*ZTN`g)sK8CZE{PU_-3j0pv&I=u=Q8PMRlX&Kv0)d z0s2Z8vPiZe9CWFDb`}?z8Z0mALf+ZBa6v#fThQpTxc8g{1EALp={JL|DZ@A^dsbi* zXb7Y&5qXoA<8a2#a|J9R} zf%g^|K>j&{p!XGNz4GotcO6{OC)b91PqyWCdlq?pS&Q?SLocgy4jDhg9_I=N1{O>C zVKu6-SYs8xbCTh2KDo_7)<4WREVz2S03)f>-JhvuKP1e`=n?fy;rbx(WKZ+h#ni z09%?tMoBO327>lRf#T~`X?K67?SMbm`;pu3msd$haGr*5FJk8Ld05 z^^#Sr4UK8k#;}P)|NYURd@Ih2zEj0at>yWoBYf)#wKM#vIl+V8NpK9V{Hz#vXPp27 zv2zJ7`(by)F8I~S-%QkLl+O3`--DbDMdE+)#{U&`ipr@@R>XR+vRYix*vl9?9&)8C zQ1-e2YV*pIZ$dPi69CE0)&`lyA&G`)J_PlBYe!f+{&=$`D1%oCMP+tHt-#JY0*eGp zF`U^5sT)tL8^-a}xccPb^0 z%WKysFG#^xMcX}9T$@A|5k6yLJ2mXCnf+nN6pj`kBQLbFvekscM+*#F82y{_4rxWq z(VzU(+NoM74M?zSR#5-Rh)ji+Cg;@zoew~%>4*9FYC)98%XzB+~TDX;>i)RO|-Z8!bh(fwCs9QpJw$5mKhXp$$S1{#@lD!W*y* zUtq(hI$e}|zh>G0n>!D*yIqI^6EB9GiN$xum0dN3j#VVWVyo6vBR<7Jg%Z6vp&F#( zLYr_9GAp6+m0bv1F>vOHK@AFxebzv1&_O6hU+9H8e-^4g+h%^>DW4vFPX~>2CBZkO zgY(R87`94s9=>g-;aDO(0Wq~Y0@I6FyqRMuvlOA_UtHO^;iDCF2T{{V=`jmzS&Qbh za7WN+mj-vAhV~G8s)a;8kS1F#F*@FqRkOCUyt&iv=h5rr_+Z}a)(8L8`4{-t@aqa+ zO-IRu&x7EK_czR!Tx}ioNlbI7CfgRe<7nqQ$Ej2btA79~8*+se4iM*pJg;77k_A2x zI-9a!sGur^e;eQ7)EsGDoS1vJ;BPH6Mhy}1-=}AaMc@hj4GO<8h~~Ow6Fj^8DtMK= zU);WscSm1zyCwRf<{7<$*tA{b_M%$KRojREB!!at9-*Mor-!(ke)+(x}biIojd#)iItJPIu{nrh9(J@4eysmU*Vza{aUZm10 zn&zQ=b{O(^Bl!*jX)~{y;hkMfq<^`i26vU z*GJLad<6{}kRfCSrLOGd@@!N02y{4G$J|y88u~$*rZwY|neetM_%8*e?}t7Z41W+E zTuN6rx?t%hbJBJNJfq4R!u#5ynAE|MsBIvQazxGULG)dGx+6nayZ$U+55x{p7Tx-4 zSPZ357!U=d^v1kWL`af_!L5A!Cln!CL53w2FjeKHZU<&=_Xn6GkZ1HJQuL;D?W@TJ z3_Cpv0bM{{x5I<;5tJgeOLpERV)L)J{s)D!i~Ng*7UU#@TJ0Dsc@o8y8ZRmm93C`< zH+%`jBxcjkE|R_b&WjyrOyreN9WM&{E-+5mD{UdvtENB&4z1(oUvKUQeF9rzzZg_$ zrxGbtG2x*f*#R!1O6i7JOwP3)J}0kt83AFPu-WuWxDYI;qo?L47Tl&GM^ceGt4p^EX}zv z7Ef`{Rp4D02@_E81cy9v3bM)637H?9C)W@5b?dI*jngFOS}*q7|0?r(uRkR8RzGU7 zy!#|fJAj#b`Nc7aT09G4v@&(nqn&!mC4Qr!EzYeP>9btmIt{@Jfuu|DMsj)>%d_TU z(e9pc!qV@=B`DGykt(f6gbrVKi`+}vM(LCV(g~oo?N>xXdMqP(&c0XSn{Hn{>Lsq=- z5s%t1edvzE|FnltYXcXmRrfg%oX52Dc2qUrY|ZT@ClY`U>TH+mej1cRqES-T`42eV z9l&~RESByVzpg6V7;cs5O?4)rj~4>h96lR$b)?82rS4Up*7N&4Bb994Cj2L zhOO*9IkgKyyaIOxMSW2nQfR;i%FUIWY5lukq2+K*#+beadup|2kHuvqEcYc=@lv2s zu)J1ztK7iE_+snad0;x>Q7oO6rFlV2uRVi0=6RiCcFVe@OZUOW$eE!b7EJpyH0w05 zx3ZewDd!s$JdCCFrHUPK!Hz^uWhq!U82i<{0W$ZGJtS?Pt}4Iu^5`3bS_3|<(AuhB^7;Pmp1-0o zSsK8PcCJ9tn}P+9Y$vGD7=hN@mFlC>@@vmT360>v6j|LndV_cll$6 z=`bU&8KjSIy1OMQY`a0{XRZAk>>Xxa!MQ@oba zP8BmTfeI(=ZaP1-X$4h`c0AbJgt+#_$+>ciRU+*Zzx_fc1){6G%C8UUi-e)GV2KrS z9`))RHnbF|ry3FkT3KjT+1x7qb17Zrp}LevLC|2tNF-P%F}NOM&CD4zuMjPeDFu#dS3gZBB#D3OfgJl`R`3N z_k2-F$}iB-T@}2+^2buf#$D7NJx9a-@&Yt4)nfg%b&~*Uv)hiKRhq_KmP~XvHPfDv zZmyh1_pY;BvGZHEy3ejDf4}243!k*;?uEgAusSw}eeT@KjhakG@b8+PgXD<5a@Hlk z)%+1+_~{Y<$iY3g>zoa5Mq*gEwkTSq`I>9Tt~uXTyzG@(PrTGnHEB=;_|iZE!S9tZ zg|S&vqKWx=YT)=^z2Dd=iS-A! z?0l7X7?pEN6%Mt71KR+285}Tuy#TC1^Z=;8q7jEkL?&Y8>Y;doYQlnC{By=f>;M|Ei#&ArjA)}pyzVL#% ztW%IS523zea@-S(*-&~wRV|Q`M{J)m1-&P*`hs?6kbYkVW&(MhQWFG{#(Nm?Q!Uc| z#N2Ky)@MU8!vSzs6$`RE7EaYI^=Or;T}>L={ir7KI#gByC{Q6$s7l~ zTia(#?Mr_wiG+A9^KO~fiXAtbo@cqkESKYok3ky)bEM0~7Q$i25nhr=#^IMZjEl{X z2V|Y0)#%ez_K@75YIh$<(?{;0QyA?JX2NiF9@lKHSf|FRr>|=T3rfeLAe1AuJ}Ej^ z6oomq)RGpV2lS>r#SnD#qZd>Y*M5c`o`@kHEzJg}L-dTw(O=pP%E9kfi| ze51y7(ZNDkTQ^Y4N3PY5n1|<5u706*n&~4OFOO9l*Ov5PmycIftZ-Ew9C&S1;c|7S zIWL{lor0Cpj2)^B@x=)fID@hR$f6?-wCesAE)-0}&3}ujsW+g4LE&}e*Ku)eEh_*F zh9A{rMDyh)Wc2Msg7tpw$G6k8tTAbP_RRR!?M&k|4JeeFGwm>Y;lagS!h#Ed*v^dQ z?%r+oz*!Qc0!4KFG49hc*E_s32~rw7=I-DMq8%|@xVe&*bJ6`?B7F$-a*HTwu*91d zNTFIUpXFCfaHiSWf}Kk*v5UmF>KF~SI^i_yi^L+)B@U~ywi@3px4WfmG$QDw7P7&TN=yD!Nqz9f2p z1tE*TW5C2~cz@7_0X;QKkH7aC+tyj*HCv6i*@uh2jWI~v0E)k0`q!e5f@h72A~j+h z11Lbe8~p490+NYf72vuR+58xefl%3#%{JnFHskPHqIk5o7vYry0cEgP%YraaI+hB0 zv9}U?DWGyWF29PuHbSdO^w2`>VNZ zlcn%9FU6kvpH9aK^mE&-|ILIm1b#Z_v%0)aYw%|fEFwP{AP9U{#V?A~?I9`8C*bS1 zuKYB=|41Bpuk+RVM|?PScSb0m3=`1k)c7ok0%H)Af{;Y}boyFk0i*5`Tk&AK-KB!3 zcr$@SD8&aM7oUt&;ytk&U6YlnS%E-dB1>fN91MAp4H1g5y!4+C7f3A`v*>ln85n|-~H4-k!`w5|pIZNp2gxwG` z^jD&>I5Si+T6mgS<`;h*s;oSrgF0;l%nL*M;^fEN(~}vzmk}_yc_|y#(e&-_p0J*D z^@7|ff$jFY0DM@8c@*eS;H<$Az0zoyu9TrmG~lWT9v&G`D(@(kRLavbNKj)YN?&(0 zxTJ1$Fd%5EevriB8HLdEBwUj8x&3#MOUE6Y>5EyEx&2OiBIdrMSR+dcax!@}j(=hl z#Z-cZWbEt6%mw5n$t20W%JKBLp*89p3#E%hTX2uA2Ab!~I|ueWs?ZU46=(W>&VX#5 zldkl0QUp8<3{DEgj<3Fd`@DvI5gXR1)!&)*tdDL>n)SL8yaAkco1yUI$=TbUbiJHT z1ngqzY??Vii!d;0`G;8Uz3epZ%1O2)X*@>GaH@t1Z-$U?K+U~URK)7$1Hkld7~wbqVd8Cx&LK5o<4^HqPfF(;(O19Ds&X5%hW`Ooel7sTk(s2spfQk5VI2^aiJ0$} z+(5-frm1Kwt4W2f*gB~oRjMq-Q#f_UOSnuf=2bH zQ;yS~uDEBlwc%A(=$oD&u8llg{K>a)KQ|a| zUU2Cee{vA0x>@ySUnFtVIQ2CSJNQ;Na)4abkCoiaXuSTy)qbqsPsu@}&jc-U+obV( z&5G#`ekyy!E+)PiqzmMzoju{i?sSe;qT0w3|&|IE}Quij>0LV*_~D-F`UsX5)L=5_?rD ziP$J^XkxcL_iw%ayv@|s%KVt9a(0%&I6d3_v#ZvUai+R^Ig>8hh+)VZ$WQ% zPLli2iO=udIzz}Z3f7~XkgE)CGn3R3Qgb#-v;Qq6>3&uTvImG8YVM|77QyB zq}qtdmPEj((uCp1Sj;CN&$S^i3g2hpW6hJtt2D=W`(DTbzvm8-+az`Sc1#UpsX zSlEhgIz||kVHBr0iHrsJ5Et^i7B`>e^W1n2$&z=Ad)4N~1-9Pfm{z`aY`t>i5qQiK zhuUkJ{Qd7O*~8kycsHP2(^$%U_rX1{oztkzaa3ao6=iF5`z1I2`G&vB=j$w?*sYL3 z)xq-%yJ}X54T$sU3dx?I!nC+b&!exYbu1A5I*6@bmt9$okY=V5i!Z5|Q_#yRM_N)j z)r6t)*GXK9RW^L5+UORPY>_gup%=Tny!{Q{;rMJg{#u6eoSOAgQ-;?WGJDVY4s~1X z?^~(cj;#3SYx0}-t8c9tmjp3@IX$ zZD352!>Yy(Is9-I%4xPX@GaJ8IfB2wXYf_Qw;Hox!zAP*D$E{iNsE@M${zZzn67c* z;|LnmZv(>cW5QB4`~1mk!s0vP_~dnoW4kYpbK#6SVxGpYr|A{b?iWnqbEh7+G@G4d zpUwwL-%qFeto!;Dbx5mot7?89o0D~N_}x#^m;w(a+6cKkLALbVU~Myhcruv1VmuK* zOmV?^`cRo&Vhr-csh8ToN&Rh0s!L92Xj#AYQxptu~@(7T2ad+k!2ks2l^RGl%7!;DGqbXJG&w zq1S9}XkAKwNIHVUbU_(Y%aIjF=Tzw7&{5W~(?~5}lI~?}GdO3iPT3XTl67O2{GIOa z?~h|~K3SG5w<~>c!9UD*R2?@fFFsx_x2N~;;x^mLlM_e>j6T^=a+jZ_%*ul}lptAY8Qa6~jIKxH3MlHlu*H595<+p20e-&NrH?(b_MYiNt$HjXJ7y4GbDU+Ht0aCl;x zUelgr01j!C$)@FcwF*^cQH{H)(tLjvZeDuAq#IgcZr&`UXusmXmUB-(DWql{*jhdF zdhdhsMjq{%mtX=Vz6G9ZPo>qIm!3i8VtP`VtBZ+Iv&c25Io{p)*L8r))+Fmhe}$N| z&@%|=xuyMD(TuezHzP!|KK5jaXByXdXXukT*hartiB1Mj#8iPs6MxeMa#{3F%5x@_ zSYtJVrmpMAt2$WJ)#t+z`yiJ_UdPS2Gt&gcxwM%2p02ZNP}P#fGP0f|FaNnlq6GC; zYX5|tloqZpRot`E#`ZRBL#U(~{9y}qiNTiIA&;kXCw0XxV536Ha?0)VM4D~Oqu`hR z)FLRpHht(uaLS*A!&h17Np(Co2Hw*J9EM2g5|_pSDlK(IFdS!Y_EM>7HU5Rnl!7P| zqaoIN_)Q@5HuGwR*6?zDmcZMNUu2gE6y}!%W{gC$ER_9&dLO81*s1gMND)J)8`7l!XYMgUAkByVcz}ri?U^@oT6en=77m{@)xN9X9 zPH|x#r?oO;TC&FP585&BE9^wHD7O z=s3*%IW>4S{oMBy{>@ISSkW*ufK+Q-&RZBAovqDkx9X(AS5Dl`W4O#h4qHsHa=$?8 zd{5k@bvhqj`+W?aQ0o_$n7$wmp4Z$c7_|?ifuwRmop`LrTw>MkHh?!d;R4l;oQYVA zq%4a=nh^vp`mUy}7zWMAr%Hd}De zGB%j0?H<~^G_(0$k+yog)bV@o$tM#~_!ocf$;0Mp+p^ZvaWDME#xXaA({%SY;_(Ap zpk1ImpsL5NQ4(AlNV8QLZ?G+QS{@rV z4ABD%s{Gh4+*_S25o-s}GeEUjJMOa4u~;2*A)hFaM#hVj4okc^XHPayaXenPFE>yB zP~BcNxr?dsx->5(NfSF1dV=NsM}1sH-y<@*1{W=hV_$UtA~#y$t%p*+p;u+L8bo`pNne`oa+3XXS z2Q?SAPvIqH2_sNHX0Y>)sPwAh1_?;Si?=kiNRp>aV2cMt)sz}fmU=s8<|3ejpxH>Oj+}iPz>UdhKdfLEcZ37m4Rmx*%Lv>V6YOO}_QDXV%p=4T%0uJtf08~J$zay_@ z^-yJ*yk2<8$b>Te=%gjL+vOfr`=kQTsk#uUnll{L1UE#6X#}4-`mLOg_{ox-mTG#~ zAZmhaq#zE7q+pZ0b8LY(&gd}*nW0IqVdr3^iabp?nL%bR z1Kfr@kj9|cz7)0i&MuoNXG)=>aaSjTUP~ph`u2Dj1efE&p_=n`r235tIlkG}q|p;i$twk#&;N?( zwI1$i8id4nC0CR!{f(FGRC9@B>6hmDjAXI5xuSaXm+?foQ+mJ0#P?uY0IxN@M#JUK z(}vZ*B{{zw$bZ=>|K&`gy|y9qoxd^B>%F^4VfVf4%G6Yt zuG8TLK^VWJnA72Mqx1wqFMPdlGe-kg<}rwcdGgPW|Br_b^peqz{#9$5SFIi1z2i3R zT|eFI-<8Z>y}|FYc%6sWoOs+jvv|`B|IeQFH-F@X?RH~#q1hPUC|SmC+u;}WC-$ZK zZyYAg?Bq$SK{I*@*|{{|YXmba0?jq2F$0yAW*hU`-pIH_b?brnJ`vwD)!9 zD&{cr0`p7e-rnw8>g;>b@D9M&pf5^%iVu8sXh$XiAFeCM<_OXc5vH%}76Mn6f$?j&!?D zbBiV|SU&hcvpuajRjsy88Q4>rwB7u{ciWzZEKMDpQjcu(OD2(c!tFh)n~Y{d>rMKd zcI%OZ$7cGl$$5p|@V*wKiJx-ygxsvqRBviBnf0wV>vxLgBgrLAt(#n3l7|T2rBiPH z%MbB3zx#$}4aY_TS2|gCeLK63(=^}U_S<;4*3yjE*6)EU&OPh#LUW5v!~b{gn!gMu zKW>-!H`PMT#!ThxD6<*!b8SLODpkq@_-#_>_m*0Kpq@uVIc_(K_7Odh|FRUH!ug#L zN4k3O+v}ph7l+B7tMi0Pr5qksW%C)qw=~Qw=w~g z%7CmsqRAx)dgMiL6W~mYrnS%mKi{gunSnV)W4dtQD`YLXgRK3^SCl{hi_3Q2{!Apr zHHj=C9INGYL>uA#PSfp=um=ZPpC$1V@4e4`*He$&ZgTqhh?eLu)f+T*m{XBwZr^#C z^6wn;;IAHd;8)7O{^|k#^0-mYTR6Q=r_pohQSFSzJ>!43a9*=>`|j88+c>%Y%x$-P zZ`>1)Iwc)}CK{bi&slk*H^wjLYkC174LwXhbCe{R@@j-=yrM?%fIyQ@$wzUum3Jg@ z<=um71A@CXF|}=B`s%y)?4pr+dU|F&1nCuHJf^IU14<_&r89GuKHnapCRypNxq-nUomEW_zy#-K9P!58zAsmZ)| zdS5j!(2_H{L3dw@=36W6%EO3jZJph#RKu9;%$LIJ;M!Ea zp2=+Ut@n0BSDik2GOy|2@~Mw<#`!x4LJe;rtlQ_KK!ob)ir(@s!-&#lzLHCU04 zC*?fN|9VZ5hUMKrdE86|&BUmLJ`PQ&ni)91@JK86wGph%9Y@-1(AiKU~|LFFAJ#bf@N$ ze*&0_w(fNsvCUSYlvs_1D|@MVJA5A(W^L~5{szl7T3vAo);k-p3Gkt|=F*r}+=r^l zXaHJ?xB)a~k7M0*iOU94b;OE61Bzy7#Ib5AUIknyieJ6%_(Ok6hB(RC`}9G%CmgB#e4o<+v869 zqm}^6AZo?Cx<3AZcH;q;bM?kZaN>$}`>F{nM3^%V$1tvD|t=>y7*}w`0n_gFw5&o1bXwNeC+OFSe zVfp^ztt;#&e(oC=>>pm+Cq2((8T8_gr!i};C54I3kjSY!KVeQozJe|crLZ5pw=E8* zD$~EkPU<-aYX7pC1V9Nay< zy7MA?udn{hpD%ouO@8GwTW{Zx;L{sd`&=&H>WyhWvElY=TxI~)%{a)I>zJ}sjh7us z%H5Un2;EX`WWd;2?xqHV?o=&amWrJ;QWhmmrqqqL)@$X1t?U5vjRU@>E!T2@v7KIARBmmr`pfhQzbs%CE(cuc6)B>Woa2BHi3tmaho&e%>!0EN@ z8CwAPn$_r=4D|d3;-173;Vfd_aCO`$TpqhuULk;0Jsws8-K1__^MMn&wuNSZLOL-mgh^UZnR2I)7O1mIIvaL1O631*eVz=C zlXWLHSbzCTa?LOGwxO;QzkK4B`!}$^O(>IV+et~dIy6_E*H*)5+4OH1vms#z=wO1Bulo=beiVbrbIKUM}XBK-rk)ULdqW$*IIyY!xR72jAnVn2 zavdy++!C#-g9Iv8AQ#*nNKOa^hjO-NbdH!JAeGq*C)P(Dsc3_G`k#LyfrK!55s zf+91>j4>OS_hVK@)Wrl+xDoUEy8q_bqW|UuMUtV4JjCO^Sg@v){WJxm-)e*fWgO;L zithQ7(!zP?Dzu%eoHNkhNx-4h5P&K-n$MTk!Rk};tVSv_hH46T|LE$5T`jXq6yy$- zjRdaLm0omwqNX{OHIQIg$~jza;1$RS874tTf1CuM^Jq8^#QV2BT)CkmEBS|4PoA_} z=K;x1POcvIOWBSaDi3cfzWne6(2Tx^Uw)I}W{UBC)dt=lFRp*=#Aa<@duU_2Z(`S4 zbt{dvyC(Y58$<1V+RY~(TfgZu{!e~SdD#D%P1E1Q99mTxeFe<6>zL!rEzF$&*@u~z z7!*9rX?bHszB4J`mzHmIQFStyZ{H}eg+BZkLeTQPwmEXLQ&)(?oif(Q%?Aw)( z8=XC4tK8zC!{Ow0X1(6kX);+x##f^&kjr%z)?^!JGI3giDWWqO_3%mBjYfmfXg8S6 z27}qsXRz^{#@5RVyfCccd6sQdks6%BzwPVRdHOcrbLp*@?z+Jk_jtVCra-sxhFwr` z_m)17F0$HW>TD0hHJs6E)oM-sZnu=Q5RFEWUY4v)o)~+))Y4xV2RbH*$ zV%9s1<|YGt+FcrLlUYZaSW6SD^fWXUX?1f?%)F4J4y|U@ zmoz@*Y=`MCHsxV~CTKu!YozSaF5E!Ur$+0UdvITL)l<)m+abo=^YvXp z>1MKhxyB6P~2x~f6w<4fxSf~{5A ze=92SOLk8xRk}u%)4smvH*>0-HpR;mb0s%O{w;HwS&zF#?ELay-u;>vt~Sj!<0&+m zot&Bgp$$$Ogf^%{q3!c66K+qln#P}sZE#*crDEHrKEeJ4o3SG@xN6%jI@>P??)D3I zraPT)T~ECS&4Rp5_0?dj!Io-44aLhgJ@fTbL%$plryN@+Osqy@WO@5T^B=kWuk%0c_v~xlaKP1E zY<78EP|p7(|I)R0{lm@HCbP+4GHHzBCdbhK9_+k!b^imartj<}rDOl_%I8-N4sYr) z9oX*P={5<1$)$^bY~VTN&(G(&{QhGbJeRxU&vwLT+TA<4{I0f0_xFk8fvyKzT7BJK z_byk|PK-TnkE^eD!@vAnLyW>^DrfakUQ`t^(Nb;2Y~(Daac$+)ZK<%xs+(m~op3m$ z%Bc)4HJWsPs(D9?Rc{YBNdX)8|5EoJ;BB4f+3q5M zTy4_&@7E-aCBpyvJnsPrQk3JQ{jUG|Z3;N!JqPE!^O^TuXG)Kxb!rEh_{#l!qp4PF z?TPi0L4!vDa(Q;|G z*ji_@_s4py+FDa1fB#n|h(oQT_cqlDW?xVru&Pb9yWFv!xZ0|(7XqDIh@71~sGV-e z#F;!Jm3@+}DDb)rmsyy}YF&xg!HCAW>LsKy1eh@40L zHYKV(naE0SrX(5FR=%I4pHp>OTii{S^y3aEFKkFAC9hLw?d`FsZ3d@s=;0J^RH<9K zT6A_nsPWXgbo$O@$LI?EYSz-^Zn1W%o-6%DKW|kVC26!H*{PQ_5pSJf*R2~?tBic= z;X{JcU{f1gnj&VM(<`akJGy+L)A2a7YqU|>dOPwLb19fW=!3Jb0pfIFh_X|3DKu1N z_bnZ3yorbbUt1vZX71P@Hu$}f){~EqP7P1B-9q+#P4n8lADq2~N_zpu#Usr^~$hkW)sEOqBQ=S$a4N;THM{rx4V zs|0I}G)W$T{s3^$Q=|!>P5it!dL`P1J&pxPlbii!?KSJ z42%)-IvMq1UIbO%hLDrXAv;LKxD5URO8bi7U!X8y{2M_J6-$7JvCPZJ2pK;Q3?82^ z1B3v%N12=vr|+t`61NgpvU54AqzSEhRHkc*LFj;|68YX%o`yWYZcr6G0uy~LxY7Y? zC+`Y@IMTt06*ZE*C|-o0CE0TK@Bo%3X>)Z z=7wHyi-oMY7TQ$(MDgZ>r?rpJiN?_L)6cc4%s8k zlcwvgKV#%=*19w9Cf-^4v!A;CcB@AqD)NtC__H^Ryxr=3*wai5h0>2pcl@0@z^>&# zf2PhV8_!&SUFk>jUc1BZ{wW!A@=d(_u-9rezVT;YDEUio*V^p?_ur9wNL|55n#;J0 zjGMVxk@8NTIL5UNBVN zSNJI|#S*<*lt}r@O|%N-(AN%U`vyZj`OW9MSF;6F>g6SYx{IAEp|S z_eY1L(c$ml=RC={WBh^S@NjbJ*_gXj;df<}^7G`MjIwOJ@EVj={*?9o9<-Nta0zah zBVaIZd4tw-p#@{hT3~8$v)Yu4IbAGgDuRPB?`~lMkX`aiYP;n0MHS;Y+ADl$;$ntA z`j2Zi(Z$Y0s32(~AU1XbqD8YvWKKFTOwN%7QcO&McX%REy1aC%cUTPCRo1R(u+k`ABe#$eKrHoI&aya~SMoH0?uh4*ao^d5DJB4Cm6wRA@2J9o0m!f(M z%qi4k4rD#Yuz9=C;aPBZVO*X=8(A>AyEI^*$Z3H487dD1BCA3b3mT?3Nyn&BUQn5% zF)%l{yXZlEEgF)6-=vM6&xccVP2;Q%z|G0&<-E#_*?!$tkpDnnK<5ON0WDS+bTWt{ zO=4tEkWX5CvYp3VzXa+sjbHro;tQId=^o7si(mdCt+ouEkxQAx#4D2Zxlb)+KSh#9 zHd!ovJABzslJ67Mr@m~r+F-)AS?yo`RO#(f=#z;Fn4~8XFOg!2&{`~&;-znFI^x^W zXMuHyr#fayx`W%qakd~Ja-_Q1X9H5Qz^BW}J^`JBeX3RL6JR>jh*M~&i?}VG{m&=s-v&#O^quiScUtOeFh+_U5opf+&nk?pyq61V|(znuVEDp&0pWh{!r1dQqnHQ`~}cbKiKrdZgE$>4i;(5^OY$!!2tdom7FUf6=v zAoa!k9PL!#w#;`zfcM@$a9la-3rOKfkxz;~&0)i`QRHT=4OG29p(3f}PtPIBYXC!aX>qUcB8_y=BluCLlL zzVVA+-TIp15+~z{iK*DqVtrHno((m_HOBD94fSIim`hx1lf7oIusP+}Hkb+Ad+TWb zlShs{IhbZn@v*+LPdt;Uc85|2D8{f%MHg=<-)Kjy-vl-01v+ zJAy;e#;`H4j;}G*I%-@x;)6w@bgu8YFW&V~j*tPtFTQx}2|DkSaptEMuh_NyYhT>x z^99!RhwFGj;x~p(HN<9hIy4*h(C)Cb7@LwV^4ihnz+j8NDn@FG%-=}Q`h)*Y|CW$Y)!1yF9<4rYsT3jg#1C*z(`~!nYK?Z zJ+GMA%5f5OZHaNSbYA#AS2)V@VgbA5FoxPt@$LZn-45)bjXNF%%Nbo(*Fz_;;Y6XW zOc5-w5%T-?6mxql`G7tG$zX$Q=rg>aAz)CB!R$iC_fb7^5yFfh#lfW=?cNW4U~mt} z@;hkXFm9!b_7wD)1>5?GD^PbjdYGPVq>E4fz!2>@PR0hg4!N@I_v1lj=C#G>Q$ULa-u`R#!lH`vUg!XpC8g65W~HLG-8ml8hxPjGGslk zbcZ#@D7Mndk(@1$Oa9VBS0PE{vzMGs)|z{&W{^uxGfTEAK1J5rg#?Clc$V_E&=%|RS7TT!0i@DvF{0L!wS4(~e z%m^`yv4B!GIoD+NP0Hz4PF)4AQ&d?W+X#0Xknay#S&|Hi3f*z$pl z3|xA-%`!ccpYp+svXPeENhOcZS=?M5SWfdNPk?_)Rx;fLOdqV$nb0s8Me~zNjlr^j z1*%L2U_q48dYY8M>OosKg?kCGfA}5Dody4!#B$rO9-Vyk=2Y&nXQm>}di!vEirVp5H0vAs<8nH6f@PAWnYge#CA__8| z6@^JfJFOsnd6``Uv{A3I8X+-ky(C1xy@3!Xph701q=Iaj>Q+z^)vJ(1+O7M@oVDA! z&uV>*{0bB0bg$WL`{<$4*?kuQd`;4lrL$HmoPQ0W++IUGMJT-Hd%2J+bosp)@?-UT z0rI1u)rt6Ce%HI=kg8RHd>Km-d>?{{kMzhIz@4$6hx|%;5i&;~5FVSoW=Xd;l&A70 zP`VpyrTmsF@s3u!+Zt^aSbn#_$~J>{<5X(0W}88iRbW_ zYO$&1mtLbvF4Y$sFMcoA@_V^fyjSD9^hFoJS0SwXnMnmU7GG=)u+G(WUw*}l-fIFo zsPz)vw;G>^e2=f;xD|Z~Tp1~+x*Jv;y3D9m&Qznyu6EIHmEz|hbO#t9(Y2B4hGmL` zV)b+?!n1*xlQ}?;%?>Ql^j0Z$4otMpRCiJpN_6nxbH{5{!4Pn}hJbcd2%;khQh>p_ zJ4o;-abiGz0Q|bCL@?z{;g8eV5T0|8P@N}{q!+Nb(@-qc*g*o_a4G#Y{OX3VA=+~S zaDe`7H+%;nhCjwgFR5k~?8Y+iIO;@D6)Ky|!G0d3&qNEuHT3E@o}w>I98Qqa;FO9! ziHSGE<@A3w{DabT#fGP%zYD)ZWqN0K$cZIXuAqs)FEqj}yWxhY<2&*Fq4q;gFsuea z4a8(5HM@z6zBW`7EyB}_Rm4u~6}SOI-3q;=+9bHZ%ZAjQLHZab5w>WJ)}z7*)RU_L zVeM*3BrXjm{uTX0N)*#!GrNFL@+d(5^8xSS5kyMJ=x)#Li1jNigz6 z;E7hn>kT$Ffw1gGwb2Ig-UgAEM3MfgK-3YHSuKG-+bsziK`rTcy+*Ae@Sj<&(-D&_ zI#gx{ff z#T#|>7bS_lp-(5)$ng4tXc9U)RVvBCH)Jas)$-^ z5qO=bSE=FAdEzij2CZHt@w9hIf>~=4jXZr9-o}f9+E&Yp7RyD5wjWRvVo|9ydg7Hu z+H5A;lEfDhiJ@H(!WzQswJIr~QhBv>P^bixhPSu6Madxw^g-1Qi<4K?+I5;HmD;G% z@wDDW+Kn1Tn}!&zdO>AXiIS#<7wXJ@qNQC&Z51^&f|jS1K`WdJ1{R}%K7mazYXpH8 zHLVt%U$*dOfdH#0?T~_2r8g2;s1W6Cn z&XP_?FQ6~N6GaWnIyGrq_@{NRJ;g%TXLG+l16JZY9(Sa3n~{h zs@Wi#r5ZX0bfiW@tn>%8^o3ls&$)?NVRM*sbG+kF-AUI5Bj@0v+%#8^K?l`CCFg?wih?Nl0a1Ux_pUaJrS!uuNguvVYnENnfBn$sleF-` zCqlGv^NFTMP@?3|fD6T6uW!`9c<#8cZ-d<&8oBp*PPK~bEzYI5KHw)r#EJx3$t8@? z?<_*byS)eteoqlR3e7CnJ^4nyD~*hV`I>MnR!E|&C<&o37GDgr-q-MstoD(w-lsaA zzx?mLa5M6lJ4-N&7O3h=*=oFg-gBv)(q4K&Rseqr;iPx6(rxH3uyO>TX03qL0qqOk zNk%ZECS_tbz#|Pxa;wC(%5p==hNN!qaJG`ILHvFw)KXWnEqRd3jk9^kKa*e7Rk$u` zwcC^&=UbJYrNWwRFXoA!R;C@ycKOCILi|v*3_G0r4amQ7W2CH`W1Q#V>MUk31vM56 zjV(~3(THp@*b9N}Eidp?Cu;$_uuiXdto)8LNVb1PJ0w@+??W4a=Zc@F;$eo?_56Y1 zx6v;}W_!Zmg(I`W2hL}Ct^}FR^W@w-)bD)BN6YYclkD&T1dgPam9o4qdjZ{7Rr$Od z5FHeZyIP{;2+9hdkC`5VWnbwV%($y1RV+zh;nm_|4$mJB)jvWGm7adY<}nz;5XA(I zLl2Qdk3c{aU~VD_(j%p(>7lxo5P))GnbOnrGAIM_Pnqfqf!YWzgq!1K^`S7kOtP)K ztn%|vLdk3A)LF#Ya&u{J9k+?w$GwiIJ)vSD1RyMWtk4|6^m<+L0FLAowp^2Sf z7I4dX%~Tq4pYnZ!sMK4Sr8Wimte6UCEhhmd1|`UZU~xc_LWsy&x_wTI%2#$=2}(*V z1QMY?IC#5i{N}!qVQK5LNABHrlBG{N)ec|x`YQ)?!_)WPcklGDZs5xG-9CrQ6@B(_Hp@9xv9b{S#lbEI0I7wT@ZfmI9wg<{aG%bIsV1a&(t zJ0dR-P8USQ%bFNk#xHg$pwnh$4N4|bA>2wa>WEZ_ST@%#^F~k+Tj7-`A5)jJoQ06e zvg7fYn{S!<=FINhJ8!*t`?t5R+CSm_c5O>*z2MW^)IDLd+hb@D{N8VR!=bvzz5M_3 zezUeE?0wwp{kAu}x|Hzsw`Lxj+3~HJn{V5>dpEuH%H6*X(_1$P4F-?f9PUxu^gf}X zHSGPCxArmbQVrdx^*rVc(L!F|%0gu<6O0k4rK?}T4YM&IWK@3}8Jmbg%!f20T;Avg zJRH4Z$pl{-UA;vY3kOu!E6ktVL+|5B+v}eoq;LJ~+}W1*zwqWW=NADLaq;vIyS?Vu zNn7rr!LxJYL-pS|^URw>&1?xb(7Dlw*vWowl7lde8o>C>Tk7I*%#3S9k77fyAYc}p zpkY~XUi1+btX>SR!68c}j6B2?@H@*A6# zJ@SGvaP3VjHoM@v`WgfCQz`^iD*5aNFs}W=6Hf zTW>XLM`s>8z3re{YKiQ)|IyPk2i2lU)Lg?COtQt8t(OFENh0UHf>fV1T4dAG)HNDf zKz(rL^rQFf-207KM`-im{ae}BJ+ZC(4{r{2urKmsEma*&qGx`VKbKwN=4bt;Egr!n zQNjN2uo<`W>$6M$mFJ(HcqqBO!KmG|No#D_o_uJc??hj9>CvYzM|Q;6+)F3reALI1frDN2 zyBDZ&+iAB8_S2qbmUG5*F1#FcSOFK3SIDlIppx=q0htL_bPwPO%iCcudD1%@20ZQ2 zeuklZFx09{C11+|iC2)V73jq1(lDJ^ z0xVgghb1lrI$<)gAob2mrW#FzHZqd(&`IVcjZq)zgzSf0T+Z77(Ar|nnULt94C~Lt zXNE09m>s`rzkEKqs=WB4XFhQQf0=H;V$>}?yXC66$0h{L(6-F>p`}0bG}ckk^<%n0 zi$PbqYUuiHy9fBO!=E^H=J17IUnjit%s*VW^sLTc8PM^UPoAASHgVzCL)$akhWN3X zV4bhFbQL`}s3RX6*uCv~dbfl3pZdgML32ZOj-ZX};*#7LcbF^KA@6a;(>{?;P-k9u%bb{?uHdyb1uSSb20QM zUQwYS<1a)yNMISv8hRI51$x;N7O=b2KzDh2k@f}Jj|AFdvUXkRf9pEUEKrV$>;kvM z0pevDiq$94QekiDXS9=EfPlM=W$1SyYwFSwx6WQhvOW(=mv1>hXeFl}w_5M3jT<{9sdDmYEQjdgwX{tEKHOKfM#jB`{?Tx(O2=@-?2hpt9; z=Ma?|HgG4DTtIIzr-sE%z^>6o>L9U8ZFjP$ypz>m z7iKF|>AZ2ROl3n>K#+K<6h zt|E*yDnwsV%xQ7bzcrd0j_0l`0uOyARv5h%=Bv>`2vWTRhF{)L9|Ky%g-#bFn|7h+ zbRZ743>QN^%s`AyVJw4aha=j^f+{mcOGe`0;fTj_R!go2S`0yxVEXew3SN%|0d1rC zJLzQD325s2h7iJpjLG@nW;*3%tgnb#v%}xg$LPEE0(4?SPZ|^aLlBnb1w}lPNMk%K zm(E`?M`eCdWp(JGt<74Q0Rh?)0LTSGMQ9M?V!_oJPsSbopiOas(ldN2*{BLQ0#r#? zG0^bF>=?j(pi<5?n>81j(Id) zO*YFq%N&`!Jl=ox*17n7b03xwBMnS9c=va(sIt(&lp4_V&foGaF(v z9VvJJGfhjM*xg>|&1iabBP~|KC!gGXgJE-gdcW%CyGkbx9cp=DZ{?A2|wbI3^ zHY>fYI>yFKXYMPx(_CQ;I@JDR;SkF72&dHyQwssO2@AyME%dfnnC9HVB4)M~^GASv zpqDmCES+nSbA##Jxb-E!y<=<(ghfzo>~l2@UEXPIXd@k@g}yC7`J8VCj6aLFp$kgc zD_4?6~;oTH8U}DP zM514fiP%@)0J+5s1FbKX+gmK`MZSc+lT;x(#lm(Mqvt~qpDX72I!w8t#r$s7Z*n^q zb3>Me{-HiwWMKe52jMff)3UH@=Wbi1KtHQe%Lc(blFs#~a|3DamBFFiefStx$S-RJ@tg|&-Bv;pO{qbfq~t7j_&G-bjnRsb2O_&$<`P- zY~r^UCvLW?#P-l8m08f3R1UKzxOx2e)sH=Y>Zbkyr$u((+N@dbPSV3fR0|^EO&P7$ zZMxAIQvI~_v)iZo{86vf-{kG--SqJ-2Or_MN9xj5EYVdrJs0e-$L? zh6(|%ZHQ|4bV#|B?;#$)Y*gnjpQ^P=Dr>j(YgX&qZ^QS@!TS1x^xuK6^!I;-{=1;; zfB!gXKJHU?KF|$U(Tlp_D(lxIBOX3@@L9a(D_^;w?3ca*mo2@d>{4ANqu5*$+yK>7 zCb?I+!aC^J8{+^*5&&v|yg!K9As~)U#6czLVR+v?i1%#=*=Z`8Q@;UFiE4yORD-L5 zD#>m7GDE-!?Yfq3pd=_3LL*Qn1VFbTrd)3*<~Fdk6P#k>2-QkY=eN+SMuzC**U}2% zr5os0QvjyC=sG&(4GnMD43bZGs|+r(&aM<7eI$Z|0&qO_mBkl2HcVnLz=G8Ald6p! zq74Y^fzY-Lc_b>|nV^RdQEM}P%{Ej!AM}WvC#bQR{DzQ#HeLFW5kdyP$);H(*-sd? zf3D3U5Qvb#uSHLgWHjB*Xl*0Cg=dlBD4Sg-tw0C_vco?@1g*(MzC}2Cxv}I#AQASr z!q2gp`v6AIP%S%yYg#Rfp&2j3mHI6ZJcDL>rX{l2O(m`dSdd2AA>O)m!$uaG_llsi z)OPk5#!%n37DQV&nuTpZYHZjDlBk@~tJIvu6PN(a^--$!n*s^1CjX3Q+zggN}{ z&|st_>rSHW9dk1@@hI>~g(Jp|n~?fI{+zc-ckGR9nKU{?ourau-+KNd&!3s=hx&9Ty9RdD9ITOFS)oziy1VgDLOmq(Puriq zWm9_gwhs(n^>Lr1GquSs+u-iA-+lJ|FZ_I0f8(iL4PEQ5o7vb^I(YbFFS2|&MFtz- zc5sL28aa=3>cni_5wy0OuICe*pxVupC#ZfD16z|4~db)C81*I~va&Eatae6^j)PUIBCT z!NYV4KWNDriUq?#c{6`^Y|5XWw-_snkJ~?WN6zD zCVjvBlBDY%UB3+)dl%wA)yf4|O%rHU$3t|1aMBKPMK>L%oTe#+2?~Zbdf1=N?U(cB zhBRA0Qr*pryoup307ijd9e^f=5ecYdYJl#9xH5Y^uXGs|=wBwmhMkCs&k$0sR*@v= z-Ejx#*}grS?;*0U!O`LT@HaLNP5$jk^6UfmY@X;ETi=!0w>Q(dvGgy`oc?LL`3vi> zyJKDN@qHs{-p!>w;bb zDE^B!DoSKMKy=EWS8SO60h|I{mIrPRBWL6AE`+U4>}FPm!;dguA(Fwnv8O?pedV@6 zd@}HDX8BC@y*Pc&L5{1!w=#21u8!+fa%t)OU_@eOFVl$XtGWv? z!?@7eR?9k0!=*JHU~s~G=@ohgBt9=?1&*IJ+Ll&lMT^<i)8ff$X7eVnt6G zWdHO<^ZiO~J6)oyp6}x^#J9OSrBr*l73@?%RGY*IkC-fwv)z^^b7#^UZj2KWzi~tQ zkI2S!ga!S~OiGLEEHGWJutlGk$CBRMjfqdvRa$!qUy{qYFZy>{VGRgjuV`o_N)kZJqJcP zZ?VvfKI~>cT_Fr$C)ctXr%RXtL+>!|MZyp~3*&Tf#DLbp&p0q44Bc!f2R=nC2)7C# zDBiSUW;a=l&T@7dgxz7KDJ%BPAq$M5s!^4Ce+0Jh}Y$Kar<_RI2 zczf%HBSWA5cIlO^JBM~S^x~H`Uvb6eO$QI2?-Bm-f}cE0-srm7E3%Zjj4a!Mj=TSs^OOS4)@Q7S@zWIvu~EWK47U7C@;m8M`3oH>Z{J zqDn!^g9s|%<5URF1C33gAYi!1!5t0Do3fNu1xww1oY)@!IPoH#`A!YW2Zp{N)UU&IX zTK?PgvJJxzC^1lk3%}z~{j2mn?mCXMB?d(VM3!6%*GY#8klQ82)n^hB8b}I3V9IJ9 zaEMVM0GV2^g1ATtkA<~br@mgO59%zkPFC4@lZos%g-yIew1^tPE7a;eR*w-~t``@* zlW-C6J|1swJ`SYZrH=$7?{Ignb$#immp^Bu+xl91Q~+#1lfOgHI(S-+{+NlktLP0a zx*)x|-l^3>+3>|h?|g@g&|iSxInmrqPBe8VBZU6g#n;nkt?)&#*fBry4vkPr?lO)} z6cC59KE^mQk?5)7yxqhmS|DuNWRtBKgCsgV^?|lTPk&|xpypPGMa{zN$|`mFo2cr62p|};b$1W|4JYL@+^UkmS4K{diMJm5kS*}` zy#d>YvdAEG3O`Aoefnb$*ez|bD^<0z4)vA&2U^*QQ`M!iFT)KUdaLxgmrLjWp|0-l zNguKhkyH4!)HV4)czUw``bKi6r`=TRDcvni3K~3D`Xwv!%Q9^d!!lLy;`<@0R|hK? zfIw7>IxIvh#k6h^b%GqqoVgU>#n^R@8dm^ovNukJ9+f)K%5`3>SOb9@2$$6iZgin* zfH)F5D#1kC)NKjU3si5BkCUIR7sn?t^s@a^o$Z)}du?%O(aBB;_l_;X_Y`GXJsyy7Q;I_c#Ob5C*1 zKhjq$Y*A43yU@erSFK;6=v9 zk&U=8wR;bmDf$i}#{T%!71bE~UDgGIFA#x4J@P9mbt~5~GPd!(Anvp3tyFFTEBAj2 zhCe$udqtqp+m@Uf|0vNt{dDP9rEivg^)&g}{}?*|P1~OA>Dg|#HRw!73x8cWdbF@q z|K9NW2}j=Hgxl#l;^(;9WzH+18QlcxGOU+PLL)!g6HrhPWr^yF3qRnj8Fa5+= zC+cKb{Ay`V)L4yHJ|v_~R=2FtmAVe{W_!)~+uXe5wFu!WiQZgZyU@S3gS(H*%|!F9 zgJ=~0Tw|7?kXE3_|gC#(<_Fzpfuq)pG0Qh32-&DfB`qISUY?&4G9U zVR9@g2MmU)a!efLh>=yhC^j*gKLiE`0iQ1Vpt}SKf{)Y@x}>yo?~ol|{2(!&`;?#9 zjCw=Y?%vUxBWj1Jm#uoyp^n^i-%Yq{m2vmx(cax%2EEZnASZw7@RWbh|Kzuy#J$!w z{zZv@g~<0!KmOwfc*$tfb#!d**EOkRS=FTL-(0=j(V?>~{RGs<*wj>vAJyxZUOoEc zlalHn96QLf7$6ppR!gPR1efC8$3cL8TahseK?ItwlIPij<}feffx9XUOfd!`q>1H{ z79=E#fInfiMn@ z_(@M#q+QBkW>I71Ff)ku;n7>Z1i0%EWJY^zDa&&tQu^+!#CqzV8qHLanGG*tZ=UZF ze^y~Of7{1rA^xX?0cO}wMTTcF&h6(O;c^Yg=ddqI2YO-O79{@INxR`jCb3*rm88C# zR>MrOuzLnN?e0lhXof8*RE#-5>n6c5-}`R)6-o4lqaFPla7CE`3O#qm%*5cF9u|}a zT6^XWx`^zPU)FMlSYl*GSvb(#0AeGrt|m?hAaWb>1C;*(z(mT9!Jw{qHyXmh2-Ile zn<^$k#Fq{ciMCirjjJvJ$GW|-8z#E0d+N$9`ZoPXAAR(r^lQtN8*ksz-oEAbh{xueNI>Is z#1vVFajbi2uic5-g|=9*Vt$U*sf`r0R-{w}+P_#7LWyG-N*rsa=Nb@(x}gaiLdhso zJhVU@$EEWPu?mVUQhdgjaiwXWEXV6D<4&*Q2M%gU2KacTS?oyjHlx8%`jXaWlx9~F z_P#w&$2Vt!;x^+V26oUt9o^;IVS6P3uWgwZ6=S)Rfa#0T+u(;n6e>UD#B{Jw(QbsX z>r&K6FUE#8L!e$U*9u20479&XqVKFhh<+fn%~`B@y%l7a4nKe-SU3lA>p}N>_b_k* zv5m15VO$%PEN41Fe(**J5dSz4`ZioXceds3=am3)p3{<9`g-JYoz-*>U;iASli&TL zRK4+a()P!X44$2v7;N~?y%07|_L#J#c`Yq%Fqo_a>$Ws+TU{qvrA`{ahR-&eDnahh z4VLSMs^F5hg6rok&sPNtvO`!LR4<1bY6n^ay$0$=&Kt3A8k#@|gxJrROzX&s*i%O9 zd#EF4-*Sq3IWV-5cAZPtQB~Ez`_ta=N!=yu=%XfUX&!?W>G(52_0r-7W&T1ey=iVY zH_QEmE0`h5vpGo@)Tv@_H>{itS)73NoGZf=K-R`ix_Daht%OCGt;QKYV9CYd0HZpH zV?P7Drp?9tL0Ws;z(S!h(W=@hFQ~Lg9+E$>SGK-vmc4C)*6o)UT%J)CGtmMJ zhpLXCV}!xJ1B|FIMF%p#FshWpA!VJe+7E^jkYdepKj?@q^Uqq9q#k{9@6l0b@A{MT zCpV<#dhNDLt1~X^p_SCh)lGIwa2dEvE_eO7O)U9hswA#%3Za91A=q(RC z@Nt#^soeF=GLAL0HTcM1dYKzMQE`KJ>dOEu<9fghM=!VmAaJxcy2d*rvbA7u&wyhi0br6HLuuer zMp0nWPFuYzk?!BP%mop1VHhAzv2>vLx*13cx)j-P0w`YxJJUfFcsG?=wu`=|fhx+q zphu;X`vU-6;%|7BXkKmb!*-xw)~P(fA3X<$(i^b-O1~*RRQk7@8X!$$OxxFkUG6Tli7coK!7ylGiH}KNM;mffth&!tU$lc zbEi*B9Lr-oPnG5D+gXV_z5l}E{?lc@QRW_6HH;c}*ig{6zqUlg7;n!moNnidi&wh(}M5xt3l6i7LoOaW89t$Q_9A9xi*Zup5d$2|du;s_+Q+=~0OIAZnb1&CQhvwKWa1A}sUXx77P64u&{IiokT_6cAeF&tD)ZjJ z=i1wRmfWl}l>Wj{H?Lyp4qvCL&iO2)JBS?SHdKYXn%3OBrp`dp1|4Uw^f5D6NBh|T zU0E*UuIBFGKEyrEeU^KTD{_C&{eoK}Mp8%G$pB_NuV&J%WL?XCTapp{z&k^?k^h_f zQ^nUJB+)Lb7x$km6<$hTn6_ufJ$?@T+ zSU-N(ks|%J@=X00AaTdae5yJUNGe(z`5*4>fU7_!96E=Q%o@G=9XcD8=oIx1m;Jqa zU3T^6+GT%Rzg>i32Lw>`iO#VHE%#M1i-&y|=6_3P_&;l&{}61=&Ms$?vF!_)wMv)X zLx+Ddv8ib8U>wx6R)A~2juH{Ln0Ofd4FdNM2H>~{Ok1?5qFsdU^^dWL#BPkA?Pk%lD}<00!LtxKi>%!h_a5|mM`aK&t73#CD}#Xc ze{MOt)?@pcE#ra6TAaKV%Tcvi&&Npi6DG}{t9j=1BQH@+9fPdT!SY$zB<%DbCW2I^ z$R}Qe{0T^2S=LTKLg|0l_xB4!)dEvWdN1wDpzv!d#=_c+jh`r6LGPJd+ zWZE19qir0L@)ktBV;yK4LrmM)yh_`sE9SamplbBjfvN$DKj!k)F=BuYOfeg9HEAMD z0l}=}C}<)XdU`z)wY{4r@*XPOwn|&^QSp|{&NFRg{=)3qRf~u$Le_T)CFT;f$op36 zHVQt1nB{tb8v?cEC|0093N;yH@FNSP*3aSsjmQsaS`IN;*qh`& zB*w*=%5y2dj|K z;Ti`gFZsG_9p)dusBPg5;K9~7jB_^aU;GW&j`bW+FJTO+30#n1vdo)^4CeSsIO%)p zW|!(u@O!l1@H4A_PePiH%I^vAd)@E7`#gTh4nep{Vie;7^oKf}8RR(n73mK<5%0!G zf6tsQzutT66=dd84Gq87PJizP_Ip-@t%yn?ax9$QwpoaHdFs}@Bl%!7=eL7EXSMc(R&`}y19ZD*3AwS zzIZg-HYhC6IE@?1-tz!DWOcVSUQMrH72n2vA0S1?Z+N_yY#)cFT$Dr8a?=!QlP?voyAzJ5$>SE43vpO z3RMqcTy-MGUzkoGqgdayAgvW_$P;eUQ@yg*l5b?l{mEh>iLQfWyEX!l75Q2lZ3107 zKLFt&ZAw!N@>S*pRUJcuS(e>?TLFmiMd2hfceW>d4$SGL?DRI) zLVpC#_9vD4@qj8}P3QX?Wnd*)Isch>Ft-434AZty#)JBK_W~!U34M)=DnrO#>O_WM zbu498SH~reL-mxot``wk1|oi2xGunqBrc5Uw-pzfZQxgFDK50*MprSXhM4$;0YOc7 z*CCL8-7@5i-;ztiW|EGL;b=|^V`D)wYH3+g%n?|`7M!>%7r`Uo#F0~r{*Q%FL#-yF z#43f*9TGvH(S=krQi;1u6&Lz&cc_S2!A32_+k!8!jR3r)7dMZ?0kaMCIrh0A)XV*T}0MuM3O)EC+` z2AsCQ9aYR5akZ;gcrD>TLs1tmoY%R931oGlSN$N%NC z$-4xzL2a;@Wl0JQ9=z_OPaQl5$u695RRT%@(r)SMd;j7OOFvdOdbG0LtPQ9}Q&-NP z+R@!$02E#uP7h^HZjK95O?!gd%{{7E8|sUYBE2)78v|ripfOD03~Gtx`dC*dxji^* zFp|b$3`fpwv_L*D1a53+E_r7$zn6B>jX-2Is7M zShJ?8?fYuuC!Rb0__H5AeeAj8@!IE_3j)d$+x??cT=@ zW*)e)>Qn@sKF_w2s;1&3bmcwv5e`{?NQl^@mXm!0;gom|0+%yu}r zXwk9-owmJ#hRMRFaK1*R+k~AeuWe=tnO+&0&$WKW^VcHhnyaE26^P-rWQbrTobmL2 zlG%Tnp9eeEdAgPD35yskyHp9NJtr)}Ss!x=pWYA0c`SoPxH7(&`V@VyIx2^bakp@V zT6nW=%*Jm7(pr$+v}jydhHzu>Y;BcS3@|;)#1i!F2-%iztH;F#!VtshTma~BxO}FY z_A`4uowl@L1kufP%5=qE_3{{yjF2qEM6ebxd^@?S4s3QLiihwqta-LR0mT+y4j0&8>gNpSNNs5{9em4nPljj%1`#hx|SeL78zN^F6G}v4E zNOJ7-Uy#1!*nFkpE(n3P26Egf2O#i7Md{&pjTdKYiGv8LF-Fexkik} z8S_v(EvM$}#xPeIg<;x9gZ75y$<_{FC`hKoa5Q{!<*HSRMnoN;S9V>O!QzbgF|`AfENtQHbK z2iIM-e4po7hDwp%fZk^M(4lEhjV0>7<-;E)zh+kKwd(n!%k|ua%kuwFJ@>?wdJcv< zyQ=HC73;YR7IQV%mV{FwId7*kWxfFx_1~es>9hyTAVA#7qQvRMdCTij7gxym(~DBrbKeTUFz^uTg`2T@O@I#YKX#LrlzzI&?b8xYvN zF;ti;%(0CS^j)rXjP-5-(TLVMtT0KCdZ4PYq8oxx(MCIpJ(1{ps$gpw$d}FwW%;J* zJ=SZ`!vai}=%?bPd2iLZ^a`q&I;d0%N8g>ZaDm2908sDV zgD<5F4O1pvAZ@P;+1E*1>GjtaAN$c`i?5%snij35tjWqyfy$f0BEF_lL2cv(xTLhZ z^m;Z+7FQR>O(qS#q*RW%;zu!aHmZ#SZ|n%Sh1Pc+OSK_kEi7xYp>xp6l-aRFex#K?^g-?|BN`R^8Es$t&;p2po+TKeyrXn;w1! z4%=Aw{M^cP?7Xjy-l!HkFau}+uVfFVfQ(!6)A~qmS24HClHacf4$0ghOa3U`y0)0R z){=i8-MX!qyUmi%(ycSa+!;&$gLLb0IyY9SYv6SYOqaYV$6kn;08=~^wX$}OS&Ba3JW@x`oAQ+^J`Y=H7!D6xBUvN)tYba0AYJLC0h%bjT7Jl z^lzctliPMO-`H~CYIP`G3Ny0H=yonf3BjNbA+=d#7?&k~2hvc2+o6O487KjhvEhxmUE*d399;9$yj(jZx^_P~-9 zvP$Cn0w#aGcXzK=V|(~IbF;hF$%ThE9{`Hu%o&a zCW;Fq6DbYqHz%<>4F|tS6DDSIklwI;G&?v(jCyuXZm`=8vbv#Rw}7dC-IZX!Y&6~l2nC~R94W^ zrjwj>kCy#Co3Oa>(l`F@#m~G>vbL*UI&QPKcHR8hfBlHvCiNI&whm8Qpv~#>ki`%G z{Kfm*{l9n9&YBi2SH5|z`m357OW*HJYE`ew`~UQP?dMcl!KSxrI(_U;n?lw*~6 zMmiU?zw@|yM*IanS9)#Fq?R8f4InX7g(V6hGs#zag`Y{2Aw<(#SZ6j73z^&=(7O0^>?=qT@;(%jsFP zZ@5?pcfj#*qc#ExUcN(52ZGgESC0~MSkAXb(S(n75+I``D!Yp~6i%QfcGN+i$|>7T zg3`mSkPKNaW8=BHmQd*ihUqGa$l8-D(C zL$ja!CpozEi-s4-q2cJ;30*%KW;hr;=45c3llHk_Hzt+2;JMiJ4Uqb3oz*UJMoX>L ztkx}M<*=l4)-EkN`P#Oyj?b!XrWV_IF2G9xC!eYCC})vhJxR5v4|9bGj4~gl64%5E zk#1<|NRak`PE1r5!3Ize5%ylx(!+9$0M|gr8{o-|Qwcv-=!nDF4hZCrGkHH11LJ`! zR_0x*LuMvWxbiJ=I*1e9>2$79&Y9`7+6g9sIN(5wa?YjT0rxG33;I)Z48bsy<7I2T zgH5TJIETUGTH?3)<#N=HF!L+g;kDXdS4Hw%n8#=y+Tb%wpKa%7g!xK%&#$#wTKrcR zKD#31N0_xPJw*#=`5DCyr{r=n#EDlp2E`pKV)R_06L!W?9~y}w83_ZRpyP<@JN>Bd z2ztzYHOC3xk-@1Tg6J4X{X!(?u$y6U`Q{zjt6TvtF?Q7}Wjilmw^l)QTh+s_9F~ssq3p zY$A0;N$D(W1pF!x$wXUQ;^h3vL|gaa)Vhh*kgV+T=SI(DXK-g0ZNu!3--utC#2&Yh zaPLWg#h-4M%$^3>-Q3#0rTXBTcLgKi!7&dzbTi&U+=yR)%IwC>F95z^J=IFPxnZhP z9pi4|?&1EJDF%bvO8r*6Il)iGUys$*@v zeIuje+o8nW0xjMcnA!q6p4(_~gVWV;u%RnVBfld4@C^5(b#DLBU~3`vmq~ml`eIDOtYp-pJ{pO zLhL=oBF^N$)e+K%B+WeOoPPH1Z4IFfZK0M_jpZ$~u8f!f|^Yo^Y<*P^-O!jW?M8fMq#VLhnl zI=GEo!K>hl+hX8GGhtLkfR33cX1_MXz&jp_6>JjvWoxvNf@G_t!|Gx{lcKOtu&~a7 zik~sQESK3XBB98jtB?TM1jd6wtaq@AlMpBVw=|{a1 zixA@qb?`0#WbdowHWe4#YQWd9AjgY24&la{7)1F2n_&>23ebDtsY0tC^B`%4INWC9 zB_VjK5aFwzQNl-G;@AtEgD?1?&qceJRFaN!job!0Lm^vct|kutMrRCi#BAufk%7@p z(kQC{=$7pOOo_A@t#1IA%1ErxnugkL4ba*ii{;W5gsg}%nv5|*ryfCPFgoh$VcO5g zxj;Iv0ef57mQ$zQ)I`dQfza^&jP9^$U;vFXE zF;DZ%v1{(@8s9yU5`K2)Qb`b>Cjnx4;U{8HYtR~6fAT`Q=nr;<^tJn&>(2$Od}_E;wW{>)jXV_7ZHL5;!uw#9ck^ z6}h&S#>R2)1^7;qGSB6YaQ!~YeT*w?gkQTn4$6F2aiOgXl=*)8k%h< zSk49MM4j45j}1=k+4ui4_a0zwRoB|^*{7)M=oGb)G#YhHl{~7`N8>5>*kgO#yFKm= zu(1uM*&d7uH9#m1fe;)5Ap{a6jU7TsG6^LOrN_Csmn7sS;ii*zFU@oO@3oIKo*5gG z`+VQ?{2zFZPT5D=eXq6lTJH<@I>f^83f!)ZSU_D0t=cRCzXYi20CrIUDduScnw!bm zU?UhvDUyjYF)abj4F-Vq+ZNFBG}$FSk7rE4HdN_7jsnpDT@z+bY#a{9ykYN^%ZD!s z)&-Y!=6;JcSq?dajZOB}=HZ4VYgaF-8*J(eU*N4!?oP$r9Ul!}fJw4}q0 zSB?;n1Ls11+^F$N&?&gK72-h6YS7~*Gdb{CV>1Z0jR~xDYE2e_300H?GBr~^suNYt zwYG{-L#X`H5eocRd_)BD5#ziTNPmH%@25Xir|t=|rXcF43cdjm-Y+O`zd(Um71a_9|4PL=w5k&j9`R-a3xYt`JR;8gTS z)hFqWZ9DctC11I|j88xjyp90Yz<}wI!<9(Hkbn&GS&(!+)lJf;+SMVl+5ti;RjrS!gjf^OIdxy%GKro5@iV}*q`DYXm&n>b1>~!&G*6x-r|&3)XGAK@BuE=d zjc%Boo4o<4AEV%W_%1$T8S&jw2qLZ+#+WJRxM@;DBj9#9q8^7*?-92}mQpDzd_)X? z{rowZR~Ta7c%AB_hNwFza5QKo{Bd&<#afYAoMz!MQ7h#Apv>Vy55)=V=z@4Ybtd0b z8Z$JdbP!E6HjkWGN-8r|oeEk%0D%8GQ!Ai?6y^fVUY%4hi>cI9O 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
KT23~?3Dw&p)A=062yj$!;@;Sv13 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 + + + + + Query + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+ + +
+ + + diff --git a/docs/graphs/classes.svg b/docs/graphs/classes.svg new file mode 100644 index 0000000..9da8ee3 --- /dev/null +++ b/docs/graphs/classes.svg @@ -0,0 +1,325 @@ + + + + + + +G + +cluster_Global + +Global + +cluster_\Query + +Query + +cluster_\Query\Drivers + +Drivers + +cluster_\Query\Drivers\Firebird + +Firebird + +cluster_\Query\Drivers\Mysql + +Mysql + +cluster_\Query\Drivers\Pgsql + +Pgsql + +cluster_\Query\Drivers\Sqlite + +Sqlite + + +\\Query\\Drivers\\Firebird\\Driver + +Driver + + +\\Query\\Drivers\\AbstractDriver + +«abstract» +AbstractDriver + + +\\Query\\Drivers\\Firebird\\Driver->\\Query\\Drivers\\AbstractDriver + + + + +\\Query\\Drivers\\DriverInterface + +DriverInterface + + +\\Query\\Drivers\\Firebird\\Driver->\\Query\\Drivers\\DriverInterface + + + + +\\Query\\Drivers\\Firebird\\Result + +Result + + +\\Query\\Drivers\\PDOStatementInterface + +PDOStatementInterface + + +\\Query\\Drivers\\Firebird\\Result->\\Query\\Drivers\\PDOStatementInterface + + + + +\\PDOStatement + +\PDOStatement + + +\\Query\\Drivers\\Firebird\\Result->\\PDOStatement + + + + +\\Query\\Drivers\\Firebird\\SQL + +SQL + + +\\Query\\Drivers\\AbstractSQL + +«abstract» +AbstractSQL + + +\\Query\\Drivers\\Firebird\\SQL->\\Query\\Drivers\\AbstractSQL + + + + +\\Query\\Drivers\\Firebird\\Util + +Util + + +\\Query\\Drivers\\AbstractUtil + +«abstract» +AbstractUtil + + +\\Query\\Drivers\\Firebird\\Util->\\Query\\Drivers\\AbstractUtil + + + + +\\Query\\Drivers\\Mysql\\Driver + +Driver + + +\\Query\\Drivers\\Mysql\\Driver->\\Query\\Drivers\\AbstractDriver + + + + +\\Query\\Drivers\\Mysql\\Driver->\\Query\\Drivers\\DriverInterface + + + + +\\Query\\Drivers\\Mysql\\SQL + +SQL + + +\\Query\\Drivers\\Mysql\\SQL->\\Query\\Drivers\\AbstractSQL + + + + +\\Query\\Drivers\\Mysql\\Util + +Util + + +\\Query\\Drivers\\Mysql\\Util->\\Query\\Drivers\\AbstractUtil + + + + +\\Query\\Drivers\\Pgsql\\Driver + +Driver + + +\\Query\\Drivers\\Pgsql\\Driver->\\Query\\Drivers\\AbstractDriver + + + + +\\Query\\Drivers\\Pgsql\\Driver->\\Query\\Drivers\\DriverInterface + + + + + +\\Query\\Drivers\\Pgsql\\SQL + +SQL + + +\\Query\\Drivers\\Pgsql\\SQL->\\Query\\Drivers\\AbstractSQL + + + + +\\Query\\Drivers\\Pgsql\\Util + +Util + + +\\Query\\Drivers\\Pgsql\\Util->\\Query\\Drivers\\AbstractUtil + + + + +\\Query\\Drivers\\Sqlite\\Driver + +Driver + + +\\Query\\Drivers\\Sqlite\\Driver->\\Query\\Drivers\\AbstractDriver + + + + +\\Query\\Drivers\\Sqlite\\Driver->\\Query\\Drivers\\DriverInterface + + + +\\Query\\Drivers\\Sqlite\\SQL + +SQL + + +\\Query\\Drivers\\Sqlite\\SQL->\\Query\\Drivers\\AbstractSQL + + + + +\\Query\\Drivers\\Sqlite\\Util + +Util + + +\\Query\\Drivers\\Sqlite\\Util->\\Query\\Drivers\\AbstractUtil + + + + +\\Query\\Drivers\\SQLInterface + +SQLInterface + + +\\Query\\Drivers\\AbstractSQL->\\Query\\Drivers\\SQLInterface + + + + +\\Query\\Drivers\\AbstractDriver->\\Query\\Drivers\\DriverInterface + + + + +\\PDO + +\PDO + + +\\Query\\Drivers\\AbstractDriver->\\PDO + + + + +\\Query\\Drivers\\PDOInterface + +PDOInterface + + +\\Query\\Drivers\\DriverInterface->\\Query\\Drivers\\PDOInterface + + + + +\\Query\\State + +State + + +\\Query\\DriverFactory + +DriverFactory + + +\\Query\\AbstractQueryBuilder + +«abstract» +AbstractQueryBuilder + + +\\Query\\BadDBDriverException + +BadDBDriverException + + +\\InvalidArgumentException + +\InvalidArgumentException + + +\\Query\\BadDBDriverException->\\InvalidArgumentException + + + + +\\Query\\ConnectionManager + +ConnectionManager + + +\\Query\\QueryParser + +QueryParser + + +\\Query\\QueryBuilder + +QueryBuilder + + +\\Query\\QueryBuilder->\\Query\\AbstractQueryBuilder + + + + +\\Query\\QueryBuilderInterface + +QueryBuilderInterface + + +\\Query\\QueryBuilder->\\Query\\QueryBuilderInterface + + + + + diff --git a/docs/images/apple-touch-icon-114x114.png b/docs/images/apple-touch-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..1506f6a668fbb2837c06b561895da248c310ac53 GIT binary patch literal 28338 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�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 literal 0 HcmV?d00001 diff --git a/docs/images/apple-touch-icon.png b/docs/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2d320cb5e1215894ef37cf8c6fd7a0085eba06f3 GIT binary patch literal 8358 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 wL_t(~-_WJ?-=+ur&Wb?T{fR{S|9$9x0o_ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9575ac8f5be939dfdba64bf595be644d900f55ec GIT binary patch literal 1150 zcmb7@T})eL7{^OAdSkNPDABB~f}pG$@MxMIpqW7mIX;E^75S4MuOE;bUjQn_}Q21AftSU z6k~||rZAd@Fh@Xhb=BXDCE*8YG7?-JRj5suW1Qf!HkqW7@xu!$_iExwPFSsJ9+KE?NUAM))E z6xydTc$U#SViedH_U78S|A2y~DCx#-(v$$H`4$dn?PQhqqi-4`G_s7vHHlVwl(t1q zPQFK-`)yuqk7H=Pg5~8mY4w~ZN7lJ4funnYpCmsKejmm0 zI^W5@)HSc7sq7`Q*oDs2A?z?EjxaaHYfEpO8h@OE@;-jJvB9RWUtC?ogo`hvUUopeH2@VsCs3J64wOs3hABt1amM>Q}7*8oO&6(;~#MAZ>a5atT{#k<_C;QeW_4mAtO^GM3?S@9^N?*dhxFqXh2S_1RZKS!-Min;3o4boTRiI9=4DG*+DTTXE}DUtoZ LNHCv2rc(U_{c|km literal 0 HcmV?d00001 diff --git a/docs/images/hierarchy-item.png b/docs/images/hierarchy-item.png new file mode 100644 index 0000000000000000000000000000000000000000..c7756e75ac9fc933cbd3b26d0f2817d33857d15b GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+o!2~3GGZMc6Ddu7)&kzm{j@u9Y9{{-mC9V-A z!TD(=<%vb948a+tB_*jv$xRnHfpQ(5E{-7@=aWs$%+eI33=AhQX#}3tTDL~=wC|Fv zu%{hu$0B^+IX=i!aWC8~w073*RaN&Uv6)APHLbdN<3>b%>>TUAi;C*}O=q!*m27po z*1LM!!3v?DGncuq?yGJ6C|P)9&kpBM|CRr~zT5MTS-)Pmq&#hz+O8m*w9T6~{rmTK i_6>m}i>4eazx`$b{PnHj4|Gm%darcLQk;o* zf#$tx=CVf?b@LflRVgT`A4r>)ny*wOfBfV0Re8*{>=Tw{&Jvb7&^=Rj=FL?dSI+o+ zj+wDu!1bbDfvS@D-MsHb)4DtUth5UMD^ajC=%tzbteK)-Y1>$NqSuB6eNo_^)WOrR zY1Opp)8-WOJ21tpe#PamG$?X)*y`7bP0l+XkK@Tjds literal 0 HcmV?d00001 diff --git a/docs/images/icon-class.svg b/docs/images/icon-class.svg new file mode 100644 index 0000000..7dacd0c --- /dev/null +++ b/docs/images/icon-class.svg @@ -0,0 +1,77 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/docs/images/icon-interface-13x13.png b/docs/images/icon-interface-13x13.png new file mode 100644 index 0000000000000000000000000000000000000000..aa24fa96a487f029b3d4ce8c94d363450d4d17f2 GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2?f#ZI0f96(URkK{-HEu#$20vdnjmCqCCqTlR9{ z``_NTxAhrHntD@-v|F+sFBiRXjpPCa_N + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/docs/images/icon-trait-13x13.png b/docs/images/icon-trait-13x13.png new file mode 100644 index 0000000000000000000000000000000000000000..3c2792b1b1bd6b2ffed9fa34e05db2b7405c1503 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2?f#ZI0f96(URkpP3?N+}ye3 zderN?20Z@Of&3c#Z@=H~WO&R%^mySNk6l@_p4G1U|05->KS%sy!2_jpLKim9y=2w0 eH#6MfJFD7!kJZ`Qj1oZ4F?hQAxvX + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/docs/images/iviewer/grab.cur b/docs/images/iviewer/grab.cur new file mode 100644 index 0000000000000000000000000000000000000000..ef540be09383a215ba21287683ae956b74a6dbbf GIT binary patch literal 1150 zcmeHEF%H8Z3_L;+LM2k9N*yv~>~H#wK9i4B>Jy?)*;1Rr5Mf~HSVzWizBA$iDEg)e zv@Up@fGdC-B|(IIaVjw`XMnR4do4(}ceLED$#?I4PhZt?V;F{(zNyX4aU6>oTI<~I zR%1+|Z@pO>D9unx@mz^sV2R6KAHrH&a3w(Uah_+1dcf$ic$W0J$AsEGc`x}F-{G8# oT0W#ZA~$;zN&n?%4r~@-v(K$0B;Q#;t literal 0 HcmV?d00001 diff --git a/docs/images/iviewer/hand.cur b/docs/images/iviewer/hand.cur new file mode 100644 index 0000000000000000000000000000000000000000..1a5bafb5263fd4937dda4098b04aa5c70e2de924 GIT binary patch literal 1150 zcma)3OKyWe4E694LIn}22q6~8?0U4`qB$BzVUYuLnN^5A#g-vqrbZ8co}UNC0FIu^ z1?Y|NodI+J@I{~!RsQPaynTKEFe0{|*)R-iM9cJuPktQ*F&}vmxJX7;nU}sFz|xzG*A)o1}vy~Np8!oh{{D) z3FWrSE(G-lOIo^%@l%Jh z7d(bKZD(=f(+rDu3Ibk!p~fAzvAEw(G5oFaf>VGX;I$X`=G^#MhKzfwaaX++^R_aG z{23g@-KfbsV!rlS8y~jNpC$Q98001E5Sq?VpxukSs-?)+t$^aeGL+RsprA4wk<#_> z_+u(WTiH*vZ^%;_bKH_BUEq}jd#?-l#9J=q_v{?VaI4}Q9JQ|FoaxO4M#r~&(9l-@ga5_qddH0^Pp)3D%%13U()$KPZ9mfuKHeN zh|FV%AcKd9$Xte~JpHr7ISdEsS=dbylRpV}b%EG*(H$Zm7BrYE89CoGzCv2mgg*7U?}T-eQj1 z{ctQepE}YD%L6}S{pbtWcxoXGX*qRvIs~7NleuJ1rI2sTU9}wgEO}#naM{Mwl$wh8u zCnBy@;!tLlFk2ANZy*yRh*u1IjEu7sgd^u~j?-pP>cuPS5S69F5h60HO2`84nde#W zyHhV;*NN!tY8*EZeXCkX$LB3TNWEh+HIj>(aWc0CrwBgBQY@5_fO(q}ggUVHfHYwh z33cBmty=DP=A9=gECUXndMm_NP*e}Z-LCDyS)!}~n7b*S3$R(WUj{y!TOYyebROJ- zFF$p&>5+Q7DfKeS+K_mst_KprM8H(Hy%~al3{|Z#A5JZTYe-7!V4F>!)KgSFrn=vN z3kCIkDE(K!G*^RwzlwE`Dy#7rUC1u2#kz=0tng2mHP|cZPQ4qN4qPSy<|wW2D5KC{MlR z;>)=A5V)!Cz;#udS#FfKqnHHD=_R1Ptpjzf{nOgnDXf!ZtKqUo3Ky}YM}T&xUI8_p z+{#DD)pj7q40-gM-UA6eVt~J6Ck37*j6+@9f{jOSVfEgWC}V(*7I~i&Dx8uU4S&P_ z;3=qW>uyHVjD_fF#+pz$KVvi(@T$|6gmQ;1NkX6Jb)Y}^@BGWy!Sjrgf9<#ho=bDz zCj-9w{fH|?2J}+O500000NkvXXu0mjf*RRDb literal 0 HcmV?d00001 diff --git a/docs/images/iviewer/iviewer.rotate_right.png b/docs/images/iviewer/iviewer.rotate_right.png new file mode 100644 index 0000000000000000000000000000000000000000..7a6c829871d058af5a5ca0ac67256c259f84c5ac GIT binary patch literal 1482 zcmV;*1vUDKP)W@q8L24va@vW@P7*!=(&yIADtgIo?`IW@@z#oP%kAO5~e4>aSvdau$keO zelrxe7h>a?XEPGL-8ZvUK7S5JxO_SC%cam%h9U3nOynA8Bd1~p@(p_slER=;FN42~ zVT$Cx%L&IBfqkNPU0Q$wV<=M8^Ktsd`-seX8%Hx4(Mza9RSeQph6Cvg*A2_?bs*!Z zJm9Mh7vz)H#bKgf96Z*=%6lrx!F>}8+<9p(ZW^~EGIuaSuQBYWfCsY}!gCl75#iYs zn4X1YwmkE{L{qbYU7_|vC;44Kc>_>d53G;Ofy>H6K72&Q1n)K0hYkOJ{}5yueQ_kO zAEZ3kO@`uTdQ^;QD4P$Xc-46$f7y>g|g44T+ z#BgE=@!>Z#-vKoL6Wa&pE*R*#HWno`0s)tGNL1G$LZyexFDGPt0qahH^Hl0tOywX% zlsY1!jA8k4hEa>zCTrlAtqC<~Car`X>shKzaMo5pP+|!}lx4#8x7#jb=yVHAyecTTC4J8t z#9H#H1x)ab5$qRn{T_~Gwh%$&8k>4#Nl^>etY1&RH*c@JV*VdWES08K(6hJ3ua1F+ z1Vqx@pUkersqB_Ip|BQ5mEtYg?Pld26u-(ZDhIXZN8p8vpywZqUmXq21K`XJ6VBRD zSPjgUh_hsuo0Zq@#H52sg=lQDK%p}U0=)MqxPXrz3y|HcLaYr6jTyT{TGH;2&kl$g zvn(tPnZ+iUo13A~-oxKTMnQmAi+~YaKrsopkYC+_iv!`6FZ*8at59p?CSTLD^ce@1hVDp0-#Q zq7i&EGSIAWEAo-(3@vR~e8qHMf3DS%&Pzg-H4FABh2HRK5QhTu_A0SBL~)<~@sXQv zl!l*(`MH4my)*cGH#$9gu8S$5cCU4I9uNy}^C|I;^|0b5vYngtVB^%;d7vlsx1OAw ktS2S0?VM~5JkO{63m1~IVD>3BuK)l507*qoM6N<$f)6RO6951J literal 0 HcmV?d00001 diff --git a/docs/images/iviewer/iviewer.zoom_fit.png b/docs/images/iviewer/iviewer.zoom_fit.png new file mode 100644 index 0000000000000000000000000000000000000000..364e01d90eae19584713851314629f2468198e9e GIT binary patch literal 1252 zcmbVMZD`zN9M7nO!F>6)Qu>rmKTa$KDx31r-tX6e<%`(6Krd_QfiW`8t`1_@uq7ekl83AbH+? zzu*7$$#_?1`>KY!8VG_|C2bSZcx-mx`sMihAai~i59?7fi@MD`D#97s?^ptvbD@%0UaWlEb9Y?!POak>Kac>j_lvC`$F%JGkXW>_ZEGx zJom!Kv#(7V2O9tK-kSZb!BUHpo@HF_;W5I?7`%^kn|fV6LyKC%38?;(5V z!PU9ZKS#&d``e%Ktf-E%=q0M&EZqyy}ir$_H&JcW2fJ{{PgiX z8-IUUIXQgrq&9v}_F_|k9sDEvsw97zUz^v|wk^6~k{(E}g+-F{ISKr))j<47BXr41~e0blAr&bSs z|IrSo^7@evzS-=(@x`Huqc2r99GkQ^PabxeDqKE2-7pQ1>fi>@%sWi*eedZ1Y?O%#JYqAlBWQjldYscGecHU zg%s&*JUU5b0YHS4wwDMcmP5FMWn^R!Bl9wx$OeF{94|*YYA6A$q^fAQR`OuPF9B(% zR#J>vU<+rUs_EP&o+@f8usfP+92%!2CmYQ2;-UaU2_)!cYTX{(tCg(l;^I8G4N1Ut zh)|=IY&cb7v4IAbr$9^wOC7Kh29<~mkt? zy6{56v}sFRX(iQyz~K<#uSL*ic3n>tk$HCK_ zK(lTzs7O|_b%ItRdb$w;!&xj_!fwxIqQsOzUXp_l84NK@Fs^m9M<}HJbz@t!$KJ?M zP$A`E>v)G)57)jBS6;_)Fv2Ks*P|kY8`^A2u!ZfsWAnHVJ68Y*ZF@k28qrD)nZSf_1^Pw#| z@pZkmCA&G}0&7bcjq%x*?aRCV3irha4o~M_DArx{=C$ijm7gxpJfn{2L~$I+EADGSEAJts^bthXdZ0!+7(pGrKca+s`)MokNH6@80m`S3a@u zY1ygFvFkgB8j(NleZ>ubn=|IJ|7-yHzY}KZV-M0lk+#l6X1~TQy|p*uWp8(@{ii>t zUM%g1pU@A_-dyI62l_3g1J;f*Z-2$!(N|(ifOlu2-fw+1YIXRfE0Nik_Z$MUT=6@` he~f-qo>Y;tmQ(?tGoVp(DLyXve>58lh(UdY?;kaa{Rsd7 literal 0 HcmV?d00001 diff --git a/docs/images/iviewer/iviewer.zoom_out.png b/docs/images/iviewer/iviewer.zoom_out.png new file mode 100644 index 0000000000000000000000000000000000000000..893f3502baaab667354fe8b560c1712b72630836 GIT binary patch literal 1416 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{T%CB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA){ffi_eM3D1{oGuTzrd=COM+4n&cLd=IHa;5RX-@T zIKQ+g85kdF$}r8qu)}W=NFmTQR{lkqz(`5Vami0E%}vcK@pQ3O0?O#6WTsddyBS)T zxj4DGI+;7U8WbpSnwXlJx+y{RrjQe2`as9%gOUbPQh^Bp(;tWlPxwF%JnN+90rN`{ zFk|eTuyZ2=1LH1F7srr_TYIJ*^g8Sy&?e2@*d%abWdMgri<5t&U4#0<`~ZPHTulKV zL_SFVVrt@l5PQLUVYuUp3a@^r?zky&+EXok@RH&z@w!8r$f$z%0{cUx;M)M%(BO@dlSAr|x|-`3zUuyW0)IVtW>|s>WVT?mGEc zSkr=`cGH2CXUi731dH|WWa9iWg>~1jL@c(3*I%OB-d`n9ld0_~{X@e~VM+?bvqa&xDF~4=3Dc{-t;PQB<+c zv78v6y_Q$sW5p8UNtB8n}}+(%+^^VTDLxDs_M@V zktZgdHP!#l9(Qv}igT01!>vuNAL^777;7#{%n;%?`4GGKfzXddg$9fTvuy=L>XpA# emo~({32$Iz;FK4L4Ckl>myMpTelF{r5}E)fw)-Uj literal 0 HcmV?d00001 diff --git a/docs/images/iviewer/iviewer.zoom_zero.png b/docs/images/iviewer/iviewer.zoom_zero.png new file mode 100644 index 0000000000000000000000000000000000000000..c981db6d690774d0c2e67e21c9081d5c89b5fd2d GIT binary patch literal 1091 zcmbVL&ui0A9M4pSOy+USDH`Jt54L&lWo?(ZTAQSq1v^VuUA;)t~d_LcwSBo>#!$V_3 z9LEjkPwFMM?vLJ`gY0_@JiN=6Jv3LLv!qU2W`Mb@O=_6WyXHJDVbfl^_!>`f+;-b3 zS7@bhO0kF=HzS*P+w~cm6!@+QT}TTXPE`s;ULyhK6LAo; zKoamt7>CkCDwR6QBLIO2kO)x>rW6S&0Pwv>U}}L~S4z6k(_*Kz(4f>;M6uOs#amLG z1oI-4WjW$ND8?*e;gUzqcFYS8^%-;=T7lzJhj@I%Xx2!RrUmBdMhLE7C~OjYVJ}fE zWn$a(MHmO7>qc>PtwUPEf85y8IxH{wSS;a?Gy{v(qkgClX1V*fP-MuwQBDUAD~h?O z6RYWBkLLBX!2ZN-$5tc*P9}BL$f+qc2OyjTdQR0O9U94`B&o2^u@x4nAeBw1(2x=n z5avKO31v+Nl7u7!=(60$=Dm=bo`w6m4%6*n!9THz7GRT-piIbOzXOU5LP^*lKCjIt z_&LY3Nh^$svk|L~1LqR9jexj(H@k|ng?bW90+iEJ2GWfvYE_c6auz`iY1tG)S)qru z|0iQ2b4H9>hb!)51ol8qidf>uee2NcllE7&Y7PpcX!=7_qbu-x&Nqo^YXsS zx4psB1L(rH2OVv_Ry|wWf8@aTYwPTIZ{+>+x4F)XFBxU;`RVIF##f(pxPd|L)0^?x S8}D{hqp{BCX7q<@b>%mi3|d_P literal 0 HcmV?d00001 diff --git a/docs/interfaces.html b/docs/interfaces.html deleted file mode 100644 index c2dcd87..0000000 --- a/docs/interfaces.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - phpDox - Overview - - - - - -
-

Interfaces

-
-

\

- - - - - - - - - - - - - -
NameDescription
- Traversable - - No description available -
-
-
-

\Query

- - - - - - - - - - - - - - - - - - - - - -
NameDescription
- DriverInterface - PDO Interface to implement for database drivers
- QueryBuilderInterface - Interface defining the Query Builder class
- SQLInterface - parent for database manipulation subclasses
-
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface.html b/docs/interfaces/Query_DriverInterface.html deleted file mode 100644 index 2a08a93..0000000 --- a/docs/interfaces/Query_DriverInterface.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - phpDox - Query\DriverInterface - - - - - -
-
- -
- -
-

Query\DriverInterface

-

PDO Interface to implement for database drivers

-

-

-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/__construct.html b/docs/interfaces/Query_DriverInterface/__construct.html deleted file mode 100644 index 947a91d..0000000 --- a/docs/interfaces/Query_DriverInterface/__construct.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::__construct

-

Constructor/Connection method

-

-

    -

    Signature

    -
    - public function __construct(string - $dsn, - [string - $username = NULL, - [string - $password = NULL, - [array - $driver_options = ]]] ) - -
    -

    Parameters

    -
    -
    $dsn - — - string
    -
    -
    $username - — - string
    -
    -
    $password - — - string
    -
    -
    $driver_options - — - array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/affected_rows.html b/docs/interfaces/Query_DriverInterface/affected_rows.html deleted file mode 100644 index 2c142ba..0000000 --- a/docs/interfaces/Query_DriverInterface/affected_rows.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::affected_rows

-

Returns number of rows affected by an INSERT, UPDATE, DELETE type query

-

-

    -

    Signature

    -
    - public function affected_rows() - -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/beginTransaction.html b/docs/interfaces/Query_DriverInterface/beginTransaction.html deleted file mode 100644 index 37b27b0..0000000 --- a/docs/interfaces/Query_DriverInterface/beginTransaction.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::beginTransaction

-

Begin a transaction

-

-

    -

    Signature

    -
    - public function beginTransaction() - -
    -

    Returns

    -
    -
    bool
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/commit.html b/docs/interfaces/Query_DriverInterface/commit.html deleted file mode 100644 index d4c74ba..0000000 --- a/docs/interfaces/Query_DriverInterface/commit.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::commit

-

Commit a transaction

-

-

    -

    Signature

    -
    - public function commit() - -
    -

    Returns

    -
    -
    bool
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/driver_query.html b/docs/interfaces/Query_DriverInterface/driver_query.html deleted file mode 100644 index cf1175e..0000000 --- a/docs/interfaces/Query_DriverInterface/driver_query.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::driver_query

-

Method to simplify retrieving db results for meta-data queries

-

-

    -

    Signature

    -
    - public function driver_query(string|array|null - $query, - [boolean - $filtered_index = TRUE] ) - -
    -

    Parameters

    -
    -
    $query - — - object
    -



    -
    $filtered_index - — - boolean
    -



    -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/errorCode.html b/docs/interfaces/Query_DriverInterface/errorCode.html deleted file mode 100644 index a947e84..0000000 --- a/docs/interfaces/Query_DriverInterface/errorCode.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::errorCode

-

Return the current error code

-

-

    -

    Signature

    -
    - public function errorCode() - -
    -

    Returns

    -
    -
    mixed
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/errorInfo.html b/docs/interfaces/Query_DriverInterface/errorInfo.html deleted file mode 100644 index 9f966cf..0000000 --- a/docs/interfaces/Query_DriverInterface/errorInfo.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::errorInfo

-

Return information about the current error

-

-

    -

    Signature

    -
    - public function errorInfo() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/exec.html b/docs/interfaces/Query_DriverInterface/exec.html deleted file mode 100644 index 52dbba3..0000000 --- a/docs/interfaces/Query_DriverInterface/exec.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::exec

-

Execute an SQL statement and return the number of affected rows

-

-

    -

    Signature

    -
    - public function exec(string - $statement ) - -
    -

    Parameters

    -
    -
    $statement - — - string
    -
    -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/getAttribute.html b/docs/interfaces/Query_DriverInterface/getAttribute.html deleted file mode 100644 index 4655579..0000000 --- a/docs/interfaces/Query_DriverInterface/getAttribute.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::getAttribute

-

Get a connection attribute for the current db driver

-

-

    -

    Signature

    -
    - public function getAttribute(int - $attribute ) - -
    -

    Parameters

    -
    -
    $attribute - — - int
    -
    -
    -

    Returns

    -
    -
    mixed
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_columns.html b/docs/interfaces/Query_DriverInterface/get_columns.html deleted file mode 100644 index 3e9c2be..0000000 --- a/docs/interfaces/Query_DriverInterface/get_columns.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_columns

-

Retrieve column information for the current database table

-

-

    -

    Signature

    -
    - public function get_columns(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_dbs.html b/docs/interfaces/Query_DriverInterface/get_dbs.html deleted file mode 100644 index 615f1d0..0000000 --- a/docs/interfaces/Query_DriverInterface/get_dbs.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_dbs

-

Return list of dbs for the current connection, if possible

-

-

    -

    Signature

    -
    - public function get_dbs() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_fks.html b/docs/interfaces/Query_DriverInterface/get_fks.html deleted file mode 100644 index dff2c0e..0000000 --- a/docs/interfaces/Query_DriverInterface/get_fks.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_fks

-

Retrieve foreign keys for the table

-

-

    -

    Signature

    -
    - public function get_fks(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_functions.html b/docs/interfaces/Query_DriverInterface/get_functions.html deleted file mode 100644 index 0af5162..0000000 --- a/docs/interfaces/Query_DriverInterface/get_functions.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_functions

-

Return list of functions for the current database

-

-

    -

    Signature

    -
    - public function get_functions() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_indexes.html b/docs/interfaces/Query_DriverInterface/get_indexes.html deleted file mode 100644 index c655b87..0000000 --- a/docs/interfaces/Query_DriverInterface/get_indexes.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_indexes

-

Retrieve indexes for the table

-

-

    -

    Signature

    -
    - public function get_indexes(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_procedures.html b/docs/interfaces/Query_DriverInterface/get_procedures.html deleted file mode 100644 index b55ed87..0000000 --- a/docs/interfaces/Query_DriverInterface/get_procedures.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_procedures

-

Return list of stored procedures for the current database

-

-

    -

    Signature

    -
    - public function get_procedures() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_sequences.html b/docs/interfaces/Query_DriverInterface/get_sequences.html deleted file mode 100644 index f5755f4..0000000 --- a/docs/interfaces/Query_DriverInterface/get_sequences.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_sequences

-

Return list of sequences for the current database, if they exist

-

-

    -

    Signature

    -
    - public function get_sequences() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_sql.html b/docs/interfaces/Query_DriverInterface/get_sql.html deleted file mode 100644 index 800dce4..0000000 --- a/docs/interfaces/Query_DriverInterface/get_sql.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_sql

-

Get the SQL class for the current driver

-

-

    -

    Signature

    -
    - public function get_sql() - -
    -

    Returns

    -
    -
    SQL_Interface
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_system_tables.html b/docs/interfaces/Query_DriverInterface/get_system_tables.html deleted file mode 100644 index a854590..0000000 --- a/docs/interfaces/Query_DriverInterface/get_system_tables.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_system_tables

-

Retrieves an array of non-user-created tables for the connection/database

-

-

    -

    Signature

    -
    - public function get_system_tables() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_tables.html b/docs/interfaces/Query_DriverInterface/get_tables.html deleted file mode 100644 index fb58798..0000000 --- a/docs/interfaces/Query_DriverInterface/get_tables.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_tables

-

Return list of tables for the current database

-

-

    -

    Signature

    -
    - public function get_tables() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_triggers.html b/docs/interfaces/Query_DriverInterface/get_triggers.html deleted file mode 100644 index fe70eac..0000000 --- a/docs/interfaces/Query_DriverInterface/get_triggers.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_triggers

-

Return list of triggers for the current database

-

-

    -

    Signature

    -
    - public function get_triggers() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_types.html b/docs/interfaces/Query_DriverInterface/get_types.html deleted file mode 100644 index b00b575..0000000 --- a/docs/interfaces/Query_DriverInterface/get_types.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_types

-

Retrieve list of data types for the database

-

-

    -

    Signature

    -
    - public function get_types() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_util.html b/docs/interfaces/Query_DriverInterface/get_util.html deleted file mode 100644 index 29102b5..0000000 --- a/docs/interfaces/Query_DriverInterface/get_util.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_util

-

Get the Util class for the current driver

-

-

    -

    Signature

    -
    - public function get_util() - -
    -

    Returns

    -
    -
    Abstract_Util
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/get_views.html b/docs/interfaces/Query_DriverInterface/get_views.html deleted file mode 100644 index e97516b..0000000 --- a/docs/interfaces/Query_DriverInterface/get_views.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::get_views

-

Return list of views for the current database

-

-

    -

    Signature

    -
    - public function get_views() - -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/insert_batch.html b/docs/interfaces/Query_DriverInterface/insert_batch.html deleted file mode 100644 index 1c71caa..0000000 --- a/docs/interfaces/Query_DriverInterface/insert_batch.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::insert_batch

-

Create sql for batch insert

-

-

    -

    Signature

    -
    - public function insert_batch(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/num_rows.html b/docs/interfaces/Query_DriverInterface/num_rows.html deleted file mode 100644 index 32aa430..0000000 --- a/docs/interfaces/Query_DriverInterface/num_rows.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::num_rows

-

Return the number of rows returned for a SELECT query

-

-

    -

    Signature

    -
    - public function num_rows() - -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/prefix_table.html b/docs/interfaces/Query_DriverInterface/prefix_table.html deleted file mode 100644 index 476d54d..0000000 --- a/docs/interfaces/Query_DriverInterface/prefix_table.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::prefix_table

-

Prefixes a table if it is not already prefixed

-

-

    -

    Signature

    -
    - public function prefix_table(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/prepare_execute.html b/docs/interfaces/Query_DriverInterface/prepare_execute.html deleted file mode 100644 index b0f0468..0000000 --- a/docs/interfaces/Query_DriverInterface/prepare_execute.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::prepare_execute

-

Create and execute a prepared statement with the provided parameters

-

-

    -

    Signature

    -
    - public function prepare_execute(string - $sql, - array - $params ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $params - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/prepare_query.html b/docs/interfaces/Query_DriverInterface/prepare_query.html deleted file mode 100644 index f3dd076..0000000 --- a/docs/interfaces/Query_DriverInterface/prepare_query.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::prepare_query

-

Simplifies prepared statements for database queries

-

-

    -

    Signature

    -
    - public function prepare_query(string - $sql, - array - $data ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -
    | FALSE
    -
    -
    -

    Errors/Exceptions

    -
    -
    - - InvalidArgumentException - -
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/quote_ident.html b/docs/interfaces/Query_DriverInterface/quote_ident.html deleted file mode 100644 index 5f1ee37..0000000 --- a/docs/interfaces/Query_DriverInterface/quote_ident.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::quote_ident

-

Surrounds the string with the databases identifier escape characters

-

-

    -

    Signature

    -
    - public function quote_ident(string|array - $ident ) - -
    -

    Parameters

    -
    -
    $ident - — - object
    -



    -
    -

    Returns

    -
    -
    string|array
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/quote_table.html b/docs/interfaces/Query_DriverInterface/quote_table.html deleted file mode 100644 index 3817333..0000000 --- a/docs/interfaces/Query_DriverInterface/quote_table.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::quote_table

-

Quote database table name, and set prefix

-

-

    -

    Signature

    -
    - public function quote_table(string|array - $table ) - -
    -

    Parameters

    -
    -
    $table - — - object
    -



    -
    -

    Returns

    -
    -
    string|array
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/rollback.html b/docs/interfaces/Query_DriverInterface/rollback.html deleted file mode 100644 index c34741c..0000000 --- a/docs/interfaces/Query_DriverInterface/rollback.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::rollback

-

Rollback a transaction

-

-

    -

    Signature

    -
    - public function rollback() - -
    -

    Returns

    -
    -
    bool
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_DriverInterface/setAttribute.html b/docs/interfaces/Query_DriverInterface/setAttribute.html deleted file mode 100644 index 476fe9a..0000000 --- a/docs/interfaces/Query_DriverInterface/setAttribute.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\DriverInterface::setAttribute

-

Set a connection attribute

-

-

    -

    Signature

    -
    - public function setAttribute(int - $attribute, - mixed - $value ) - -
    -

    Parameters

    -
    -
    $attribute - — - int
    -
    -
    $value - — - mixed
    -
    -
    -

    Returns

    -
    -
    bool
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface.html b/docs/interfaces/Query_QueryBuilderInterface.html deleted file mode 100644 index 409371a..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - phpDox - Query\QueryBuilderInterface - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface

-

Interface defining the Query Builder class

-

-

    -

    Synopsis

    -
    interface QueryBuilderInterface - {
    - - }
    -

    Methods

    -
    -

    public

    -
      -
    • count_all() - — Retrieve the number of rows in the selected table
    • -
    • count_all_results() - — Retrieve the number of results for the generated query - used in place of the get() method
    • -
    • delete() - — Deletes data from a table
    • -
    • distinct() - — Adds the 'distinct' keyword to a query
    • -
    • explain() - — Shows the query plan for the query
    • -
    • from() - — Specify the database table to select from
    • -
    • get() - — Select and retrieve all records from the current table, and/or execute current compiled query
    • -
    • get_compiled_delete() - — Returns the generated 'delete' sql query
    • -
    • get_compiled_insert() - — Returns the generated 'insert' sql query
    • -
    • get_compiled_select() - — Returns the generated 'select' sql query
    • -
    • get_compiled_update() - — Returns the generated 'update' sql query
    • -
    • get_where() - — Convience method for get() with a where clause
    • -
    • group_by() - — Group the results by the selected field(s)
    • -
    • group_end() - — Ends a query group
    • -
    • group_start() - — Adds a paren to the current query for query grouping
    • -
    • having() - — Generates a 'Having' clause
    • -
    • insert() - — Creates an insert clause, and executes it
    • -
    • insert_batch() - — Creates and executes a batch insertion query
    • -
    • join() - — Creates a join phrase in a compiled query
    • -
    • like() - — Creates a Like clause in the sql statement
    • -
    • limit() - — Set a limit on the current sql statement
    • -
    • not_like() - — Generates a NOT LIKE clause
    • -
    • or_group_start() - — Adds a paren to the current query for query grouping, prefixed with 'OR'
    • -
    • or_having() - — Generates a 'Having' clause prefixed with 'OR'
    • -
    • or_like() - — Generates an OR Like clause
    • -
    • or_not_group_start() - — Adds a paren to the current query for query grouping, prefixed with 'OR NOT'
    • -
    • or_not_like() - — Generates a OR NOT LIKE clause
    • -
    • or_where() - — Where clause prefixed with "OR"
    • -
    • or_where_in() - — Where in statement prefixed with "or"
    • -
    • or_where_not_in() - — OR WHERE NOT IN (FOO) clause
    • -
    • order_by() - — Order the results by the selected field(s)
    • -
    • reset_query() - — Clear out the class variables, so the next query can be run
    • -
    • select() - — Specifies rows to select in a query
    • -
    • select_avg() - — Selects the average value of a field from a query
    • -
    • select_max() - — Selects the maximum value of a field from a query
    • -
    • select_min() - — Selects the minimum value of a field from a query
    • -
    • select_sum() - — Selects the sum of a field from a query
    • -
    • set() - — Sets values for inserts / updates / deletes
    • -
    • update() - — Creates an update clause, and executes it
    • -
    • where() - — Specify condition(s) in the where clause of a query Note: this function works with key / value, or a passed array with key / value pairs
    • -
    • where_in() - — Where clause with 'IN' statement
    • -
    • where_not_in() - — WHERE NOT IN (FOO) clause
    • -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/count_all.html b/docs/interfaces/Query_QueryBuilderInterface/count_all.html deleted file mode 100644 index 5b52f96..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/count_all.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::count_all

-

Retrieve the number of rows in the selected table

-

-

    -

    Signature

    -
    - public function count_all(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/count_all_results.html b/docs/interfaces/Query_QueryBuilderInterface/count_all_results.html deleted file mode 100644 index 25bb617..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/count_all_results.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::count_all_results

-

Retrieve the number of results for the generated query - used in place of the get() method

-

-

    -

    Signature

    -
    - public function count_all_results([string - $table = ''] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    int
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/delete.html b/docs/interfaces/Query_QueryBuilderInterface/delete.html deleted file mode 100644 index 11cdff9..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/delete.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::delete

-

Deletes data from a table

-

-

    -

    Signature

    -
    - public function delete(string - $table, - [string - $where = ''] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $where - — - string
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/distinct.html b/docs/interfaces/Query_QueryBuilderInterface/distinct.html deleted file mode 100644 index 7946336..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/distinct.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::distinct

-

Adds the 'distinct' keyword to a query

-

-

    -

    Signature

    -
    - public function distinct() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/explain.html b/docs/interfaces/Query_QueryBuilderInterface/explain.html deleted file mode 100644 index 749b323..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/explain.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::explain

-

Shows the query plan for the query

-

-

    -

    Signature

    -
    - public function explain() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/from.html b/docs/interfaces/Query_QueryBuilderInterface/from.html deleted file mode 100644 index 5f1570d..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/from.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::from

-

Specify the database table to select from

-

-

    -

    Signature

    -
    - public function from(string - $tblname ) - -
    -

    Parameters

    -
    -
    $tblname - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/get.html b/docs/interfaces/Query_QueryBuilderInterface/get.html deleted file mode 100644 index 51debbd..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/get.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::get

-

Select and retrieve all records from the current table, and/or execute current compiled query

-

-

    -

    Signature

    -
    - public function get([string - $table = '', - [boolean - $limit = FALSE, - [boolean - $offset = FALSE]]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $limit - — - boolean
    -



    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/get_compiled_delete.html b/docs/interfaces/Query_QueryBuilderInterface/get_compiled_delete.html deleted file mode 100644 index 6e932df..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/get_compiled_delete.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::get_compiled_delete

-

Returns the generated 'delete' sql query

-

-

    -

    Signature

    -
    - public function get_compiled_delete([string - $table = "", - [boolean - $reset = TRUE]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $reset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/get_compiled_insert.html b/docs/interfaces/Query_QueryBuilderInterface/get_compiled_insert.html deleted file mode 100644 index 6e41bc4..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/get_compiled_insert.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::get_compiled_insert

-

Returns the generated 'insert' sql query

-

-

    -

    Signature

    -
    - public function get_compiled_insert(string - $table, - [boolean - $reset = TRUE] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $reset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/get_compiled_select.html b/docs/interfaces/Query_QueryBuilderInterface/get_compiled_select.html deleted file mode 100644 index a3d8c90..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/get_compiled_select.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::get_compiled_select

-

Returns the generated 'select' sql query

-

-

    -

    Signature

    -
    - public function get_compiled_select([string - $table = '', - [boolean - $reset = TRUE]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $reset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/get_compiled_update.html b/docs/interfaces/Query_QueryBuilderInterface/get_compiled_update.html deleted file mode 100644 index 0360aaa..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/get_compiled_update.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::get_compiled_update

-

Returns the generated 'update' sql query

-

-

    -

    Signature

    -
    - public function get_compiled_update([string - $table = '', - [boolean - $reset = TRUE]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $reset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/get_where.html b/docs/interfaces/Query_QueryBuilderInterface/get_where.html deleted file mode 100644 index 6b308da..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/get_where.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::get_where

-

Convience method for get() with a where clause

-

-

    -

    Signature

    -
    - public function get_where(string - $table, - [array - $where = , - [boolean - $limit = FALSE, - [boolean - $offset = FALSE]]] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $where - — - array
    -
    -
    $limit - — - boolean
    -



    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/group_by.html b/docs/interfaces/Query_QueryBuilderInterface/group_by.html deleted file mode 100644 index ae46d01..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/group_by.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::group_by

-

Group the results by the selected field(s)

-

-

    -

    Signature

    -
    - public function group_by(mixed - $field ) - -
    -

    Parameters

    -
    -
    $field - — - mixed
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/group_end.html b/docs/interfaces/Query_QueryBuilderInterface/group_end.html deleted file mode 100644 index 5d1ff2a..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/group_end.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::group_end

-

Ends a query group

-

-

    -

    Signature

    -
    - public function group_end() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/group_start.html b/docs/interfaces/Query_QueryBuilderInterface/group_start.html deleted file mode 100644 index 9b86540..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/group_start.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::group_start

-

Adds a paren to the current query for query grouping

-

-

    -

    Signature

    -
    - public function group_start() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/having.html b/docs/interfaces/Query_QueryBuilderInterface/having.html deleted file mode 100644 index a9bebe0..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/having.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::having

-

Generates a 'Having' clause

-

-

    -

    Signature

    -
    - public function having(mixed - $key, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/insert.html b/docs/interfaces/Query_QueryBuilderInterface/insert.html deleted file mode 100644 index 565a8b7..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/insert.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::insert

-

Creates an insert clause, and executes it

-

-

    -

    Signature

    -
    - public function insert(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/insert_batch.html b/docs/interfaces/Query_QueryBuilderInterface/insert_batch.html deleted file mode 100644 index 8369fd8..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/insert_batch.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::insert_batch

-

Creates and executes a batch insertion query

-

-

    -

    Signature

    -
    - public function insert_batch(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement|null
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/join.html b/docs/interfaces/Query_QueryBuilderInterface/join.html deleted file mode 100644 index 0113c42..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/join.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::join

-

Creates a join phrase in a compiled query

-

-

    -

    Signature

    -
    - public function join(string - $table, - string - $condition, - [string - $type = ''] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $condition - — - string
    -
    -
    $type - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/like.html b/docs/interfaces/Query_QueryBuilderInterface/like.html deleted file mode 100644 index ba8dc63..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/like.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::like

-

Creates a Like clause in the sql statement

-

-

    -

    Signature

    -
    - public function like(string - $field, - mixed - $val, - [string - $pos = 'both'] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/limit.html b/docs/interfaces/Query_QueryBuilderInterface/limit.html deleted file mode 100644 index 83627d4..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/limit.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::limit

-

Set a limit on the current sql statement

-

-

    -

    Signature

    -
    - public function limit(int - $limit, - [boolean - $offset = FALSE] ) - -
    -

    Parameters

    -
    -
    $limit - — - int
    -
    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/not_like.html b/docs/interfaces/Query_QueryBuilderInterface/not_like.html deleted file mode 100644 index 34e68df..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/not_like.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::not_like

-

Generates a NOT LIKE clause

-

-

    -

    Signature

    -
    - public function not_like(string - $field, - mixed - $val, - [string - $pos = 'both'] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/or_group_start.html b/docs/interfaces/Query_QueryBuilderInterface/or_group_start.html deleted file mode 100644 index f7bea9f..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/or_group_start.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::or_group_start

-

Adds a paren to the current query for query grouping, prefixed with 'OR'

-

-

    -

    Signature

    -
    - public function or_group_start() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/or_having.html b/docs/interfaces/Query_QueryBuilderInterface/or_having.html deleted file mode 100644 index e8ea0fa..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/or_having.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::or_having

-

Generates a 'Having' clause prefixed with 'OR'

-

-

    -

    Signature

    -
    - public function or_having(mixed - $key, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/or_like.html b/docs/interfaces/Query_QueryBuilderInterface/or_like.html deleted file mode 100644 index ee2004a..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/or_like.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::or_like

-

Generates an OR Like clause

-

-

    -

    Signature

    -
    - public function or_like(string - $field, - mixed - $val, - [string - $pos = 'both'] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/or_not_group_start.html b/docs/interfaces/Query_QueryBuilderInterface/or_not_group_start.html deleted file mode 100644 index 5d4078a..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/or_not_group_start.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::or_not_group_start

-

Adds a paren to the current query for query grouping, prefixed with 'OR NOT'

-

-

    -

    Signature

    -
    - public function or_not_group_start() - -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/or_not_like.html b/docs/interfaces/Query_QueryBuilderInterface/or_not_like.html deleted file mode 100644 index 0a325af..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/or_not_like.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::or_not_like

-

Generates a OR NOT LIKE clause

-

-

    -

    Signature

    -
    - public function or_not_like(string - $field, - mixed - $val, - [string - $pos = 'both'] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - mixed
    -
    -
    $pos - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/or_where.html b/docs/interfaces/Query_QueryBuilderInterface/or_where.html deleted file mode 100644 index 800e8c8..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/or_where.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::or_where

-

Where clause prefixed with "OR"

-

-

    -

    Signature

    -
    - public function or_where(string - $key, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $key - — - string
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/or_where_in.html b/docs/interfaces/Query_QueryBuilderInterface/or_where_in.html deleted file mode 100644 index cbcb64f..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/or_where_in.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::or_where_in

-

Where in statement prefixed with "or"

-

-

    -

    Signature

    -
    - public function or_where_in(string - $field, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/or_where_not_in.html b/docs/interfaces/Query_QueryBuilderInterface/or_where_not_in.html deleted file mode 100644 index 94f43c8..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/or_where_not_in.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::or_where_not_in

-

OR WHERE NOT IN (FOO) clause

-

-

    -

    Signature

    -
    - public function or_where_not_in(string - $field, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/order_by.html b/docs/interfaces/Query_QueryBuilderInterface/order_by.html deleted file mode 100644 index 92de071..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/order_by.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::order_by

-

Order the results by the selected field(s)

-

-

    -

    Signature

    -
    - public function order_by(string - $field, - [string - $type = ""] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $type - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/reset_query.html b/docs/interfaces/Query_QueryBuilderInterface/reset_query.html deleted file mode 100644 index 2f524d8..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/reset_query.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::reset_query

-

Clear out the class variables, so the next query can be run

-

-

    -

    Signature

    -
    - public function reset_query() - -
    -

    Returns

    -
    -
    void
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/select.html b/docs/interfaces/Query_QueryBuilderInterface/select.html deleted file mode 100644 index 2682692..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/select.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::select

-

Specifies rows to select in a query

-

-

    -

    Signature

    -
    - public function select(string - $fields ) - -
    -

    Parameters

    -
    -
    $fields - — - string
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/select_avg.html b/docs/interfaces/Query_QueryBuilderInterface/select_avg.html deleted file mode 100644 index 69f72c3..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/select_avg.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::select_avg

-

Selects the average value of a field from a query

-

-

    -

    Signature

    -
    - public function select_avg(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/select_max.html b/docs/interfaces/Query_QueryBuilderInterface/select_max.html deleted file mode 100644 index 7503b63..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/select_max.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::select_max

-

Selects the maximum value of a field from a query

-

-

    -

    Signature

    -
    - public function select_max(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/select_min.html b/docs/interfaces/Query_QueryBuilderInterface/select_min.html deleted file mode 100644 index 90bb5d0..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/select_min.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::select_min

-

Selects the minimum value of a field from a query

-

-

    -

    Signature

    -
    - public function select_min(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/select_sum.html b/docs/interfaces/Query_QueryBuilderInterface/select_sum.html deleted file mode 100644 index b0d1979..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/select_sum.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::select_sum

-

Selects the sum of a field from a query

-

-

    -

    Signature

    -
    - public function select_sum(string - $field, - [boolean - $as = FALSE] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $as - — - boolean
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/set.html b/docs/interfaces/Query_QueryBuilderInterface/set.html deleted file mode 100644 index 75817ef..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/set.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::set

-

Sets values for inserts / updates / deletes

-

-

    -

    Signature

    -
    - public function set(mixed - $key, - [mixed - $val = NULL] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - mixed
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/update.html b/docs/interfaces/Query_QueryBuilderInterface/update.html deleted file mode 100644 index b65885d..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/update.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::update

-

Creates an update clause, and executes it

-

-

    -

    Signature

    -
    - public function update(string - $table, - [array - $data = ] ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    $data - — - array
    -
    -
    -

    Returns

    -
    -
    PDOStatement
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/where.html b/docs/interfaces/Query_QueryBuilderInterface/where.html deleted file mode 100644 index e58e870..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/where.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::where

-

Specify condition(s) in the where clause of a query Note: this function works with key / value, or a passed array with key / value pairs

-

-

    -

    Signature

    -
    - public function where(mixed - $key, - [array - $val = , - [bool - $escape = NULL]] ) - -
    -

    Parameters

    -
    -
    $key - — - mixed
    -
    -
    $val - — - array
    -
    -
    $escape - — - object
    -



    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/where_in.html b/docs/interfaces/Query_QueryBuilderInterface/where_in.html deleted file mode 100644 index c2e53e8..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/where_in.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::where_in

-

Where clause with 'IN' statement

-

-

    -

    Signature

    -
    - public function where_in(mixed - $field, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $field - — - mixed
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_QueryBuilderInterface/where_not_in.html b/docs/interfaces/Query_QueryBuilderInterface/where_not_in.html deleted file mode 100644 index e9bf0e0..0000000 --- a/docs/interfaces/Query_QueryBuilderInterface/where_not_in.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\QueryBuilderInterface::where_not_in

-

WHERE NOT IN (FOO) clause

-

-

    -

    Signature

    -
    - public function where_not_in(string - $field, - [array - $val = ] ) - -
    -

    Parameters

    -
    -
    $field - — - string
    -
    -
    $val - — - array
    -
    -
    -

    Returns

    -
    -
    Query_Builder
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface.html b/docs/interfaces/Query_SQLInterface.html deleted file mode 100644 index daad4c9..0000000 --- a/docs/interfaces/Query_SQLInterface.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - phpDox - Query\SQLInterface - - - - - -
-
- -
- -
-

Query\SQLInterface

-

parent for database manipulation subclasses

-

-

-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/column_list.html b/docs/interfaces/Query_SQLInterface/column_list.html deleted file mode 100644 index 91b283d..0000000 --- a/docs/interfaces/Query_SQLInterface/column_list.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::column_list

-

Get information about the columns in the specified table

-

-

    -

    Signature

    -
    - public function column_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/db_list.html b/docs/interfaces/Query_SQLInterface/db_list.html deleted file mode 100644 index 6dab61f..0000000 --- a/docs/interfaces/Query_SQLInterface/db_list.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::db_list

-

Returns sql to list other databases

-

-

    -

    Signature

    -
    - public function db_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/explain.html b/docs/interfaces/Query_SQLInterface/explain.html deleted file mode 100644 index ca7d483..0000000 --- a/docs/interfaces/Query_SQLInterface/explain.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::explain

-

Modify the query to get the query plan

-

-

    -

    Signature

    -
    - public function explain(string - $sql ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/fk_list.html b/docs/interfaces/Query_SQLInterface/fk_list.html deleted file mode 100644 index 262bf99..0000000 --- a/docs/interfaces/Query_SQLInterface/fk_list.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::fk_list

-

Get the list of foreign keys for the current table

-

-

    -

    Signature

    -
    - public function fk_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/function_list.html b/docs/interfaces/Query_SQLInterface/function_list.html deleted file mode 100644 index 7f7a0dc..0000000 --- a/docs/interfaces/Query_SQLInterface/function_list.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::function_list

-

Return sql to list functions

-

-

    -

    Signature

    -
    - public function function_list() - -
    -

    Returns

    -
    -
    NULL
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/index_list.html b/docs/interfaces/Query_SQLInterface/index_list.html deleted file mode 100644 index 72206e3..0000000 --- a/docs/interfaces/Query_SQLInterface/index_list.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::index_list

-

Get the list of indexes for the current table

-

-

    -

    Signature

    -
    - public function index_list(string - $table ) - -
    -

    Parameters

    -
    -
    $table - — - string
    -
    -
    -

    Returns

    -
    -
    array
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/limit.html b/docs/interfaces/Query_SQLInterface/limit.html deleted file mode 100644 index d700652..0000000 --- a/docs/interfaces/Query_SQLInterface/limit.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::limit

-

Get database specific sql for limit clause

-

-

    -

    Signature

    -
    - public function limit(string - $sql, - int - $limit, - [boolean - $offset = FALSE] ) - -
    -

    Parameters

    -
    -
    $sql - — - string
    -
    -
    $limit - — - int
    -
    -
    $offset - — - boolean
    -



    -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/procedure_list.html b/docs/interfaces/Query_SQLInterface/procedure_list.html deleted file mode 100644 index 5123c7a..0000000 --- a/docs/interfaces/Query_SQLInterface/procedure_list.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::procedure_list

-

Return sql to list stored procedures

-

-

    -

    Signature

    -
    - public function procedure_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/random.html b/docs/interfaces/Query_SQLInterface/random.html deleted file mode 100644 index 0188946..0000000 --- a/docs/interfaces/Query_SQLInterface/random.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::random

-

Get the sql for random ordering

-

-

    -

    Signature

    -
    - public function random() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/sequence_list.html b/docs/interfaces/Query_SQLInterface/sequence_list.html deleted file mode 100644 index 4a9f9a9..0000000 --- a/docs/interfaces/Query_SQLInterface/sequence_list.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::sequence_list

-

Return sql to list sequences

-

-

    -

    Signature

    -
    - public function sequence_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/system_table_list.html b/docs/interfaces/Query_SQLInterface/system_table_list.html deleted file mode 100644 index 1a7cad9..0000000 --- a/docs/interfaces/Query_SQLInterface/system_table_list.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::system_table_list

-

Returns sql to list system tables

-

-

    -

    Signature

    -
    - public function system_table_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/table_list.html b/docs/interfaces/Query_SQLInterface/table_list.html deleted file mode 100644 index cfee559..0000000 --- a/docs/interfaces/Query_SQLInterface/table_list.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::table_list

-

Returns sql to list tables

-

-

    -

    Signature

    -
    - public function table_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/trigger_list.html b/docs/interfaces/Query_SQLInterface/trigger_list.html deleted file mode 100644 index a5c99f5..0000000 --- a/docs/interfaces/Query_SQLInterface/trigger_list.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::trigger_list

-

Returns sql to list triggers

-

-

    -

    Signature

    -
    - public function trigger_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/type_list.html b/docs/interfaces/Query_SQLInterface/type_list.html deleted file mode 100644 index e4fdcb9..0000000 --- a/docs/interfaces/Query_SQLInterface/type_list.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::type_list

-

Return sql to list database field types

-

-

    -

    Signature

    -
    - public function type_list() - -
    -

    Returns

    -
    -
    string|array
    -

    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Query_SQLInterface/view_list.html b/docs/interfaces/Query_SQLInterface/view_list.html deleted file mode 100644 index ec4afde..0000000 --- a/docs/interfaces/Query_SQLInterface/view_list.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - phpDox - Test Method - - - - - -
-
- -
- -
-

Query\SQLInterface::view_list

-

Returns sql to list views

-

-

    -

    Signature

    -
    - public function view_list() - -
    -

    Returns

    -
    -
    string
    -
    -
    -
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/interfaces/Traversable.html b/docs/interfaces/Traversable.html deleted file mode 100644 index a02a174..0000000 --- a/docs/interfaces/Traversable.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - phpDox - Traversable - - - - - -
-
- -
- -
-

\Traversable

-

-

-

Synopsis

-
interface Traversable - {
- - }
-
-
-
- Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts -
- - diff --git a/docs/js/bootstrap.min.js b/docs/js/bootstrap.min.js new file mode 100644 index 0000000..319a85d --- /dev/null +++ b/docs/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-transition.js, bootstrap-modal.js, bootstrap-dropdown.js, bootstrap-scrollspy.js, bootstrap-tab.js, bootstrap-tooltip.js, bootstrap-popover.js, bootstrap-affix.js, bootstrap-alert.js, bootstrap-button.js, bootstrap-collapse.js, bootstrap-carousel.js, bootstrap-typeahead.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){a(function(){a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in").attr("aria-hidden",!1),b.enforceFocus(),c?b.$element.one(a.support.transition.end,function(){b.$element.focus().trigger("shown")}):b.$element.focus().trigger("shown")})},hide:function(b){b&&b.preventDefault();var c=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,this.escape(),a(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),a.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var b=this;a(document).on("focusin.modal",function(a){b.$element[0]!==a.target&&!b.$element.has(a.target).length&&b.$element.focus()})},escape:function(){var a=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(b){b.which==27&&a.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),b.hideModal()},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),b.hideModal()})},hideModal:function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('