Reduced buffer_size for BuildErrorWriter.
Number of prepared parameters must be less than 65535. See: https://stackoverflow.com/questions/40361164/pdoexception-sqlstatehy000-general-error-7-number-of-parameters-must-be-bet). Issue #66.
This commit is contained in:
parent
ebb80eff10
commit
e8fbaf08cb
|
@ -15,19 +15,20 @@ class BuildErrorWriter
|
|||
/** @var array */
|
||||
protected $errors = [];
|
||||
|
||||
/** @var int */
|
||||
protected $buffer_size;
|
||||
/**
|
||||
* @var int
|
||||
* @see https://stackoverflow.com/questions/40361164/pdoexception-sqlstatehy000-general-error-7-number-of-parameters-must-be-bet
|
||||
*/
|
||||
protected $buffer_size = 5000;
|
||||
|
||||
/**
|
||||
* BuildErrorWriter constructor.
|
||||
*
|
||||
* @param int $build_id
|
||||
* @param int $buffer_size
|
||||
*/
|
||||
public function __construct($build_id, $buffer_size = 10000)
|
||||
public function __construct($build_id)
|
||||
{
|
||||
$this->build_id = $build_id;
|
||||
$this->buffer_size = max((int) $buffer_size, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -49,20 +50,28 @@ class BuildErrorWriter
|
|||
* @param int $line_end
|
||||
* @param \DateTime $created_date
|
||||
*/
|
||||
public function write($plugin, $message, $severity, $file = null, $line_start = null, $line_end = null, $created_date = null)
|
||||
{
|
||||
public function write(
|
||||
$plugin,
|
||||
$message,
|
||||
$severity,
|
||||
$file = null,
|
||||
$line_start = null,
|
||||
$line_end = null,
|
||||
$created_date = null
|
||||
) {
|
||||
if (is_null($created_date)) {
|
||||
$created_date = new \DateTime();
|
||||
}
|
||||
$this->errors[] = array(
|
||||
'plugin' => (string)$plugin,
|
||||
'message' => (string)$message,
|
||||
'severity' => (int)$severity,
|
||||
'file' => !is_null($file) ? (string)$file : null,
|
||||
'line_start' => !is_null($line_start) ? (int)$line_start : null,
|
||||
'line_end' => !is_null($line_end) ? (int)$line_end : null,
|
||||
$this->errors[] = [
|
||||
'plugin' => (string)$plugin,
|
||||
'message' => (string)$message,
|
||||
'severity' => (int)$severity,
|
||||
'file' => !is_null($file) ? (string)$file : null,
|
||||
'line_start' => !is_null($line_start) ? (int)$line_start : null,
|
||||
'line_end' => !is_null($line_end) ? (int)$line_end : null,
|
||||
'created_date' => $created_date->format('Y-m-d H:i:s'),
|
||||
);
|
||||
];
|
||||
|
||||
if (count($this->errors) >= $this->buffer_size) {
|
||||
$this->flush();
|
||||
}
|
||||
|
@ -90,13 +99,13 @@ class BuildErrorWriter
|
|||
:message' . $i . ',
|
||||
:created_date' . $i . '
|
||||
)';
|
||||
$insert_values_data['build_id' . $i] = $this->build_id;
|
||||
$insert_values_data['plugin' . $i] = $error['plugin'];
|
||||
$insert_values_data['file' . $i] = $error['file'];
|
||||
$insert_values_data['line_start' . $i] = $error['line_start'];
|
||||
$insert_values_data['line_end' . $i] = $error['line_end'];
|
||||
$insert_values_data['severity' . $i] = $error['severity'];
|
||||
$insert_values_data['message' . $i] = $error['message'];
|
||||
$insert_values_data['build_id' . $i] = $this->build_id;
|
||||
$insert_values_data['plugin' . $i] = $error['plugin'];
|
||||
$insert_values_data['file' . $i] = $error['file'];
|
||||
$insert_values_data['line_start' . $i] = $error['line_start'];
|
||||
$insert_values_data['line_end' . $i] = $error['line_end'];
|
||||
$insert_values_data['severity' . $i] = $error['severity'];
|
||||
$insert_values_data['message' . $i] = $error['message'];
|
||||
$insert_values_data['created_date' . $i] = $error['created_date'];
|
||||
}
|
||||
$query = '
|
||||
|
|
Loading…
Reference in a new issue