Menu

#103 db_postgres module enhancements

ver devel
open
nobody
modules (93)
5
2008-02-11
2008-02-11
No

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

Discussion

  • Nobody/Anonymous

    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

     
  • Henning Westerholt

    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.

     
  • Henning Westerholt

    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.

     

Log in to post a comment.