/**
  * Nested composite Cassandra types (list, map, set, tuple, and UDT) to be
  * used by data providers
  */
 public function nestedCassandraTypes()
 {
     $compositeCassandraTypes = $this->compositeCassandraTypes();
     foreach ($compositeCassandraTypes as $nestedType) {
         $type = Type::collection($nestedType[0]);
         $nestedCassandraTypes[] = array($type, array($type->create($nestedType[1][0])));
     }
     foreach ($compositeCassandraTypes as $nestedType) {
         $type = Type::set($nestedType[0]);
         $nestedCassandraTypes[] = array($type, array($type->create($nestedType[1][0])));
     }
     foreach ($compositeCassandraTypes as $nestedType) {
         $type = Type::map($nestedType[0], $nestedType[0]);
         $nestedCassandraTypes[] = array($type, array($type->create($nestedType[1][0], $nestedType[1][1])));
     }
     foreach ($compositeCassandraTypes as $nestedType) {
         $type = Type::tuple($nestedType[0], $nestedType[0]);
         $nestedCassandraTypes[] = array($type, array($type->create($nestedType[1][0], $nestedType[1][1])));
     }
     foreach ($compositeCassandraTypes as $nestedType) {
         $type = Type::userType("a", $nestedType[0], "b", $nestedType[0]);
         $type = $type->withName(self::userTypeString($type));
         $nestedCassandraTypes[] = array($type, array($type->create("a", $nestedType[1][0], "b", $nestedType[1][1])));
     }
     return $nestedCassandraTypes;
 }
Exemplo n.º 2
0
 public function compositeTypes()
 {
     $map_type = Type::map(Type::varchar(), Type::varchar());
     $set_type = Type::set(Type::varchar());
     $list_type = Type::collection(Type::varchar());
     $tuple_type = Type::tuple(Type::varchar(), Type::int());
     return array(array($map_type, $map_type->create("a", "1", "b", "2")), array($set_type, $set_type->create("a", "b", "c")), array($list_type, $list_type->create("a", "b", "c")), array($tuple_type, $tuple_type->create("a", 42)));
 }
Exemplo n.º 3
0
 public function notEqualTypes()
 {
     $setType = Type::set(Type::int());
     return array(array(Type::collection(Type::int())->create(), Type::collection(Type::varchar())->create()), array(Type::collection(Type::int())->create(1, 2, 3), Type::collection(Type::int())->create(4, 5, 6)), array(Type::collection(Type::int())->create(1, 2, 3), Type::collection(Type::int())->create(1)), array(Type::collection(Type::varchar())->create('a', 'b', 'c'), Type::collection(Type::varchar())->create('a', 'b', 'd')), array(Type::collection($setType)->create($setType->create(1, 2, 3)), Type::collection($setType)->create($setType->create(4, 5, 6))));
 }
Exemplo n.º 4
0
 public function compositeTypes()
 {
     return array(array(Type::map(Type::varchar(), Type::varchar())), array(Type::set(Type::varchar())), array(Type::collection(Type::varchar())));
 }
 /**
  * Data provider for lists with nested composite types
  */
 public function collectionWithNestedTypes()
 {
     return array_map(function ($cassandraType) {
         $listType = Type::collection($cassandraType[0]);
         $list = $listType->create();
         foreach ($cassandraType[1] as $value) {
             $list->add($value);
         }
         return array($listType, $list);
     }, $this->nestedCassandraTypes());
 }