diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php
index 66cd34f..a06ba05 100644
--- a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php
@@ -35,7 +35,7 @@ class Connection extends DatabaseConnection {
   protected $needsCleanup = FALSE;
 
   /**
-   * Constructs a Connection object.
+   * {@inheritdoc}
    */
   public function __construct(\PDO $connection, array $connection_options = array()) {
     parent::__construct($connection, $connection_options);
@@ -144,6 +144,9 @@ public function queryTemporary($query, array $args = array(), array $options = a
     return $tablename;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function driver() {
     return 'mysql';
   }
@@ -223,6 +226,10 @@ public function nextIdDelete() {
 
   /**
    * Overridden to work around issues to MySQL not supporting transactional DDL.
+   *
+   * @throws \Drupal\Core\Database\DatabaseExceptionWrapper
+   * @throws \Exception
+   * @throws \Drupal\Core\Database\TransactionCommitFailedException
    */
   protected function popCommittableTransactions() {
     // Commit all the committable layers.
diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php b/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
index 9ff22e1..925f8c8 100644
--- a/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
+++ b/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
@@ -33,9 +33,18 @@ class Schema extends DatabaseSchema {
   const COMMENT_MAX_COLUMN = 255;
 
   /**
-   * Get information about the table and database name from the prefix.
+   * Get information about the table name and database from the prefix.
    *
-   * @return
+   * @param
+   *   Name of table to look prefix up for. Defaults to 'default' because that's
+   *   default key for prefix.
+   * @param $add_prefix
+   *   Boolean that indicates whether the given table name should be prefixed.
+   *
+   * @param string $table
+   * @param bool $add_prefix
+   *
+   * @return array
    *   A keyed array with information about the database, table name and prefix.
    */
   protected function getPrefixInfo($table = 'default', $add_prefix = TRUE) {
@@ -75,11 +84,12 @@ protected function buildTableNameCondition($table_name, $operator = '=', $add_pr
   /**
    * Generate SQL to create a new table from a Drupal schema definition.
    *
-   * @param $name
+   * @param string $name
    *   The name of the table to create.
-   * @param $table
+   * @param array $table
    *   A Schema API table definition array.
-   * @return
+   *
+   * @return string[]
    *   An array of SQL statements to create the table.
    */
   protected function createTableSql($name, $table) {
@@ -134,6 +144,9 @@ protected function createTableSql($name, $table) {
    *   Name of the field.
    * @param $spec
    *   The field specification, as per the schema data structure format.
+   *
+   * @return string
+   *   The Generated SQL string.
    */
   protected function createFieldSql($name, $spec) {
     $sql = "`" . $name . "` " . $spec['mysql_type'];
diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
index 98b7a6b..777f1a5 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
@@ -32,7 +32,7 @@ class Connection extends DatabaseConnection {
   const DATABASE_NOT_FOUND = 7;
 
   /**
-   * Constructs a connection object.
+   * {@inheritdoc}
    */
   public function __construct(\PDO $connection, array $connection_options) {
     parent::__construct($connection, $connection_options);
@@ -186,6 +186,9 @@ public function queryTemporary($query, array $args = array(), array $options = a
     return $tablename;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function driver() {
     return 'pgsql';
   }
@@ -236,10 +239,19 @@ public function mapConditionOperator($operator) {
   }
 
   /**
-   * Retrieve a the next id in a sequence.
+   * Retrieve the next id in a sequence.
    *
    * PostgreSQL has built in sequences. We'll use these instead of inserting
    * and updating a sequences table.
+   *
+   * @param $existing
+   *   After a database import, it might be that the sequences table is behind,
+   *   so by passing in the maximum existing id, it can be assured that we
+   *   never issue the same id.
+   *
+   * @return
+   *   An integer number larger than any number returned by earlier calls and
+   *   also larger than the $existing if one was passed in.
    */
   public function nextId($existing = 0) {
 
diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
index 2190ee5..83a94de 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
@@ -84,9 +84,10 @@ protected function ensureIdentifiersLength($identifier) {
    * We introspect the database to collect the information required by insert
    * and update queries.
    *
-   * @param $table_name
+   * @param string $table
    *   The non-prefixed name of the table.
-   * @return
+   *
+   * @return \stdClass
    *   An object with two member variables:
    *     - 'blob_fields' that lists all the blob fields in the table.
    *     - 'sequences' that lists the sequences used in that table.
@@ -144,11 +145,12 @@ public function queryTableInformation($table) {
    * We introspect the database to collect the information required by field
    * alteration.
    *
-   * @param $table
+   * @param string $table
    *   The non-prefixed name of the table.
-   * @param $field
+   * @param string $field
    *   The name of the field.
-   * @return
+   *
+   * @return mixed[]
    *   An array of all the checks for the field.
    */
   public function queryFieldInformation($table, $field) {
@@ -182,11 +184,12 @@ public function queryFieldInformation($table, $field) {
   /**
    * Generate SQL to create a new table from a Drupal schema definition.
    *
-   * @param $name
+   * @param string $name
    *   The name of the table to create.
-   * @param $table
+   * @param array $table
    *   A Schema API table definition array.
-   * @return
+   *
+   * @return string[]
    *   An array of SQL statements to create the table.
    */
   protected function createTableSql($name, $table) {
@@ -243,9 +246,12 @@ protected function createTableSql($name, $table) {
    * function it has to be processed by _db_process_field().
    *
    * @param $name
-   *    Name of the field.
+   *   Name of the field.
    * @param $spec
-   *    The field specification, as per the schema data structure format.
+   *   The field specification, as per the schema data structure format.
+   *
+   * @return string
+   *   Generated SQL string.
    */
   protected function createFieldSql($name, $spec) {
     $sql = $name . ' ' . $spec['pgsql_type'];
@@ -372,6 +378,15 @@ function getFieldTypeMap() {
     return $map;
   }
 
+  /**
+   * @param array $fields
+   *   Array of field definitions. Each array value is either
+   *   - a field name (string), or
+   *   - an array of two strings, array($field_name, $alias).
+   *
+   * @return string
+   *   The Generated SQL snippet.
+   */
   protected function _createKeySql($fields) {
     $return = array();
     foreach ($fields as $field) {
@@ -433,9 +448,6 @@ function renameTable($table, $new_name) {
     $this->connection->query('ALTER TABLE {' . $table . '} RENAME TO ' . $prefixInfo['table']);
   }
 
-  /**
-   * {@inheritdoc}
-   */
   public function copyTable($source, $destination) {
     // @TODO The server is likely going to rename indexes and constraints
     //   during the copy process, and it will not match our
@@ -525,6 +537,9 @@ public function indexExists($table, $name) {
    *   The name of the table.
    * @param $name
    *   The name of the constraint (typically 'pkey' or '[constraint]_key').
+   *
+   * @return bool
+   *   TRUE, if the constraint exists.
    */
   protected function constraintExists($table, $name) {
     $constraint_name = $this->ensureIdentifiersLength($table, $name);
@@ -693,6 +708,19 @@ public function changeField($table, $field, $field_new, $spec, $new_keys = array
     }
   }
 
+  /**
+   * @param string $table
+   *   The table on which the index will be created.
+   * @param string $name
+   *   An identifying name for this index.
+   * @param array $fields
+   *   Array of field definitions. Each array value is either
+   *   - a field name (string), or
+   *   - an array of two strings, array($field_name, $alias).
+   *
+   * @return string
+   *   The Generated SQL snippet.
+   */
   protected function _createIndexSql($table, $name, $fields) {
     $query = 'CREATE INDEX "' . $this->ensureIdentifiersLength($table, $name, 'idx') . '" ON {' . $table . '} (';
     $query .= $this->_createKeySql($fields) . ')';
@@ -717,6 +745,10 @@ protected function _createKeys($table, $new_keys) {
 
   /**
    * Retrieve a table or column comment.
+   * @param $table
+   *   The database table whose comments to return.
+   * @param $column
+   *   (optional) A column in $table whose comments to return.
    */
   public function getComment($table, $column = NULL) {
     $info = $this->getPrefixInfo($table);
diff --git a/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php b/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php
index bca72c4..b970dcf 100644
--- a/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php
@@ -63,7 +63,7 @@ class Connection extends DatabaseConnection {
   var $tableDropped = FALSE;
 
   /**
-   * Constructs a \Drupal\Core\Database\Driver\sqlite\Connection object.
+   * {@inheritdoc}
    */
   public function __construct(\PDO $connection, array $connection_options) {
     parent::__construct($connection, $connection_options);
@@ -168,6 +168,15 @@ public function __destruct() {
 
   /**
    * SQLite compatibility implementation for the IF() SQL function.
+   *
+   * @param bool $condition
+   *   A condition that will determine what expression is returned.
+   * @param mixed $expr1
+   *   Returned if $condition is results to TRUE.
+   * @param mixed $expr2
+   *   (optional) Returned if $condition results to FALSE.
+   *
+   * @return null
    */
   public static function sqlFunctionIf($condition, $expr1, $expr2 = NULL) {
     return $condition ? $expr1 : $expr2;
@@ -175,6 +184,12 @@ public static function sqlFunctionIf($condition, $expr1, $expr2 = NULL) {
 
   /**
    * SQLite compatibility implementation for the GREATEST() SQL function.
+   *
+   * @param ...
+   *   Variadic parameters.
+   *
+   * @return mixed|NULL
+   *   The maximum of the given arguments.
    */
   public static function sqlFunctionGreatest() {
     $args = func_get_args();
@@ -193,6 +208,12 @@ public static function sqlFunctionGreatest() {
 
   /**
    * SQLite compatibility implementation for the CONCAT() SQL function.
+   *
+   * @param ...
+   *   Variadic parameters.
+   *
+   * @return string
+   *   Concatenated input arguments.
    */
   public static function sqlFunctionConcat() {
     $args = func_get_args();
@@ -201,6 +222,15 @@ public static function sqlFunctionConcat() {
 
   /**
    * SQLite compatibility implementation for the SUBSTRING() SQL function.
+   *
+   * @param string $string
+   *   The string that will be the subject of the the substring evaluation.
+   * @param int $from
+   *   The starting position of the substring.
+   * @param int $length
+   *   The length of the substring.
+   *
+   * @return string
    */
   public static function sqlFunctionSubstring($string, $from, $length) {
     return substr($string, $from - 1, $length);
@@ -208,6 +238,16 @@ public static function sqlFunctionSubstring($string, $from, $length) {
 
   /**
    * SQLite compatibility implementation for the SUBSTRING_INDEX() SQL function.
+   *
+   * @param string $string
+   *   The subject for the substring.
+   * @param string $delimiter
+   *   A value to use start point for the returned substring occurring after
+   *   $count.
+   * @param int $count
+   *   An offset of of $string.
+   *
+   * @return string
    */
   public static function sqlFunctionSubstringIndex($string, $delimiter, $count) {
     // If string is empty, simply return an empty string.
@@ -244,11 +284,24 @@ public static function sqlFunctionRegexp($string, $pattern) {
   }
 
   /**
-   * SQLite-specific implementation of DatabaseConnection::prepare().
+   * SQLite-specific implementation of
+   * \Drupal\Core\Database\Connection::prepare().
    *
    * We don't use prepared statements at all at this stage. We just create
    * a Statement object, that will create a PDOStatement
    * using the semi-private PDOPrepare() method below.
+   *
+   * @param string $statement
+   *   This must be a valid SQLite statement.
+   * @param array $driver_options
+   *   See parent method.
+   *
+   * @return \PDOStatement|false
+   *   See parent method.
+   *
+   * @throws \PDOException
+   *
+   * @see \Drupal\Core\Database\Connection::prepare()
    */
   public function prepare($statement, array $driver_options = array()) {
     return new Statement($this->connection, $this, $statement, $driver_options);
@@ -270,6 +323,9 @@ public function queryTemporary($query, array $args = array(), array $options = a
     return $tablename;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function driver() {
     return 'sqlite';
   }
diff --git a/core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php b/core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php
index cb836cd..997c7c2 100644
--- a/core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php
+++ b/core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php
@@ -39,11 +39,12 @@ public function fieldExists($table, $column) {
   /**
    * Generate SQL to create a new table from a Drupal schema definition.
    *
-   * @param $name
+   * @param string $name
    *   The name of the table to create.
-   * @param $table
+   * @param array $table
    *   A Schema API table definition array.
-   * @return
+   *
+   * @return array
    *   An array of SQL statements to create the table.
    */
   public function createTableSql($name, $table) {
@@ -54,6 +55,14 @@ public function createTableSql($name, $table) {
 
   /**
    * Build the SQL expression for indexes.
+   *
+   * @param string $tablename
+   *   The name of the table to create indexes on.
+   * @param array $schema
+   *   A Schema API table definition array.
+   *
+   * @return string[]
+   *   Array of SQL statements to create the indexes.
    */
   protected function createIndexSql($tablename, $schema) {
     $sql = array();
@@ -73,6 +82,14 @@ protected function createIndexSql($tablename, $schema) {
 
   /**
    * Build the SQL expression for creating columns.
+   *
+   * @param string $tablename
+   *   The name of the table to create columns on.
+   * @param array $schema
+   *   A Schema API table definition array.
+   *
+   * @return string
+   *   Generated SQL snippet.
    */
   protected function createColumnsSql($tablename, $schema) {
     $sql_array = array();
@@ -146,9 +163,12 @@ protected function processField($field) {
    * to be processed by db_processField().
    *
    * @param $name
-   *    Name of the field.
+   *   Name of the field.
    * @param $spec
-   *    The field specification, as per the schema data structure format.
+   *   The field specification, as per the schema data structure format.
+   *
+   * @return string
+   *   Generated SQL string.
    */
   protected function createFieldSql($name, $spec) {
     if (!empty($spec['auto_increment'])) {
@@ -356,13 +376,13 @@ public function addField($table, $field, $specification, $keys_new = array()) {
    * As SQLite does not support ALTER TABLE (with a few exceptions) it is
    * necessary to create a new table and copy over the old content.
    *
-   * @param $table
+   * @param string $table
    *   Name of the table to be altered.
-   * @param $old_schema
+   * @param array $old_schema
    *   The old schema array for the table.
-   * @param $new_schema
+   * @param array $new_schema
    *   The new schema array for the table.
-   * @param $mapping
+   * @param array $mapping
    *   An optional mapping between the fields of the old specification and the
    *   fields of the new specification. An associative array, whose keys are
    *   the fields of the new table, and values can take two possible forms:
@@ -421,9 +441,10 @@ protected function alterTable($table, $old_schema, $new_schema, array $mapping =
    * create a schema array. This is useful, for example, during update when
    * the old schema is not available.
    *
-   * @param $table
+   * @param string $table
    *   Name of the table.
-   * @return
+   *
+   * @return array
    *   An array representing the schema, from drupal_get_schema().
    * @see drupal_get_schema()
    */
@@ -563,6 +584,9 @@ public function changeField($table, $field, $field_new, $spec, $keys_new = array
    *   The key definition.
    * @param $mapping
    *   The new mapping.
+   *
+   * @return array
+   *   The modified key definition.
    */
   protected function mapKeyDefinition(array $key_definition, array $mapping) {
     foreach ($key_definition as &$field) {
