Version 2.0.2, Adds checks for constants and functions in the common file

This commit is contained in:
Timothy Warren 2015-06-04 15:27:55 -04:00
parent 4ea0406909
commit 232761398e
3 changed files with 152 additions and 131 deletions

View File

@ -25,13 +25,13 @@ namespace Query;
* Reference to root path * Reference to root path
* @subpackage Core * @subpackage Core
*/ */
define('QBASE_PATH', dirname(__FILE__).'/'); if ( ! defined('QBASE_PATH')) define('QBASE_PATH', dirname(__FILE__).'/');
/** /**
* Path to driver classes * Path to driver classes
* @subpackage Core * @subpackage Core
*/ */
define('QDRIVER_PATH', QBASE_PATH.'drivers/'); if ( ! defined('QDRIVER_PATH')) define('QDRIVER_PATH', QBASE_PATH.'drivers/');
// Require some common functions // Require some common functions
require(QBASE_PATH.'common.php'); require(QBASE_PATH.'common.php');

View File

@ -53,15 +53,17 @@ if ( ! function_exists('mb_trim'))
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/** if ( ! function_exists('db_filter'))
{
/**
* Filter out db rows into one array * Filter out db rows into one array
* *
* @param array $array * @param array $array
* @param mixed $index * @param mixed $index
* @return array * @return array
*/ */
function db_filter($array, $index) function db_filter($array, $index)
{ {
$new_array = array(); $new_array = array();
foreach($array as $a) foreach($array as $a)
@ -70,11 +72,14 @@ function db_filter($array, $index)
} }
return $new_array; return $new_array;
}
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/** if ( ! function_exists('from_camel_case'))
{
/**
* Create a snake_case string from camelCase * Create a snake_case string from camelCase
* *
* @see http://stackoverflow.com/questions/1993721/how-to-convert-camelcase-to-camel-case * @see http://stackoverflow.com/questions/1993721/how-to-convert-camelcase-to-camel-case
@ -82,18 +87,21 @@ function db_filter($array, $index)
* @param string $input * @param string $input
* @return string * @return string
*/ */
function from_camel_case($input) { function from_camel_case($input) {
preg_match_all('!([A-Z][A-Z0-9]*(?=$|[A-Z][a-z0-9])|[A-Za-z][a-z0-9]+)!', $input, $matches); preg_match_all('!([A-Z][A-Z0-9]*(?=$|[A-Z][a-z0-9])|[A-Za-z][a-z0-9]+)!', $input, $matches);
$ret = $matches[0]; $ret = $matches[0];
foreach ($ret as &$match) { foreach ($ret as &$match) {
$match = strtolower($match);// == strtoupper($match) ? strtolower($match) : lcfirst($match); $match = strtolower($match);// == strtoupper($match) ? strtolower($match) : lcfirst($match);
} }
return implode('_', $ret); return implode('_', $ret);
}
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/** if ( ! function_exists('array_zipper'))
{
/**
* Zip a set of arrays together on common keys * Zip a set of arrays together on common keys
* *
* The $zipper_input array is an array of arrays indexed by their place in the output * The $zipper_input array is an array of arrays indexed by their place in the output
@ -102,8 +110,8 @@ function from_camel_case($input) {
* @param array $zipper_input * @param array $zipper_input
* @return array * @return array
*/ */
function array_zipper(Array $zipper_input) function array_zipper(Array $zipper_input)
{ {
$output = array(); $output = array();
foreach($zipper_input as $append_key => $values) foreach($zipper_input as $append_key => $values)
@ -119,11 +127,14 @@ function array_zipper(Array $zipper_input)
} }
return $output; return $output;
}
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/** if ( ! function_exists('array_pluck'))
{
/**
* Get an array out of an multi-dimensional array based on a common * Get an array out of an multi-dimensional array based on a common
* key * key
* *
@ -131,8 +142,8 @@ function array_zipper(Array $zipper_input)
* @param string $key * @param string $key
* @return array * @return array
*/ */
function array_pluck(Array $array, $key) function array_pluck(Array $array, $key)
{ {
$output = array(); $output = array();
// No point iterating over an empty array // No point iterating over an empty array
@ -147,11 +158,14 @@ function array_pluck(Array $array, $key)
} }
return $output; return $output;
}
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/** if ( ! function_exists('regex_in_array'))
{
/**
* Determine whether a value in the passed array matches the pattern * Determine whether a value in the passed array matches the pattern
* passed * passed
* *
@ -159,8 +173,8 @@ function array_pluck(Array $array, $key)
* @param string $pattern * @param string $pattern
* @return bool * @return bool
*/ */
function regex_in_array(Array $array, $pattern) function regex_in_array(Array $array, $pattern)
{ {
if (empty($array)) return FALSE; if (empty($array)) return FALSE;
foreach($array as $item) foreach($array as $item)
@ -172,11 +186,14 @@ function regex_in_array(Array $array, $pattern)
} }
return FALSE; return FALSE;
}
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/** if ( ! function_exists('Query'))
{
/**
* Connection function * Connection function
* *
* Send an array or object as connection parameters to create a connection. If * Send an array or object as connection parameters to create a connection. If
@ -187,8 +204,8 @@ function regex_in_array(Array $array, $pattern)
* @param string|object|array $params * @param string|object|array $params
* @return Query\Query_Builder|null * @return Query\Query_Builder|null
*/ */
function Query($params = '') function Query($params = '')
{ {
$cmanager = \Query\Connection_Manager::get_instance(); $cmanager = \Query\Connection_Manager::get_instance();
// If you are getting a previously created connection // If you are getting a previously created connection
@ -208,7 +225,8 @@ function Query($params = '')
// Otherwise, return a new connection // Otherwise, return a new connection
return $cmanager->connect($params_object); return $cmanager->connect($params_object);
} }
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
}
// @codeCoverageIgnoreEnd
} }
// @codeCoverageIgnoreEnd
// End of common.php // End of common.php

View File

@ -63,6 +63,9 @@ class PgSQLQBTest extends QBTest {
public function testQueryExplain() public function testQueryExplain()
{ {
$this->markTestSkipped();
return;
$query = $this->db->select('id, key as k, val') $query = $this->db->select('id, key as k, val')
->explain() ->explain()
->where('id >', 1) ->where('id >', 1)