diff --git a/core/lib/Drupal/Core/Database/Connection.php b/core/lib/Drupal/Core/Database/Connection.php
index 7c42402..197cb69 100644
--- a/core/lib/Drupal/Core/Database/Connection.php
+++ b/core/lib/Drupal/Core/Database/Connection.php
@@ -1226,7 +1226,7 @@ public function commit() {
   }
 
   /**
-   * Retrieves an unique id from a given sequence.
+   * Retrieves a unique ID from a given sequence.
    *
    * Use this function if for some reason you can't use a serial field. For
    * example, MySQL has no ways of reading of the current value of a sequence
@@ -1234,13 +1234,14 @@ public function commit() {
    * value. Or sometimes you just need a unique integer.
    *
    * @param $existing_id
+   *   The maximum existing ID.
    *   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.
+   *   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_id if one was passed in.
+   *   also larger than $existing_id if one was passed in.
    */
   abstract public function nextId($existing_id = 0);
 
diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php
index e6c16bb..80fc2dc 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);
@@ -155,6 +155,9 @@ public function queryTemporary($query, array $args = array(), array $options = a
     return $tablename;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function driver() {
     return 'mysql';
   }
@@ -234,6 +237,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 8f5b710..4f433d5 100644
--- a/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
+++ b/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
@@ -45,9 +45,14 @@ class Schema extends DatabaseSchema {
   );
 
   /**
-   * Get information about the table and database name from the prefix.
+   * Gets information about the table name and database from the prefix.
    *
-   * @return
+   * @param string $table
+   *   Name of table to look prefix up for.
+   * @param bool $add_prefix
+   *   Boolean that indicates whether the given table name should be prefixed.
+   *
+   * @return array
    *   A keyed array with information about the database, table name and prefix.
    */
   protected function getPrefixInfo($table = 'default', $add_prefix = TRUE) {
@@ -146,6 +151,9 @@ protected function createTableSql($name, $table) {
    *   Name of the field.
    * @param array $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'];
@@ -533,6 +541,14 @@ public function prepareComment($comment, $length = NULL) {
 
   /**
    * Retrieve a table or column comment.
+   *
+   * @param $table
+   *   The database table to return comments for.
+   * @param $column
+   *   (optional) A column in $table to return comments for.
+   *
+   * @return string
+   *   A table or column comment.
    */
   public function getComment($table, $column = NULL) {
     $condition = $this->buildTableNameCondition($table);
diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
index ac0184b..98680b8 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
@@ -22,7 +22,7 @@
 class Connection extends DatabaseConnection {
 
   /**
-   * The name by which to obtain a lock for retrieve the next insert id.
+   * The name used to obtain a lock to retrieve the next insert ID.
    */
   const POSTGRESQL_NEXTID_LOCK = 1000;
 
@@ -53,7 +53,7 @@ class Connection extends DatabaseConnection {
   'window', 'with'];
 
   /**
-   * Constructs a connection object.
+   * {@inheritdoc}
    */
   public function __construct(\PDO $connection, array $connection_options) {
     parent::__construct($connection, $connection_options);
@@ -232,6 +232,9 @@ public function escapeTable($table) {
     return $escaped;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function driver() {
     return 'pgsql';
   }
@@ -283,11 +286,21 @@ public function mapConditionOperator($operator) {
   }
 
   /**
-   * Retrieve a the next id in a sequence.
+   * Retrieves 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
+   *   The maximum existing ID makes sure that we never issue the same ID, even
+   *   after a database import when it might be that the sequences table is
+   *   behind.
+   *
+   * @return int
+   *   An integer number larger than any number returned by earlier calls and
+   *   also larger than $existing if one was passed in.
+    */
+
   public function nextId($existing = 0) {
 
     // Retrieve the name of the sequence. This information cannot be cached
@@ -314,10 +327,10 @@ public function nextId($existing = 0) {
       return $id;
     }
 
-    // Reset the sequence to a higher value than the existing id.
+    // Reset the sequence to a higher value than the existing ID.
     $this->query("ALTER SEQUENCE " . $sequence_name . " RESTART WITH " . ($existing + 1));
 
-    // Retrieve the next id. We know this will be as high as we want it.
+    // Retrieve the next ID. We know this will be as high as we want it.
     $id = $this->query("SELECT nextval('" . $sequence_name . "')")->fetchField();
 
     $this->query("SELECT pg_advisory_unlock(" . self::POSTGRESQL_NEXTID_LOCK . ")");
diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
index e3062dd..0f591dc 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
@@ -83,9 +83,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 object
    *   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.
@@ -169,11 +170,12 @@ protected function resetTableInformation($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) {
@@ -207,11 +209,11 @@ 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) {
@@ -268,9 +270,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) {
     // The PostgreSQL server converts names into lowercase, unless quoted.
@@ -400,6 +405,17 @@ function getFieldTypeMap() {
     return $map;
   }
 
+  /**
+   * Generates SQL from field definitions.
+   *
+   * @param array $fields
+   *   Array of field definitions. Each array value is either:
+   *   - A field name (string).
+   *   - An array containing the field name and field alias.
+   *
+   * @return string
+   *   The generated SQL snippet.
+   */
   protected function _createKeySql($fields) {
     $return = array();
     foreach ($fields as $field) {
@@ -496,6 +512,9 @@ function renameTable($table, $new_name) {
     $this->resetTableInformation($table);
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function dropTable($table) {
     if (!$this->tableExists($table)) {
       return FALSE;
@@ -584,6 +603,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.
    */
   public function constraintExists($table, $name) {
     $constraint_name = $this->ensureIdentifiersLength($table, $name);
@@ -762,6 +784,21 @@ public function changeField($table, $field, $field_new, $spec, $new_keys = array
     $this->resetTableInformation($table);
   }
 
+  /**
+   * Generates index SQL from field definitions.
+   *
+   * @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).
+   *   - An array containing the field name and field 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) . ')';
@@ -786,6 +823,14 @@ protected function _createKeys($table, $new_keys) {
 
   /**
    * Retrieve a table or column comment.
+   *
+   * @param $table
+   *   The database table to return comments for.
+   * @param $column
+   *   (optional) A column in $table to return comments for.
+   *
+   * @return string
+   *   A table or column comment.
    */
   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 c0f6c10..bdae36d 100644
--- a/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php
@@ -12,7 +12,9 @@
 use Drupal\Core\Database\Connection as DatabaseConnection;
 
 /**
- * Specific SQLite implementation of DatabaseConnection.
+ * Specific SQLlite implementation of DatabaseConnection.
+ *
+ * @ingroup database
  */
 class Connection extends DatabaseConnection {
 
@@ -49,7 +51,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) {
     // We don't need a specific PDOStatement class here, we simulate it in
@@ -170,6 +172,16 @@ 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
+   *   Value if $condition is TRUE.
+   * @param mixed $expr2
+   *   (optional) Value if $condition is FALSE.
+   *
+   * @return string
+   *   It returns $expr1 if $condition is TRUE, and $expr2 if not.
    */
   public static function sqlFunctionIf($condition, $expr1, $expr2 = NULL) {
     return $condition ? $expr1 : $expr2;
@@ -177,6 +189,12 @@ public static function sqlFunctionIf($condition, $expr1, $expr2 = NULL) {
 
   /**
    * SQLite compatibility implementation for the GREATEST() SQL function.
+   *
+   * @param ...
+   *   Variable parameters.
+   *
+   * @return mixed|null
+   *   The maximum of the given arguments.
    */
   public static function sqlFunctionGreatest() {
     $args = func_get_args();
@@ -195,6 +213,12 @@ public static function sqlFunctionGreatest() {
 
   /**
    * SQLite compatibility implementation for the CONCAT() SQL function.
+   *
+   * @param ...
+   *   Variable parameters.
+   *
+   * @return string
+   *   Concatenated input arguments.
    */
   public static function sqlFunctionConcat() {
     $args = func_get_args();
@@ -222,6 +246,16 @@ public static function sqlFunctionConcatWs() {
 
   /**
    * 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
+   *   A substring of the provided string.
    */
   public static function sqlFunctionSubstring($string, $from, $length) {
     return substr($string, $from - 1, $length);
@@ -229,6 +263,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 start point for the returned substring occurring after $count.
+   * @param int $count
+   *   An offset of $string.
+   *
+   * @return string
+   *  A substring of the provided string.
    */
   public static function sqlFunctionSubstringIndex($string, $delimiter, $count) {
     // If string is empty, simply return an empty string.
@@ -289,7 +333,23 @@ public static function sqlFunctionLikeBinary($pattern, $subject) {
   }
 
   /**
-   * {@inheritdoc}
+   * 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 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);
@@ -328,6 +388,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 3ac3811..da6c194 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();
@@ -151,9 +168,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'])) {
@@ -355,13 +375,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:
@@ -420,10 +440,13 @@ 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()
    */
   protected function introspectSchema($table) {
     $mapped_fields = array_flip($this->getFieldTypeMap());
@@ -568,6 +591,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) {
