Code Duplication    Length = 16-19 lines in 2 locations

includes/db/DatabaseMssql.php 1 location

@@ 492-510 (lines=19) @@
489
	 * @param array $options
490
	 * @return int
491
	 */
492
	public function estimateRowCount( $table, $vars = '*', $conds = '',
493
		$fname = __METHOD__, $options = []
494
	) {
495
		// http://msdn2.microsoft.com/en-us/library/aa259203.aspx
496
		$options['EXPLAIN'] = true;
497
		$options['FOR COUNT'] = true;
498
		$res = $this->select( $table, $vars, $conds, $fname, $options );
499
500
		$rows = -1;
501
		if ( $res ) {
502
			$row = $this->fetchRow( $res );
503
504
			if ( isset( $row['EstimateRows'] ) ) {
505
				$rows = (int)$row['EstimateRows'];
506
			}
507
		}
508
509
		return $rows;
510
	}
511
512
	/**
513
	 * Returns information about an index

includes/libs/rdbms/database/DatabasePostgres.php 1 location

@@ 394-409 (lines=16) @@
391
	 * @param array $options
392
	 * @return int
393
	 */
394
	public function estimateRowCount( $table, $vars = '*', $conds = '',
395
		$fname = __METHOD__, $options = []
396
	) {
397
		$options['EXPLAIN'] = true;
398
		$res = $this->select( $table, $vars, $conds, $fname, $options );
399
		$rows = -1;
400
		if ( $res ) {
401
			$row = $this->fetchRow( $res );
402
			$count = [];
403
			if ( preg_match( '/rows=(\d+)/', $row[0], $count ) ) {
404
				$rows = (int)$count[1];
405
			}
406
		}
407
408
		return $rows;
409
	}
410
411
	public function indexInfo( $table, $index, $fname = __METHOD__ ) {
412
		$sql = "SELECT indexname FROM pg_indexes WHERE tablename='$table'";