diff --git a/core/lib/Drupal/Core/Database/Database.php b/core/lib/Drupal/Core/Database/Database.php
index a799926..124229e 100644
--- a/core/lib/Drupal/Core/Database/Database.php
+++ b/core/lib/Drupal/Core/Database/Database.php
@@ -50,7 +50,7 @@
   /**
    * A processed copy of the database connection information from settings.php.
    *
-   * @var array
+   * @var array[]
    */
   static protected $databaseInfo = array();
 
@@ -78,7 +78,7 @@
    *   '$db_key' => DatabaseLog object.
    * );
    *
-   * @var array
+   * @var \Drupal\Core\Database\Log[]
    */
   static protected $logs = array();
 
@@ -190,6 +190,8 @@
   /**
    * Sets the active connection to the specified key.
    *
+   * @param string $key
+   *
    * @return string|null
    *   The previous database connection key.
    */
@@ -356,6 +358,8 @@
    * @param string $target
    *   The database target to open.
    *
+   * @return \Drupal\Core\Database\Connection
+   *
    * @throws \Drupal\Core\Database\ConnectionNotDefinedException
    * @throws \Drupal\Core\Database\DriverNotSpecifiedException
    */
diff --git a/core/lib/Drupal/Core/Database/Log.php b/core/lib/Drupal/Core/Database/Log.php
index 14f5a38..797d671 100644
--- a/core/lib/Drupal/Core/Database/Log.php
+++ b/core/lib/Drupal/Core/Database/Log.php
@@ -107,11 +107,11 @@ public function end($logging_key) {
   /**
    * Log a query to all active logging keys.
    *
-   * @param $statement
+   * @param StatementInterface $statement
    *   The prepared statement object to log.
-   * @param $args
+   * @param array $args
    *   The arguments passed to the statement object.
-   * @param $time
+   * @param int $time
    *   The time in milliseconds the query took to execute.
    */
   public function log(StatementInterface $statement, $args, $time) {
@@ -137,7 +137,7 @@ public function log(StatementInterface $statement, $args, $time) {
    * the query builders.
    *
    * @link http://www.php.net/debug_backtrace
-   * @return
+   * @return array
    *   This method returns a stack trace entry similar to that generated by
    *   debug_backtrace(). However, it flattens the trace entry and the trace
    *   entry before it so that we get the function and args of the function that
diff --git a/core/lib/Drupal/Core/Database/Schema.php b/core/lib/Drupal/Core/Database/Schema.php
index b588756..87a63d3 100644
--- a/core/lib/Drupal/Core/Database/Schema.php
+++ b/core/lib/Drupal/Core/Database/Schema.php
@@ -165,10 +165,15 @@
 
 abstract class Schema implements PlaceholderInterface {
 
+  /**
+   * @var \Drupal\Core\Database\Driver\Sqlite\Connection
+   */
   protected $connection;
 
   /**
    * The placeholder counter.
+   *
+   * @var int
    */
   protected $placeholder = 0;
 
@@ -185,9 +190,14 @@
 
   /**
    * A unique identifier for this query object.
+   *
+   * @var string
    */
   protected $uniqueIdentifier;
 
+  /**
+   * @param \Drupal\Core\Database\Driver\Sqlite\Connection $connection
+   */
   public function __construct($connection) {
     $this->uniqueIdentifier = uniqid('', TRUE);
     $this->connection = $connection;
@@ -202,6 +212,8 @@ public function __clone() {
 
   /**
    * Implements PlaceHolderInterface::uniqueIdentifier().
+   *
+   * @return string
    */
   public function uniqueIdentifier() {
     return $this->uniqueIdentifier;
@@ -217,13 +229,13 @@ public function nextPlaceholder() {
   /**
    * Get information about the table name and schema from the prefix.
    *
-   * @param
-   *   Name of table to look prefix up for. Defaults to 'default' because that's
+   * @param string $table
+   *   Name of table to look prefix up for. Defaults to 'default' because that is the
    *   default key for prefix.
-   * @param $add_prefix
-   *   Boolean that indicates whether the given table name should be prefixed.
+   * @param bool $add_prefix
+   *   TRUE, if the given table name should be prefixed. FALSE, otherwise.
    *
-   * @return
+   * @return array
    *   A keyed array with information about the schema, table name and prefix.
    */
   protected function getPrefixInfo($table = 'default', $add_prefix = TRUE) {
@@ -278,7 +290,7 @@ function prefixNonTable($table) {
    * to make all the others work. For example see
    * core/includes/databases/mysql/schema.inc.
    *
-   * @param $table_name
+   * @param string $table_name
    *   The name of the table in question.
    * @param $operator
    *   The operator to apply on the 'table' part of the condition.
@@ -304,10 +316,10 @@ protected function buildTableNameCondition($table_name, $operator = '=', $add_pr
   /**
    * Check if a table exists.
    *
-   * @param $table
+   * @param string $table
    *   The name of the table in drupal (no prefixing).
    *
-   * @return
+   * @return bool
    *   TRUE if the given table exists, otherwise FALSE.
    */
   public function tableExists($table) {
@@ -324,11 +336,11 @@ public function tableExists($table) {
   /**
    * Find all tables that are like the specified base table name.
    *
-   * @param $table_expression
+   * @param string $table_expression
    *   An SQL expression, for example "simpletest%" (without the quotes).
    *   BEWARE: this is not prefixed, the caller should take care of that.
    *
-   * @return
+   * @return string[]
    *   Array, both the keys and the values are the matching tables.
    */
   public function findTables($table_expression) {
@@ -346,12 +358,12 @@ public function findTables($table_expression) {
   /**
    * Check if a column exists in the given table.
    *
-   * @param $table
+   * @param string $table
    *   The name of the table in drupal (no prefixing).
-   * @param $name
+   * @param string $column
    *   The name of the column.
    *
-   * @return
+   * @return bool
    *   TRUE if the given column exists, otherwise FALSE.
    */
   public function fieldExists($table, $column) {
@@ -689,10 +701,12 @@ public function createTable($name, $table) {
    * This is usually an identity function but if a key/index uses a column prefix
    * specification, this function extracts just the name.
    *
-   * @param $fields
-   *   An array of key/index column specifiers.
+   * @param array $fields
+   *   An array of key/index column specifiers. Each array value can be either
+   *   - a string field name.
+   *   - an of two strings: array($field_name, $field_alias).
    *
-   * @return
+   * @return string[]
    *   An array of field names.
    */
   public function fieldNames($fields) {
@@ -711,13 +725,13 @@ public function fieldNames($fields) {
   /**
    * Prepare a table or column comment for database query.
    *
-   * @param $comment
+   * @param string $comment
    *   The comment string to prepare.
-   * @param $length
+   * @param int $length
    *   Optional upper limit on the returned string length.
    *
-   * @return
-   *   The prepared comment.
+   * @return string|false
+   *   The prepared comment, or FALSE if the driver does not support it.
    */
   public function prepareComment($comment, $length = NULL) {
     return $this->connection->quote($comment);
diff --git a/core/lib/Drupal/Core/Database/Statement.php b/core/lib/Drupal/Core/Database/Statement.php
index ca70c4c..2042911 100644
--- a/core/lib/Drupal/Core/Database/Statement.php
+++ b/core/lib/Drupal/Core/Database/Statement.php
@@ -36,6 +36,9 @@ class Statement extends \PDOStatement implements StatementInterface {
    */
   public $allowRowCount = FALSE;
 
+  /**
+   * @param \Drupal\Core\Database\Connection $dbh
+   */
   protected function __construct(Connection $dbh) {
     $this->dbh = $dbh;
     $this->setFetchMode(\PDO::FETCH_OBJ);
diff --git a/core/lib/Drupal/Core/Database/StatementInterface.php b/core/lib/Drupal/Core/Database/StatementInterface.php
index c6ea3ab..c083c88 100644
--- a/core/lib/Drupal/Core/Database/StatementInterface.php
+++ b/core/lib/Drupal/Core/Database/StatementInterface.php
@@ -89,16 +89,18 @@ public function rowCount();
    * See http://php.net/manual/pdo.constants.php for the definition of the
    * constants used.
    *
-   * @param $mode
+   * @param int $mode
    *   One of the PDO::FETCH_* constants.
-   * @param $a1
+   * @param int|string|object $a1
    *   An option depending of the fetch mode specified by $mode:
    *   - for PDO::FETCH_COLUMN, the index of the column to fetch
    *   - for PDO::FETCH_CLASS, the name of the class to create
    *   - for PDO::FETCH_INTO, the object to add the data to
-   * @param $a2
+   * @param array $a2
    *   If $mode is PDO::FETCH_CLASS, the optional arguments to pass to the
    *   constructor.
+   *
+   * @see \PDOStatement::setFetchMode()
    */
   // public function setFetchMode($mode, $a1 = NULL, $a2 = array());
 
@@ -116,7 +118,7 @@ public function rowCount();
    * @param $cursor_offset
    *   Not implemented in all database drivers, don't use.
    *
-   * @return
+   * @return mixed
    *   A result, formatted according to $mode.
    */
   // public function fetch($mode = NULL, $cursor_orientation = NULL, $cursor_offset = NULL);
@@ -155,14 +157,14 @@ public function fetchAssoc();
   /**
    * Returns an array containing all of the result set rows.
    *
-   * @param $mode
+   * @param int $mode
    *   One of the PDO::FETCH_* constants.
-   * @param $column_index
+   * @param int $column_index
    *   If $mode is PDO::FETCH_COLUMN, the index of the column to fetch.
-   * @param $constructor_arguments
+   * @param array $constructor_arguments
    *   If $mode is PDO::FETCH_CLASS, the arguments to pass to the constructor.
    *
-   * @return
+   * @return array[]|object[]|mixed[]
    *   An array of results.
    */
   // function fetchAll($mode = NULL, $column_index = NULL, array $constructor_arguments);
@@ -172,10 +174,10 @@ public function fetchAssoc();
    *
    * Note that this method will run the result set to the end.
    *
-   * @param $index
+   * @param int $index
    *   The index of the column number to fetch.
    *
-   * @return
+   * @return mixed[]
    *   An indexed array, or an empty array if there is no result set.
    */
   public function fetchCol($index = 0);
@@ -190,12 +192,12 @@ public function fetchCol($index = 0);
    *
    * Note that this method will run the result set to the end.
    *
-   * @param $key_index
+   * @param int $key_index
    *   The numeric index of the field to use as the array key.
-   * @param $value_index
+   * @param int $value_index
    *   The numeric index of the field to use as the array value.
    *
-   * @return
+   * @return mixed[]
    *   An associative array, or an empty array if there is no result set.
    */
   public function fetchAllKeyed($key_index = 0, $value_index = 1);
@@ -206,15 +208,15 @@ public function fetchAllKeyed($key_index = 0, $value_index = 1);
    * If the given key appears multiple times, later records will overwrite
    * earlier ones.
    *
-   * @param $key
+   * @param string $key
    *   The name of the field on which to index the array.
-   * @param $fetch
+   * @param int $fetch
    *   The fetchmode to use. If set to PDO::FETCH_ASSOC, PDO::FETCH_NUM, or
    *   PDO::FETCH_BOTH the returned value with be an array of arrays. For any
    *   other value it will be an array of objects. By default, the fetch mode
    *   set for the query will be used.
    *
-   * @return
+   * @return array[]|object[]
    *   An associative array, or an empty array if there is no result set.
    */
   public function fetchAllAssoc($key, $fetch = NULL);
diff --git a/core/lib/Drupal/Core/Database/StatementPrefetch.php b/core/lib/Drupal/Core/Database/StatementPrefetch.php
index c32d94a..d35c4eb 100644
--- a/core/lib/Drupal/Core/Database/StatementPrefetch.php
+++ b/core/lib/Drupal/Core/Database/StatementPrefetch.php
@@ -135,6 +135,12 @@ class StatementPrefetch implements \Iterator, StatementInterface {
    */
   public $allowRowCount = FALSE;
 
+  /**
+   * @param \PDO $dbh
+   * @param \Drupal\Core\Database\Connection $connection
+   * @param string $query
+   * @param array $driver_options
+   */
   public function __construct(\PDO $dbh, Connection $connection, $query, array $driver_options = array()) {
     $this->dbh = $dbh;
     $this->connection = $connection;
@@ -145,11 +151,12 @@ public function __construct(\PDO $dbh, Connection $connection, $query, array $dr
   /**
    * Executes a prepared statement.
    *
-   * @param $args
+   * @param array $args
    *   An array of values with as many elements as there are bound parameters in the SQL statement being executed.
-   * @param $options
+   * @param array $options
    *   An array of options for this query.
-   * @return
+   *
+   * @return bool
    *   TRUE on success, or FALSE on failure.
    */
   public function execute($args = array(), $options = array()) {
@@ -228,8 +235,8 @@ protected function throwPDOException() {
    * Some drivers (including SQLite) will need to perform some preparation
    * themselves to get the statement right.
    *
-   * @param $query
-   *   The query.
+   * @param string $query
+   *   The query string.
    * @param array $args
    *   An array of arguments.
    * @return \PDOStatement
@@ -241,12 +248,19 @@ protected function getStatement($query, &$args = array()) {
 
   /**
    * Return the object's SQL query string.
+   *
+   * @return string
    */
   public function getQueryString() {
     return $this->queryString;
   }
 
   /**
+   * @param int $fetchStyle
+   *   One of the PDO::FETCH_* constants.
+   * @param array $a2
+   * @param array $a3
+   *
    * @see \PDOStatement::setFetchMode()
    */
   public function setFetchMode($fetchStyle, $a2 = NULL, $a3 = NULL) {
@@ -278,8 +292,8 @@ public function setFetchMode($fetchStyle, $a2 = NULL, $a3 = NULL) {
    * array position in $this->data and format it according to $this->fetchStyle
    * and $this->fetchMode.
    *
-   * @return
-   *  The current row formatted as requested.
+   * @return array|mixed|object
+   *   The current row formatted as requested.
    */
   public function current() {
     if (isset($this->currentRow)) {
@@ -383,6 +397,17 @@ public function fetch($fetch_style = NULL, $cursor_orientation = \PDO::FETCH_ORI
     }
   }
 
+  /**
+   * Returns a single field value from the next row of a result set.
+   *
+   * Mimicks the \PDO::fetchColumn() method.
+   * @link http://php.net/manual/en/pdostatement.fetchcolumn.php
+   *
+   * @param int $index
+   *   The column index.
+   * @return string|false
+   *   The fetched field value, or FALSE, if no further row was found.
+   */
   public function fetchColumn($index = 0) {
     if (isset($this->currentRow) && isset($this->columnNames[$index])) {
       // We grab the value directly from $this->data, and format it.
