/** * {@inheritdoc} */ public function findMask(RequesterInterface $requester, ResourceInterface $resource) { $oldFetchMode = $this->connection->getFetchMode(); $this->connection->setFetchMode(\PDO::FETCH_COLUMN); if (null === ($mask = $this->connection->selectOne('SELECT mask FROM ' . $this->getAclSchema()->getPermissionsTableName() . ' WHERE requester = :requester AND resource = :resource', ['requester' => $requester->getAclRequesterIdentifier(), 'resource' => $resource->getAclResourceIdentifier()]))) { $this->connection->setFetchMode($oldFetchMode); throw new MaskNotFoundException(); } $this->connection->setFetchMode($oldFetchMode); return (int) $mask; }
/** * function to get oracle sequence last inserted id * * @param string $name * @return integer */ public function lastInsertId($name) { // check if a valid name and sequence exists if (!$name or !$this->exists($name)) { return 0; } return $this->connection->selectOne("select {$name}.currval as id from dual")->id; }
/** * get table's primary key * * @param string $table * @return string */ public function getPrimaryKey($table) { if (!$table) { return ''; } $data = $this->connection->selectOne("\n SELECT cols.column_name\n FROM all_constraints cons, all_cons_columns cols\n WHERE cols.table_name = upper('{$table}')\n AND cons.constraint_type = 'P'\n AND cons.constraint_name = cols.constraint_name\n AND cons.owner = cols.owner\n AND cols.position = 1\n AND cons.owner = (select user from dual)\n ORDER BY cols.table_name, cols.position\n "); if (count($data)) { return $data->column_name; } return ''; }