public function testUpdateTtlTimestamp() { $stmt = CqlQueryBuilder::update('tbl', ['field1' => 'value1'])->usingTtl(50)->usingTimestamp(123456); $this->assertEquals('UPDATE "tbl" USING TTL 50 AND TIMESTAMP 123456 SET "field1" = \'value1\'', CqlAssembler::stringify($stmt)); $assembler = new CqlAssembler($stmt); $this->assertEquals('UPDATE "tbl" USING TTL ? AND TIMESTAMP ? SET "field1" = ?', $assembler->getQuery()); $this->assertEquals([50, 123456, 'value1'], $assembler->getParameters()); }
public function testInsertTtlTimestamp() { $stmt = CqlQueryBuilder::insertInto('tbl', 'field1', 'field2')->values('value1', 'value2')->usingTtl(50)->usingTimestamp(123456); $this->assertEquals('INSERT INTO "tbl" ("field1", "field2") VALUES (\'value1\', \'value2\') USING TTL 50 AND TIMESTAMP 123456', CqlAssembler::stringify($stmt)); $assembler = new CqlAssembler($stmt); $this->assertEquals('INSERT INTO "tbl" ("field1", "field2") VALUES (?, ?) USING TTL ? AND TIMESTAMP ?', $assembler->getQuery()); $this->assertEquals(['value1', 'value2', 50, 123456], $assembler->getParameters()); }
public function testAssemble() { $expression = new StringExpression(); $expression->setValue(1); $this->assertEquals('1', QueryAssembler::stringify($expression)); $expression->setValue('abc'); $this->assertEquals('"abc"', QueryAssembler::stringify($expression)); $expression->setValue('a"b"c'); $this->assertEquals('"a\\"b\\"c"', QueryAssembler::stringify($expression)); $expression->setValue('a"b"c'); $this->assertEquals("'a\"b\"c'", CqlAssembler::stringify($expression)); $expression->setValue("a'b'c"); $this->assertEquals("'a''b''c'", CqlAssembler::stringify($expression)); $expression->setValue("a''b''c"); $this->assertEquals("'a''''b''''c'", CqlAssembler::stringify($expression)); $expression->setValue("'a'b'c'"); $this->assertEquals("'''a''b''c'''", CqlAssembler::stringify($expression)); }
public function testTableExpression() { $this->assertEquals('"testTable"', CqlAssembler::stringify(TableExpression::create('testTable'))); }
public function testAssemble() { $statement = CqlQueryBuilder::select(AllSelectExpression::create()); $statement->addClause(new AllowFilteringClause()); $this->assertEquals('SELECT * ALLOW FILTERING', CqlAssembler::stringify($statement)); }
public function testSetExpression() { $this->assertEquals("{'test',1}", CqlAssembler::stringify(SetExpression::create(['test', 1]))); $this->assertEquals("\"testfield\" + {'test'}", CqlAssembler::stringify(AdditionExpression::create(FieldExpression::create('testfield'), SetExpression::create('test')))); }
public function testListFieldExpression() { $this->assertEquals("myfield[5] = 'test'", CqlAssembler::stringify(EqualPredicate::create(ListFieldExpression::create('myfield', 5), 'test'))); }
public function testMapFieldExpression() { $this->assertEquals("myfield['mykey'] = 'test'", CqlAssembler::stringify(EqualPredicate::create(MapFieldExpression::create('myfield', 'mykey'), 'test'))); }