1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
--TEST--
Constants exported by ext/mysqli
--EXTENSIONS--
mysqli
--INI--
mysqli.allow_local_infile=1
--FILE--
<?php
$constants = get_defined_constants(true);
sort($constants);
$expected_constants = array(
'MYSQLI_READ_DEFAULT_GROUP' => true,
'MYSQLI_READ_DEFAULT_FILE' => true,
'MYSQLI_OPT_CONNECT_TIMEOUT' => true,
'MYSQLI_OPT_LOCAL_INFILE' => true,
'MYSQLI_OPT_READ_TIMEOUT' => true,
'MYSQLI_INIT_COMMAND' => true,
'MYSQLI_CLIENT_SSL' => true,
"MYSQLI_CLIENT_COMPRESS" => true,
"MYSQLI_CLIENT_INTERACTIVE" => true,
"MYSQLI_CLIENT_IGNORE_SPACE" => true,
"MYSQLI_CLIENT_NO_SCHEMA" => true,
"MYSQLI_CLIENT_FOUND_ROWS" => true,
"MYSQLI_STORE_RESULT" => true,
"MYSQLI_USE_RESULT" => true,
"MYSQLI_ASSOC" => true,
"MYSQLI_NUM" => true,
"MYSQLI_BOTH" => true,
"MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH"=> true,
"MYSQLI_NOT_NULL_FLAG" => true,
"MYSQLI_PRI_KEY_FLAG" => true,
"MYSQLI_UNIQUE_KEY_FLAG" => true,
"MYSQLI_MULTIPLE_KEY_FLAG" => true,
"MYSQLI_BLOB_FLAG" => true,
"MYSQLI_UNSIGNED_FLAG" => true,
"MYSQLI_ZEROFILL_FLAG" => true,
"MYSQLI_AUTO_INCREMENT_FLAG" => true,
"MYSQLI_TIMESTAMP_FLAG" => true,
"MYSQLI_SET_FLAG" => true,
"MYSQLI_NUM_FLAG" => true,
"MYSQLI_ENUM_FLAG" => true,
"MYSQLI_BINARY_FLAG" => true,
"MYSQLI_PART_KEY_FLAG" => true,
"MYSQLI_GROUP_FLAG" => true,
"MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED"=> true,
"MYSQLI_SERVER_QUERY_NO_INDEX_USED" => true,
"MYSQLI_OPT_LOAD_DATA_LOCAL_DIR" => true,
"MYSQLI_IS_MARIADB" => true,
"MYSQLI_TYPE_DECIMAL" => true,
"MYSQLI_TYPE_TINY" => true,
"MYSQLI_TYPE_SHORT" => true,
"MYSQLI_TYPE_LONG" => true,
"MYSQLI_TYPE_FLOAT" => true,
"MYSQLI_TYPE_DOUBLE" => true,
"MYSQLI_TYPE_NULL" => true,
"MYSQLI_TYPE_TIMESTAMP" => true,
"MYSQLI_TYPE_LONGLONG" => true,
"MYSQLI_TYPE_INT24" => true,
"MYSQLI_TYPE_DATE" => true,
"MYSQLI_TYPE_TIME" => true,
"MYSQLI_TYPE_DATETIME" => true,
"MYSQLI_TYPE_YEAR" => true,
"MYSQLI_TYPE_NEWDATE" => true,
"MYSQLI_TYPE_ENUM" => true,
"MYSQLI_TYPE_SET" => true,
"MYSQLI_TYPE_VECTOR" => true,
"MYSQLI_TYPE_JSON" => true,
"MYSQLI_TYPE_TINY_BLOB" => true,
"MYSQLI_TYPE_MEDIUM_BLOB" => true,
"MYSQLI_TYPE_LONG_BLOB" => true,
"MYSQLI_TYPE_BLOB" => true,
"MYSQLI_TYPE_VAR_STRING" => true,
"MYSQLI_TYPE_STRING" => true,
"MYSQLI_TYPE_CHAR" => true,
"MYSQLI_TYPE_GEOMETRY" => true,
"MYSQLI_NO_DATA" => true,
"MYSQLI_REPORT_INDEX" => true,
"MYSQLI_REPORT_STRICT" => true,
"MYSQLI_REPORT_ALL" => true,
"MYSQLI_REPORT_ERROR" => true,
"MYSQLI_REPORT_OFF" => true,
"MYSQLI_SET_CHARSET_NAME" => true,
"MYSQLI_REFRESH_GRANT" => true,
"MYSQLI_REFRESH_LOG" => true,
"MYSQLI_REFRESH_TABLES" => true,
"MYSQLI_REFRESH_HOSTS" => true,
"MYSQLI_REFRESH_STATUS" => true,
"MYSQLI_REFRESH_THREADS" => true,
"MYSQLI_REFRESH_REPLICA" => true,
"MYSQLI_REFRESH_SLAVE" => true,
"MYSQLI_REFRESH_MASTER" => true,
"MYSQLI_DEBUG_TRACE_ENABLED" => true,
"MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT" => true,
"MYSQLI_TRANS_START_READ_WRITE" => true,
"MYSQLI_TRANS_START_READ_ONLY" => true,
"MYSQLI_TRANS_COR_AND_CHAIN" => true,
"MYSQLI_TRANS_COR_AND_NO_CHAIN" => true,
"MYSQLI_TRANS_COR_RELEASE" => true,
"MYSQLI_TRANS_COR_NO_RELEASE" => true,
);
$expected_constants['MYSQLI_OPT_INT_AND_FLOAT_NATIVE'] = true;
$expected_constants['MYSQLI_STORE_RESULT_COPY_DATA'] = true;
$expected_constants['MYSQLI_REFRESH_BACKUP_LOG'] = true;
$expected_constants['MYSQLI_OPT_NET_CMD_BUFFER_SIZE'] = true;
$expected_constants['MYSQLI_OPT_NET_READ_BUFFER_SIZE'] = true;
$expected_constants['MYSQLI_ASYNC'] = true;
$expected_constants['MYSQLI_SERVER_PS_OUT_PARAMS'] = true;
$expected_constants['MYSQLI_ON_UPDATE_NOW_FLAG'] = true;
$expected_constants['MYSQLI_SERVER_QUERY_WAS_SLOW'] = true;
$expected_constants['MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT'] = true;
$expected_constants['MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT'] = true;
$expected_constants['MYSQLI_SERVER_PUBLIC_KEY'] = true;
$expected_constants = array_merge($expected_constants, array(
"MYSQLI_TYPE_NEWDECIMAL" => true,
"MYSQLI_TYPE_BIT" => true,
));
$expected_constants['MYSQLI_NO_DEFAULT_VALUE_FLAG'] = true;
$expected_constants = array_merge($expected_constants, array(
"MYSQLI_STMT_ATTR_CURSOR_TYPE" => true,
"MYSQLI_CURSOR_TYPE_NO_CURSOR" => true,
"MYSQLI_CURSOR_TYPE_READ_ONLY" => true,
));
$expected_constants['MYSQLI_OPT_SSL_VERIFY_SERVER_CERT'] = true;
/* pretty dump test, but that is the best way to mimic mysql.c */
$expected_constants["MYSQLI_DATA_TRUNCATED"] = true;
$expected_constants["MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS"] = true;
$expected_constants["MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS"] = true;
$unexpected_constants = array();
foreach ($constants as $consts) {
foreach ($consts as $name => $value) {
if (stristr($name, 'mysqli')) {
$name = strtoupper($name);
if (isset($expected_constants[$name])) {
unset($expected_constants[$name]);
} else {
$unexpected_constants[$name] = $name;
}
}
}
}
if (!empty($unexpected_constants)) {
printf("Dumping list of unexpected constants\n");
var_dump($unexpected_constants);
}
if (!empty($expected_constants)) {
printf("Dumping list of missing constants\n");
var_dump($expected_constants);
}
?>
--EXPECT--
|