update for Issue #2064 (changed docblocks which return $this or only call a method that returns $this to @return CI_DB_class_name)
diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php
index b0e86ed..1aa73ba 100644
--- a/system/database/DB_query_builder.php
+++ b/system/database/DB_query_builder.php
@@ -254,7 +254,7 @@
 	 *
 	 * @param	string
 	 * @param	mixed
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function select($select = '*', $escape = NULL)
 	{
@@ -296,7 +296,7 @@
 	 *
 	 * @param	string	the field
 	 * @param	string	an alias
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function select_max($select = '', $alias = '')
 	{
@@ -312,7 +312,7 @@
 	 *
 	 * @param	string	the field
 	 * @param	string	an alias
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function select_min($select = '', $alias = '')
 	{
@@ -328,7 +328,7 @@
 	 *
 	 * @param	string	the field
 	 * @param	string	an alias
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function select_avg($select = '', $alias = '')
 	{
@@ -344,7 +344,7 @@
 	 *
 	 * @param	string	the field
 	 * @param	string	an alias
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function select_sum($select = '', $alias = '')
 	{
@@ -364,7 +364,7 @@
 	 * @param	string	$select	Field name
 	 * @param	string	$alias
 	 * @param	string	$type
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	protected function _max_min_avg_sum($select = '', $alias = '', $type = 'MAX')
 	{
@@ -426,7 +426,7 @@
 	 * Sets a flag which tells the query string compiler to add DISTINCT
 	 *
 	 * @param	bool	$val
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function distinct($val = TRUE)
 	{
@@ -442,7 +442,7 @@
 	 * Generates the FROM portion of the query
 	 *
 	 * @param	mixed	$from	can be a string or array
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function from($from)
 	{
@@ -496,7 +496,7 @@
 	 * @param	string	the join condition
 	 * @param	string	the type of join
 	 * @param	string	whether not to try to escape identifiers
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function join($table, $cond, $type = '', $escape = NULL)
 	{
@@ -584,7 +584,7 @@
 	 * @param	mixed
 	 * @param	mixed
 	 * @param	bool
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function where($key, $value = NULL, $escape = NULL)
 	{
@@ -602,7 +602,7 @@
 	 * @param	mixed
 	 * @param	mixed
 	 * @param	bool
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function or_where($key, $value = NULL, $escape = NULL)
 	{
@@ -624,7 +624,7 @@
 	 * @param	mixed	$value
 	 * @param	string	$type
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	protected function _wh($qb_key, $key, $value = NULL, $type = 'AND ', $escape = NULL)
 	{
@@ -685,7 +685,7 @@
 	 * @param	string	$key	The field to search
 	 * @param	array	$values	The values searched on
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function where_in($key = NULL, $values = NULL, $escape = NULL)
 	{
@@ -703,7 +703,7 @@
 	 * @param	string	$key	The field to search
 	 * @param	array	$values	The values searched on
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function or_where_in($key = NULL, $values = NULL, $escape = NULL)
 	{
@@ -721,7 +721,7 @@
 	 * @param	string	$key	The field to search
 	 * @param	array	$values	The values searched on
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function where_not_in($key = NULL, $values = NULL, $escape = NULL)
 	{
@@ -739,7 +739,7 @@
 	 * @param	string	$key	The field to search
 	 * @param	array	$values	The values searched on
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function or_where_not_in($key = NULL, $values = NULL, $escape = NULL)
 	{
@@ -761,7 +761,7 @@
 	 * @param	bool	$not	If the statement would be IN or NOT IN
 	 * @param	string	$type
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	protected function _where_in($key = NULL, $values = NULL, $not = FALSE, $type = 'AND ', $escape = NULL)
 	{
@@ -813,7 +813,7 @@
 	 * @param	string	$match
 	 * @param	string	$side
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function like($field, $match = '', $side = 'both', $escape = NULL)
 	{
@@ -832,7 +832,7 @@
 	 * @param	string	$match
 	 * @param	string	$side
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function not_like($field, $match = '', $side = 'both', $escape = NULL)
 	{
@@ -851,7 +851,7 @@
 	 * @param	string	$match
 	 * @param	string	$side
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function or_like($field, $match = '', $side = 'both', $escape = NULL)
 	{
@@ -870,7 +870,7 @@
 	 * @param	string	$match
 	 * @param	string	$side
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function or_not_like($field, $match = '', $side = 'both', $escape = NULL)
 	{
@@ -893,7 +893,7 @@
 	 * @param	string	$side
 	 * @param	string	$not
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	protected function _like($field, $match = '', $type = 'AND ', $side = 'both', $not = '', $escape = NULL)
 	{
@@ -952,7 +952,7 @@
 	 *
 	 * @param	string	$not	(Internal use only)
 	 * @param	string	$type	(Internal use only)
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function group_start($not = '', $type = 'AND ')
 	{
@@ -979,7 +979,7 @@
 	/**
 	 * Starts a query group, but ORs the group
 	 *
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function or_group_start()
 	{
@@ -991,7 +991,7 @@
 	/**
 	 * Starts a query group, but NOTs the group
 	 *
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function not_group_start()
 	{
@@ -1003,7 +1003,7 @@
 	/**
 	 * Starts a query group, but OR NOTs the group
 	 *
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function or_not_group_start()
 	{
@@ -1015,7 +1015,7 @@
 	/**
 	 * Ends a query group
 	 *
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function group_end()
 	{
@@ -1065,7 +1065,7 @@
 	 *
 	 * @param	string	$by
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function group_by($by, $escape = NULL)
 	{
@@ -1140,7 +1140,7 @@
 	 * @param	string	$orderby
 	 * @param	string	$direction	ASC or DESC
 	 * @param	bool	$escape
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function order_by($orderby, $direction = '', $escape = NULL)
 	{
@@ -1198,7 +1198,7 @@
 	 *
 	 * @param	int	$value	LIMIT value
 	 * @param	int	$offset	OFFSET value
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function limit($value, $offset = FALSE)
 	{
@@ -1214,7 +1214,7 @@
 	 * Sets the OFFSET value
 	 *
 	 * @param	int	$offset	OFFSET value
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function offset($offset)
 	{
@@ -1247,7 +1247,7 @@
 	 * @param	mixed
 	 * @param	string
 	 * @param	bool
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function set($key, $value = '', $escape = NULL)
 	{
@@ -1469,7 +1469,7 @@
 	 * @param	mixed
 	 * @param	string
 	 * @param	bool
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function set_insert_batch($key, $value = '', $escape = NULL)
 	{
@@ -1860,7 +1860,7 @@
 	 * @param	array
 	 * @param	string
 	 * @param	bool
-	 * @return	object
+	 * @return	CI_DB_query_builder
 	 */
 	public function set_update_batch($key, $index = '', $escape = NULL)
 	{