vQmod conflict
2 different objects cannot occupy the exact same space at the same time. That is why it is important that when using search/replace that you match the least amount as possible while still being unique. This will better your chances of something like this:
Base string:
SELECT * FROM product WHERE product_id = '1' AND status = '1';
If mod 1 wants to change it to:
SELECT * FROM product WHERE product_id = '1' AND model = 'xyz' AND status = '1';
and mod 2 wants to change it to:
SELECT * FROM product WHERE product_id = '1' AND sku = 'xyz' AND status = '1';
Then it is important that both vQmod authors DO NOT try to do:
<search position="replace">
SELECT * FROM product WHERE product_id = '1' AND status = '1';
</search>
<add>
SELECT * FROM product WHERE product_id = '1' AND model = 'xyz' AND status = '1';
</add>
But instead use a smaller chunk like:
<search position="replace">
SELECT * FROM product WHERE product_id = '1'
</search>
<add>
SELECT * FROM product WHERE product_id = '1' AND model = 'xyz'
</add>
Then the other mod could use the same search and not break from the first line:
<search position="replace">
SELECT * FROM product WHERE product_id = '1'
</search>
<add>
SELECT * FROM product WHERE product_id = '1' AND sku= 'xyz'
</add>
Resulting in the proper combined result:
SELECT * FROM product WHERE product_id = '1' AND sku = 'xyz' AND model = 'xyz' AND status = '1';
Source: http://forum.opencart.com/viewtopic.php?f=131&t=46247