Skip to content

Commit

Permalink
fix CQL ArrayExpression
Browse files Browse the repository at this point in the history
  • Loading branch information
TomK committed Jan 22, 2015
1 parent 76ef2c0 commit d2ec911
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/Assembler/CQL/CqlExpressionAssembler.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
namespace Packaged\QueryBuilder\Assembler\CQL;

use Packaged\QueryBuilder\Assembler\Segments\ExpressionAssembler;
use Packaged\QueryBuilder\Expression\ArrayExpression;
use Packaged\QueryBuilder\Expression\StringExpression;

class CqlExpressionAssembler extends ExpressionAssembler
Expand All @@ -10,4 +11,9 @@ public function assembleStringExpression(StringExpression $expr)
{
return '\'' . $expr->getValue() . '\'';
}

public function assembleArrayExpression(ArrayExpression $expr)
{
return '(\'' . implode('\',\'', $expr->getValue()) . '\')';
}
}
10 changes: 10 additions & 0 deletions tests/Assembler/CQL/CqlAssemblerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
use Packaged\QueryBuilder\Expression\StringExpression;
use Packaged\QueryBuilder\Expression\TableExpression;
use Packaged\QueryBuilder\Predicate\BetweenPredicate;
use Packaged\QueryBuilder\Predicate\InPredicate;
use Packaged\QueryBuilder\Predicate\PredicateSet;
use Packaged\QueryBuilder\SelectExpression\AllSelectExpression;
use Packaged\QueryBuilder\SelectExpression\CountSelectExpression;
Expand Down Expand Up @@ -103,6 +104,15 @@ public function testCountExpression()
$this->assertEquals('COUNT(*)', CqlAssembler::stringify($predicate));
}

public function testArrayExpression()
{
$predicate = InPredicate::create('field', [1, 2, 3]);
$this->assertEquals(
"\"field\" IN ('1','2','3')",
CqlAssembler::stringify($predicate)
);
}

public function testTableExpression()
{
$this->assertEquals(
Expand Down

0 comments on commit d2ec911

Please sign in to comment.