public static function query($sql, $binds=null) {
	if (!empty($binds)) {
		$sql = self::merge($sql, $binds);
	}
	
	// secure against wild update/delete statements
	if (preg_match('{^(UPDATE|DELETE)\s}', $sql) && preg_match('{\s(WHERE|LIMIT)\s}', $sql) == false) {
		$exception = bootstrap::get_library('exception');
		throw new $exception('unsafe UPDATE/DELETE statement, use a WHERE/LIMIT clause');
	}
	
	return self::raw($sql);
}