There are some issues with the db_postgres which should be fixed for better performance and compatibility with recent drivers.
1. The modules copy STR and STRING values, this is unnecessary work. The code should be changed to work directly with the values returned from the driver, like the db_mysql module. After that change the complicated row_buffer logic could be simplified too.
For BLOB values the escape function does a copying, but as BLOBs are not that much used internally, this is not a real problem.
Issues around this problem were discussion in the thread at http://www.nabble.com/RFC:-memory-management-in-database-modules-td15291047.html
2. Postgres uses in recent driver versions a new escaping method for values. Thus the module should be changed to detect the new escaping method, and use them if needed.
This was discussed in the thread at
http://www.nabble.com/postgresql-and-escaping-p15065608.html
Cheers,
Henning
Logged In: NO
> For BLOB values the escape function does a copying, but as
> BLOBs are not that much used internally, this is not a real problem.
BLOBS are used by presence module (XML) - thus it may be an issue for presence servers
--
klaus
Logged In: YES
user_id=337916
Originator: YES
Ok, then presence server that don't want to bear this (really small) performance impact with BLOBs should use another database. But at the moment the performance issue exists for BLOBs, STR and STRINGs, but only for BLOBs its probably not easy solvable.
The first point is not an issue at all, postgres do the right thing here. The other database modules were adapted to use a similar behaviour.