This is due to the fact that pgsql relies on positional parameters in the query (i.e. $1, $2, $3...) - as opposed to mysql which uses just a `$` for example. The DB is also quite strict when it comes to binding them. If you have a query like `select * from table where f1 = $1 and f2 = $3` and the parameters is `array(1, 2), ADOdb will trigger an error like we had on the Travis builds, e.g.
```
Error received from database was #-1: ERROR: could not determine data type of parameter $1 for the query: 
SELECT DISTINCT p.id, p.name, ph.parent_id
FROM mantis_project_table p
LEFT JOIN mantis_project_hierarchy_table ph
ON ph.child_id = p.id
WHERE p.enabled = $2 AND
ph.parent_id IS NOT NULL
ORDER BY p.name.
```

The parameter number reset must only apply to pgsql, because of the ADOdb implementation - the *_pnum* property does not exist in other DB-specific classes, and the code would trigger a *PHP Notice:  Undefined property*