(queries, execOptions, maxQueryLength, maxParameterLength)
| 186 | } |
| 187 | |
| 188 | function getBatchStatementInfo(queries, execOptions, maxQueryLength, maxParameterLength) { |
| 189 | // This part of the message is not accounted for in "maxQueryLength" |
| 190 | let message = (execOptions.isBatchLogged() ? 'LOGGED ' : '') + 'BATCH w/ ' + queries.length + |
| 191 | (!execOptions.isPrepared() ? ' not prepared' : '') + ' queries ('; |
| 192 | let remaining = maxQueryLength; |
| 193 | let i; |
| 194 | |
| 195 | for (i = 0; i < queries.length && remaining > 0; i++) { |
| 196 | let q = queries[i]; |
| 197 | const params = q.params; |
| 198 | if (typeof q !== 'string') { |
| 199 | q = q.query; |
| 200 | } |
| 201 | |
| 202 | if (i > 0) { |
| 203 | message += ','; |
| 204 | remaining--; |
| 205 | } |
| 206 | |
| 207 | const queryLength = Math.min(remaining, q.length); |
| 208 | message += q.substr(0, queryLength); |
| 209 | remaining -= queryLength; |
| 210 | |
| 211 | if (remaining <= 0) { |
| 212 | break; |
| 213 | } |
| 214 | |
| 215 | const parameters = getParametersInfo(params, remaining, maxParameterLength); |
| 216 | remaining -= parameters.length; |
| 217 | message += parameters; |
| 218 | } |
| 219 | |
| 220 | message += i < queries.length ? ',...)' : ')'; |
| 221 | return message; |
| 222 | } |
| 223 | |
| 224 | function getParametersInfo(params, remaining, maxParameterLength) { |
| 225 | if (remaining <= 3) { |
no test coverage detected