|
17 | 17 | - [Establishing connections](#establishing-connections)
|
18 | 18 | - [Connection options](#connection-options)
|
19 | 19 | - [SSL options](#ssl-options)
|
| 20 | + - [Connection flags](#connection-flags) |
20 | 21 | - [Terminating connections](#terminating-connections)
|
21 | 22 | - [Pooling connections](#pooling-connections)
|
22 | 23 | - [Pool options](#pool-options)
|
|
56 | 57 | - [Buffer](#buffer)
|
57 | 58 | - [String](#string)
|
58 | 59 | - [Custom type casting](#custom-type-casting)
|
59 |
| -- [Connection Flags](#connection-flags) |
60 |
| - - [Example](#example) |
61 |
| - - [Default Flags](#default-flags) |
62 |
| - - [Other Available Flags](#other-available-flags) |
63 | 60 | - [Debugging and reporting problems](#debugging-and-reporting-problems)
|
64 | 61 | - [Security issues](#security-issues)
|
65 | 62 | - [Contributing](#contributing)
|
@@ -298,6 +295,62 @@ var connection = mysql.createConnection({
|
298 | 295 | });
|
299 | 296 | ```
|
300 | 297 |
|
| 298 | +### Connection flags |
| 299 | + |
| 300 | +If, for any reason, you would like to change the default connection flags, you |
| 301 | +can use the connection option `flags`. Pass a string with a comma separated list |
| 302 | +of items to add to the default flags. If you don't want a default flag to be used |
| 303 | +prepend the flag with a minus sign. To add a flag that is not in the default list, |
| 304 | +just write the flag name, or prefix it with a plus (case insensitive). |
| 305 | + |
| 306 | +```js |
| 307 | +var connection = mysql.createConnection({ |
| 308 | + // disable FOUND_ROWS flag, enable IGNORE_SPACE flag |
| 309 | + flags: '-FOUND_ROWS,IGNORE_SPACE' |
| 310 | +}); |
| 311 | +``` |
| 312 | + |
| 313 | +The following flags are available: |
| 314 | + |
| 315 | +- `COMPRESS` - Enable protocol compression. This feature is not currently supported |
| 316 | + by the Node.js implementation so cannot be turned on. (Default off) |
| 317 | +- `CONNECT_WITH_DB` - Ability to specify the database on connection. (Default on) |
| 318 | +- `FOUND_ROWS` - Send the found rows instead of the affected rows as `affectedRows`. |
| 319 | + (Default on) |
| 320 | +- `IGNORE_SIGPIPE` - Don't issue SIGPIPE if network failures. This flag has no effect |
| 321 | + on this Node.js implementation. (Default on) |
| 322 | +- `IGNORE_SPACE` - Let the parser ignore spaces before the `(` in queries. (Default on) |
| 323 | +- `INTERACTIVE` - Indicates to the MySQL server this is an "interactive" client. This |
| 324 | + will use the interactive timeouts on the MySQL server and report as interactive in |
| 325 | + the process list. (Default off) |
| 326 | +- `LOCAL_FILES` - Can use `LOAD DATA LOCAL`. (Default on) |
| 327 | +- `LONG_FLAG` - Longer flags in Protocol::ColumnDefinition320. (Default on) |
| 328 | +- `LONG_PASSWORD` - Use the improved version of Old Password Authentication. |
| 329 | + (Default on) |
| 330 | +- `MULTI_RESULTS` - Can handle multiple resultsets for queries. (Default on) |
| 331 | +- `MULTI_STATEMENTS` - The client may send multiple statement per query or |
| 332 | + statement prepare (separated by `;`). This flag is controlled by the connection |
| 333 | + option `multipleStatements`. (Default off) |
| 334 | +- `NO_SCHEMA` |
| 335 | +- `ODBC` Special handling of ODBC behaviour. This flag has no effect on this Node.js |
| 336 | + implementation. (Default on) |
| 337 | +- `PLUGIN_AUTH` - Uses the plugin authentication mechanism when connecting to the |
| 338 | + MySQL server. This feature is not currently supported by the Node.js implementation |
| 339 | + so cannot be turned on. (Default off) |
| 340 | +- `PROTOCOL_41` - Uses the 4.1 protocol. (Default on) |
| 341 | +- `PS_MULTI_RESULTS` - Can handle multiple resultsets for execute. (Default on) |
| 342 | +- `REMEMBER_OPTIONS` - This is specific to the C client, and has no effect on this |
| 343 | + Node.js implementation. (Default off) |
| 344 | +- `RESERVED` - Old flag for the 4.1 protocol. (Default on) |
| 345 | +- `SECURE_CONNECTION` - Support native 4.1 authentication. (Default on) |
| 346 | +- `SSL` - Use SSL after handshake to encrypt data in transport. This feature is |
| 347 | + controlled though the `ssl` connection option, so the flag has no effect. |
| 348 | + (Default off) |
| 349 | +- `SSL_VERIFY_SERVER_CERT` - Verify the server certificate during SSL set up. This |
| 350 | + feature is controlled though the `ssl.rejectUnauthorized` connection option, so |
| 351 | + the flag has no effect. (Default off) |
| 352 | +- `TRANSACTIONS` - Asks for the transaction status flags. (Default on) |
| 353 | + |
301 | 354 | ## Terminating connections
|
302 | 355 |
|
303 | 356 | There are two ways to end a connection. Terminating a connection gracefully is
|
@@ -1375,63 +1428,6 @@ connection = mysql.createConnection({
|
1375 | 1428 | __WARNING: YOU MUST INVOKE the parser using one of these three field functions
|
1376 | 1429 | in your custom typeCast callback. They can only be called once.__
|
1377 | 1430 |
|
1378 |
| -## Connection Flags |
1379 |
| - |
1380 |
| -If, for any reason, you would like to change the default connection flags, you |
1381 |
| -can use the connection option `flags`. Pass a string with a comma separated list |
1382 |
| -of items to add to the default flags. If you don't want a default flag to be used |
1383 |
| -prepend the flag with a minus sign. To add a flag that is not in the default list, |
1384 |
| -just write the flag name, or prefix it with a plus (case insensitive). |
1385 |
| - |
1386 |
| -**Please note that some available flags that are not supported (e.g.: Compression), |
1387 |
| -are still not allowed to be specified.** |
1388 |
| - |
1389 |
| -### Example |
1390 |
| - |
1391 |
| -The next example blacklists FOUND_ROWS flag from default connection flags. |
1392 |
| - |
1393 |
| -```js |
1394 |
| -var connection = mysql.createConnection("mysql://localhost/test?flags=-FOUND_ROWS"); |
1395 |
| -``` |
1396 |
| - |
1397 |
| -### Default Flags |
1398 |
| - |
1399 |
| -The following flags are sent by default on a new connection: |
1400 |
| - |
1401 |
| -- `CONNECT_WITH_DB` - Ability to specify the database on connection. |
1402 |
| -- `FOUND_ROWS` - Send the found rows instead of the affected rows as `affectedRows`. |
1403 |
| -- `IGNORE_SIGPIPE` - Old; no effect. |
1404 |
| -- `IGNORE_SPACE` - Let the parser ignore spaces before the `(` in queries. |
1405 |
| -- `LOCAL_FILES` - Can use `LOAD DATA LOCAL`. |
1406 |
| -- `LONG_FLAG` |
1407 |
| -- `LONG_PASSWORD` - Use the improved version of Old Password Authentication. |
1408 |
| -- `MULTI_RESULTS` - Can handle multiple resultsets for COM_QUERY. |
1409 |
| -- `ODBC` Old; no effect. |
1410 |
| -- `PROTOCOL_41` - Uses the 4.1 protocol. |
1411 |
| -- `PS_MULTI_RESULTS` - Can handle multiple resultsets for COM_STMT_EXECUTE. |
1412 |
| -- `RESERVED` - Old flag for the 4.1 protocol. |
1413 |
| -- `SECURE_CONNECTION` - Support native 4.1 authentication. |
1414 |
| -- `TRANSACTIONS` - Asks for the transaction status flags. |
1415 |
| - |
1416 |
| -In addition, the following flag will be sent if the option `multipleStatements` |
1417 |
| -is set to `true`: |
1418 |
| - |
1419 |
| -- `MULTI_STATEMENTS` - The client may send multiple statement per query or |
1420 |
| - statement prepare. |
1421 |
| - |
1422 |
| -### Other Available Flags |
1423 |
| - |
1424 |
| -There are other flags available. They may or may not function, but are still |
1425 |
| -available to specify. |
1426 |
| - |
1427 |
| -- `COMPRESS` |
1428 |
| -- `INTERACTIVE` |
1429 |
| -- `NO_SCHEMA` |
1430 |
| -- `PLUGIN_AUTH` |
1431 |
| -- `REMEMBER_OPTIONS` |
1432 |
| -- `SSL` |
1433 |
| -- `SSL_VERIFY_SERVER_CERT` |
1434 |
| - |
1435 | 1431 | ## Debugging and reporting problems
|
1436 | 1432 |
|
1437 | 1433 | If you are running into problems, one thing that may help is enabling the
|
|
0 commit comments