/** * Helper function to add a Super Column instance to this Super Column Family * addSuper overrides the parent container reference in the object instance * To add the same supercolumn instance to multiple columnfamilies, use object clones * instead. * @param PandraSuperColumn $scObj * @return PandraSuperColumn */ public function addSuper(PandraSuperColumn $scObj) { $superName = $scObj->getName(); if ($this->getType() == self::TYPE_UUID && !UUID::isBinary($scObj->getName())) { $scObj->setName(UUID::convert($scObj->getName(), UUID::UUID_FMT_BIN)); } $scObj->setParent($this, false); $this->_columns[$superName] = $scObj; return $this->getColumn($superName); }
/** * Determins if column name exists in children at depth 1 * @param string $columnName column name * @return bool column exists */ public function columnIn($columnName) { if (UUID::isBinary($columnName)) { $columnName = UUID::convert($columnName, UUID::UUID_FMT_STR); } return array_key_exists($columnName, $this->_columns); }
protected static function unparse_column_name($column_name, $type = CassandraCF::CT_BytesType) { if (!$column_name) { return NULL; } if (UUID::isBinary($column_name)) { return $column_name; } if ($type == self::CT_TimeUUIDType || $type == self::CT_LexicalUUIDType) { return UUID::convert($column_name, UUID::FMT_STRING, UUID::FMT_BINARY); } else { if ($type == self::CT_LongType) { return pack("N2", $column_name, 0); // FIXME: currently only supports 32 bit unsigned } else { return $column_name; } } }