Last active
December 21, 2015 19:49
-
-
Save q0rban/6356972 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * @file | |
| * Select builder for MySQL database engine, routing all SELECTs to the slave. | |
| */ | |
| /** | |
| * @addtogroup database | |
| * @{ | |
| */ | |
| class SelectQuery_mysql extends SelectQuery { | |
| public function __construct($table, $alias = NULL, DatabaseConnection $connection, $options = array()) { | |
| $key = $connection->getKey(); | |
| $connection = Database::getConnection('slave', $key); | |
| $options['target'] = 'slave'; | |
| parent::__construct($table, $alias, $connection, $options); | |
| } | |
| } | |
| /** | |
| * @} End of "addtogroup database". | |
| */ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
On Drupal 7.35, this routes all SELECTs that have carrage returns in them to the slave:
Slave log:
...
4755 Query SELECT r.rid AS rid, r.name AS name
FROM
role r
ORDER BY weight ASC, name ASC
4755 Query SELECT r.rid AS rid, r.name AS name
FROM
role r
ORDER BY weight ASC, name ASC
4755 Query SELECT t__0.*
FROM
js_injector_rule t__0
4755 Query SELECT DISTINCT registry.name AS name, registry.filename AS filename
FROM
registry registry
WHERE (type='class' AND ( filename like '%.mail.%' OR name like '%MailSystem' ))
4755 Query SELECT redirect.rid AS rid
FROM
redirect redirect
WHERE (source LIKE 'js/admin_menu/cache/536cf41ec31d9ad0908b30a985f32c81' ESCAPE '') AND (language IN ('en', 'und'))
...
Master log:
...
5184 Query SELECT name, filename, type from system WHERE status = 1
5184 Query SELECT u., s. FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.ssid = 'Jabm2N9WQhBalbf5OtIPRC4S5EggyqfrrlvRfV7593w'
5184 Query SELECT r.rid, r.name FROM role r INNER JOIN users_roles ur ON ur.rid = r.rid WHERE ur.uid = '13787'
5184 Query SELECT filename FROM system WHERE name = 'bancbox' AND type = 'module'
5184 Query SELECT filename FROM system WHERE name = 'mixpanel-php' AND type = 'module'
5184 Query SELECT source FROM url_alias WHERE alias = 'js/admin_menu/cache/536cf41ec31d9ad0908b30a985f32c81' AND language IN ('en', 'und') ORDER BY language ASC, pid DESC
5184 Query SELECT source, alias FROM url_alias WHERE source IN ('user/login') AND language IN ('en', 'und') ORDER BY language ASC, pid ASC
5184 Query SELECT rid, permission FROM role_permission WHERE rid IN ('2', '3', '12', '22', '28', '38')
...