====== ADOdbLoadBalancerConnection ====== ~~NOTOC~~ == Applies To == [[v5:loadbalancer:index|ADOdb Load Balancer]] == See Also == [[v5:reference:loadbalancer:addconnection|addConnection()]] == Syntax == class ADOdbLoadBalancerConnection( string $driverName, optional string $connectionType='write', optional int $connectionWeight=1, optional bool $persitantConnection=false, optional string $host, optional string $user, optional string $password, optional string $database ===== Description ===== The class ''ADOdbLoadBalancerConnection'' is the replacement for [[v5:reference:connection:adonewconnection|adoNewConnecton()]] and creates a template ADOdb connection that can be retrieved and added to the connection pool. Note that a connection is not established when the class is instantiated, it is delayed until an ADOdb command such as //**execute**// is issued, or a Load Balancer internal command such as [[v5:reference:loadbalancer:clusterexecute|clusterExecute()]] is issued. This means that a connection number is consumed even if the connection parameters are invalid. Care should be taken when using commands such as [[v5:reference:loadbalancer:removeconnection|removeConnection()]] that rely on a connection number. ------------------------ ===== Parameters ===== ==== $driverName ==== The name of the ADOdb driver to be used to establish the connection. Currently only the drivers [[v5:database:mysql|mysqli]] and [[v5:database:postgresql|postgres9]] can be used. ==== $connectionType ==== A connection may be of the type ''write'', which designates the primary server through which all update operations are passed, and ''readonly'' , which signifies a secondary server through which some or all of the read-only operations are passed. Only one ''write'' connection can be designated, but there is no limit to the number of ''readonly'' connections. ==== $connectionWeight ==== For ''readonly'' connections, specifying a weight for the connection will influence how many queries are routed through a specific server. The higher the weight, the more often the server is used. If all ''readonly'' servers are defined with the same weight, then a connection randomiser effect is obtained. ==== $persistantConnection ==== This parameter forces the ADOdb connection to be made with a [[v5:reference:connection:pconnect|persistant]] connection. ==== Other Parameters ==== The other parameters are defined the same as the equivalent connection parameters in ADOdb . For more information, see the [[v5:reference:connection:connect|connect()]] command --------------------------- ===== Usage ==== $db = new ADOdbLoadBalancer; $driver = 'mysqli'; $database = 'employees'; $user = 'adodb'; $password = 'adodb'; $host = '192.168.0.200'; $db0 = new ADOdbLoadBalancerConnection( $driver, 'write', 10, false, $host, $user, $password, $database ); $db->addConnection( $db0 ); $host = '192.168.0.201'; $db1 = new ADOdbLoadBalancerConnection( $driver, 'readonly', 20, false, $host, $user, $password, $database ); $db->addConnection( $db1 ); $host = '192.168.0.202'; $db2 = new ADOdbLoadBalancerConnection( $driver, 'readonly', 30, false, $host, $user, $password, $database ); $db->addConnection( $db2 );