Skip to content

Commit

Permalink
Reduced buffer_size for BuildErrorWriter.
Browse files Browse the repository at this point in the history
  • Loading branch information
corpsee committed May 29, 2017
1 parent ebb80ef commit e8fbaf0
Showing 1 changed file with 31 additions and 22 deletions.
53 changes: 31 additions & 22 deletions src/PHPCensor/Store/BuildErrorWriter.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/**
Expand All @@ -49,20 +50,28 @@ public function __destruct()
* @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();
}
Expand Down Expand Up @@ -90,13 +99,13 @@ public function flush()
: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 = '
Expand Down

0 comments on commit e8fbaf0

Please sign in to comment.