for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Borobudur\Cqrs\ReadModel\Storage\Pdo\Parser;
/**
* @author Iqbal Maulana <[email protected]>
* @created 4/18/16
*/
class PostgresParser extends DefaultParser
{
* {@inheritdoc}
public function comparison($field, $comparison, $value)
return sprintf(
'%s %s %s',
$this->transformField($comparison, $this->quote . $field . $this->quote),
$this->transformComparison($comparison, $value),
$this->normalizeValue($value)
);
}
* @param string $comparison
* @param mixed $value
*
* @return string
protected function transformComparison($comparison, $value)
$comparison = parent::transformComparison($comparison, $value);
switch (strtoupper($comparison)) {
case 'LIKE':
return 'ILIKE';
case 'NOT LIKE':
return 'NOT ILIKE';
return $comparison;
* @param string $field
protected function transformField($comparison, $field)
case 'ILIKE':
case 'NOT ILIKE':
return sprintf('cast(%s as varchar)', $field);
return $field;