Вход Регистрация
Файл: phpbb/db/driver/factory.php
Строк: 374
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/

namespace phpbbdbdriver;

use 
SymfonyComponentDependencyInjectionContainerInterface;

/**
* Database Abstraction Layer
*/
class factory implements driver_interface
{
    
/**
    * @var driver_interface
    */
    
protected $driver null;

    
/**
    * @var ContainerInterface
    */
    
protected $container;

    
/**
    * Constructor.
    *
    * @param ContainerInterface $container A ContainerInterface instance
    */
    
public function __construct(ContainerInterface $container)
    {
        
$this->container $container;
    }

    
/**
    * Return the current driver (and retrieved it from the container if necessary)
    *
    * @return driver_interface
    */
    
protected function get_driver()
    {
        if (
$this->driver === null)
        {
            
$this->driver $this->container->get('dbal.conn.driver');
        }

        return 
$this->driver;
    }

    
/**
    * Set the current driver
    *
    * @param driver_interface $driver
    */
    
public function set_driver(driver_interface $driver)
    {
        
$this->driver $driver;
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_sql_layer()
    {
        return 
$this->get_driver()->get_sql_layer();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_db_name()
    {
        return 
$this->get_driver()->get_db_name();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_any_char()
    {
        return 
$this->get_driver()->get_any_char();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_one_char()
    {
        return 
$this->get_driver()->get_one_char();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_db_connect_id()
    {
        return 
$this->get_driver()->get_db_connect_id();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_sql_error_triggered()
    {
        return 
$this->get_driver()->get_sql_error_triggered();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_sql_error_sql()
    {
        return 
$this->get_driver()->get_sql_error_sql();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_transaction()
    {
        return 
$this->get_driver()->get_transaction();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_sql_time()
    {
        return 
$this->get_driver()->get_sql_time();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_sql_error_returned()
    {
        return 
$this->get_driver()->get_sql_error_returned();
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_multi_insert()
    {
        return 
$this->get_driver()->get_multi_insert();
    }

    
/**
    * {@inheritdoc}
    */
    
public function set_multi_insert($multi_insert)
    {
        
$this->get_driver()->set_multi_insert($multi_insert);
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_row_count($table_name)
    {
        return 
$this->get_driver()->get_row_count($table_name);
    }

    
/**
    * {@inheritdoc}
    */
    
public function get_estimated_row_count($table_name)
    {
        return 
$this->get_driver()->get_estimated_row_count($table_name);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_lower_text($column_name)
    {
        return 
$this->get_driver()->sql_lower_text($column_name);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_error($sql '')
    {
        return 
$this->get_driver()->sql_error($sql);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_buffer_nested_transactions()
    {
        return 
$this->get_driver()->sql_buffer_nested_transactions();
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_bit_or($column_name$bit$compare '')
    {
        return 
$this->get_driver()->sql_bit_or($column_name$bit$compare);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_server_info($raw false$use_cache true)
    {
        return 
$this->get_driver()->sql_server_info($raw$use_cache);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_return_on_error($fail false)
    {
        return 
$this->get_driver()->sql_return_on_error($fail);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_build_array($query$assoc_ary = array())
    {
        return 
$this->get_driver()->sql_build_array($query$assoc_ary);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_fetchrowset($query_id false)
    {
        return 
$this->get_driver()->sql_fetchrowset($query_id);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_transaction($status 'begin')
    {
        return 
$this->get_driver()->sql_transaction($status);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_concatenate($expr1$expr2)
    {
        return 
$this->get_driver()->sql_concatenate($expr1$expr2);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_case($condition$action_true$action_false false)
    {
        return 
$this->get_driver()->sql_case($condition$action_true$action_false);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_build_query($query$array)
    {
        return 
$this->get_driver()->sql_build_query($query$array);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_fetchfield($field$rownum false$query_id false)
    {
        return 
$this->get_driver()->sql_fetchfield($field$rownum$query_id);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_fetchrow($query_id false)
    {
        return 
$this->get_driver()->sql_fetchrow($query_id);
    }

    
/**
    * {@inheritdoc}
    */
    
public function cast_expr_to_bigint($expression)
    {
        return 
$this->get_driver()->cast_expr_to_bigint($expression);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_nextid()
    {
        return 
$this->get_driver()->sql_nextid();
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_add_num_queries($cached false)
    {
        return 
$this->get_driver()->sql_add_num_queries($cached);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_query_limit($query$total$offset 0$cache_ttl 0)
    {
        return 
$this->get_driver()->sql_query_limit($query$total$offset$cache_ttl);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_query($query ''$cache_ttl 0)
    {
        return 
$this->get_driver()->sql_query($query$cache_ttl);
    }

    
/**
    * {@inheritdoc}
    */
    
public function cast_expr_to_string($expression)
    {
        return 
$this->get_driver()->cast_expr_to_string($expression);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_connect($sqlserver$sqluser$sqlpassword$database$port false$persistency false$new_link false)
    {
        throw new 
Exception('Disabled method.');
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_bit_and($column_name$bit$compare '')
    {
        return 
$this->get_driver()->sql_bit_and($column_name$bit$compare);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_freeresult($query_id false)
    {
        return 
$this->get_driver()->sql_freeresult($query_id);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_num_queries($cached false)
    {
        return 
$this->get_driver()->sql_num_queries($cached);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_multi_insert($table$sql_ary)
    {
        return 
$this->get_driver()->sql_multi_insert($table$sql_ary);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_affectedrows()
    {
        return 
$this->get_driver()->sql_affectedrows();
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_close()
    {
        return 
$this->get_driver()->sql_close();
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_rowseek($rownum, &$query_id)
    {
        return 
$this->get_driver()->sql_rowseek($rownum$query_id);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_escape($msg)
    {
        return 
$this->get_driver()->sql_escape($msg);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_like_expression($expression)
    {
        return 
$this->get_driver()->sql_like_expression($expression);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_not_like_expression($expression)
    {
        return 
$this->get_driver()->sql_not_like_expression($expression);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_report($mode$query '')
    {
        return 
$this->get_driver()->sql_report($mode$query);
    }

    
/**
    * {@inheritdoc}
    */
    
public function sql_in_set($field$array$negate false$allow_empty_set false)
    {
        return 
$this->get_driver()->sql_in_set($field$array$negate$allow_empty_set);
    }
}
Онлайн: 2
Реклама