[OpenSER-Devel] SF.net SVN: openser: [3563] trunk

Henning Westerholt henning.westerholt at 1und1.de
Tue Jan 22 13:55:43 UTC 2008


Revision: 3563
          http://openser.svn.sourceforge.net/openser/?rev=3563&view=rev
Author:   henningw
Date:     2008-01-22 05:55:43 -0800 (Tue, 22 Jan 2008)

Log Message:
-----------
- port database interface (almost) complete from 'const char*' to 'str'
  for more safety (e.g. not null terminated strings) and performance (save
  strlen calls in core and library code)
- adapt existing modules to use the new interface
- change bind_dbmod and use_table function to the naming scheme of the other
  functions of the API
- port existing module to use 'str' values for database related parameters
- if modules uses already 'str' functions internally, remove the unnecessary
  temporary variables
- make functions and parameter that needs only locally be used static
- introduce new column variables needed for the keys for modules that don't
  have them already, this could be used to make them configurable later on
- add 'const' to more db related functions
- fix postgres driver, async queries must be finished, otherwise the next one
  will not complete
- smaller whitespace and formatting changes and cleanups all over the place
- reviewed and tested with testcases, but probably not error free because
  of the change size

- basic DB operations should work, but no extensive load testing has yet be done,
  as some work still remains:
  - remove dead code and superflous comments in postgres driver
  - clean up memory management, at the moment there exists two flavors: don't
    copy that much (mysql, unixodbc), don't trust the driver, copy everything
    (postgres, db_berkeley)
  - after this is unified, then only one implementation for the memory
    management of the db API could be used for all modules

- Foundations of this change have been created from Frederick Bullik,
  Frederick.Bullik at 1und1 dot de

- Please review and test.

Modified Paths:
--------------
    trunk/db/db.c
    trunk/db/db.h
    trunk/db/db_con.h
    trunk/db/db_id.c
    trunk/db/db_id.h
    trunk/db/db_key.h
    trunk/db/db_query.c
    trunk/db/db_query.h
    trunk/db/db_ut.c
    trunk/db/db_val.h
    trunk/hash_func.h
    trunk/modules/acc/acc.c
    trunk/modules/acc/acc.h
    trunk/modules/acc/acc_logic.c
    trunk/modules/acc/acc_mod.c
    trunk/modules/acc/acc_mod.h
    trunk/modules/alias_db/alias_db.c
    trunk/modules/alias_db/alias_db.h
    trunk/modules/alias_db/alookup.c
    trunk/modules/auth_db/authdb_mod.c
    trunk/modules/auth_db/authorize.c
    trunk/modules/auth_db/authorize.h
    trunk/modules/avpops/avpops.c
    trunk/modules/avpops/avpops_db.c
    trunk/modules/avpops/avpops_db.h
    trunk/modules/avpops/avpops_impl.c
    trunk/modules/avpops/avpops_impl.h
    trunk/modules/avpops/avpops_parse.c
    trunk/modules/carrierroute/carrierroute.c
    trunk/modules/carrierroute/carrierroute.h
    trunk/modules/carrierroute/route_db.c
    trunk/modules/cpl-c/cpl.c
    trunk/modules/cpl-c/cpl_db.c
    trunk/modules/cpl-c/cpl_db.h
    trunk/modules/cpl-c/cpl_loader.c
    trunk/modules/db_berkeley/bdb_res.c
    trunk/modules/db_berkeley/db_berkeley.c
    trunk/modules/db_berkeley/db_berkeley.h
    trunk/modules/dbtext/dbt_api.c
    trunk/modules/dbtext/dbt_api.h
    trunk/modules/dbtext/dbt_base.c
    trunk/modules/dbtext/dbt_file.c
    trunk/modules/dbtext/dbt_lib.c
    trunk/modules/dbtext/dbt_lib.h
    trunk/modules/dbtext/dbt_res.c
    trunk/modules/dbtext/dbt_tb.c
    trunk/modules/dbtext/dbtext.h
    trunk/modules/dialog/dialog.c
    trunk/modules/dialog/dlg_db_handler.c
    trunk/modules/dialog/dlg_db_handler.h
    trunk/modules/dispatcher/dispatch.c
    trunk/modules/dispatcher/dispatch.h
    trunk/modules/dispatcher/dispatcher.c
    trunk/modules/domain/domain.c
    trunk/modules/domain/domain.h
    trunk/modules/domain/domain_mod.c
    trunk/modules/domainpolicy/domainpolicy.c
    trunk/modules/domainpolicy/domainpolicy.h
    trunk/modules/domainpolicy/domainpolicy_mod.c
    trunk/modules/flatstore/flatstore.c
    trunk/modules/flatstore/flatstore.h
    trunk/modules/group/group.c
    trunk/modules/group/group.h
    trunk/modules/group/group_mod.c
    trunk/modules/group/re_group.c
    trunk/modules/imc/imc.c
    trunk/modules/imc/imc.h
    trunk/modules/imc/imc_cmd.c
    trunk/modules/jabber/jabber.c
    trunk/modules/jabber/xjab_worker.c
    trunk/modules/lcr/lcr_mod.c
    trunk/modules/msilo/msilo.c
    trunk/modules/mysql/dbase.c
    trunk/modules/mysql/dbase.h
    trunk/modules/mysql/res.c
    trunk/modules/pdt/pdt.c
    trunk/modules/perlvdb/perlvdb_conv.c
    trunk/modules/perlvdb/perlvdbfunc.c
    trunk/modules/perlvdb/perlvdbfunc.h
    trunk/modules/permissions/address.c
    trunk/modules/permissions/hash.c
    trunk/modules/permissions/hash.h
    trunk/modules/permissions/permissions.c
    trunk/modules/permissions/permissions.h
    trunk/modules/permissions/trusted.c
    trunk/modules/postgres/db_res.c
    trunk/modules/postgres/dbase.c
    trunk/modules/postgres/dbase.h
    trunk/modules/presence/notify.c
    trunk/modules/presence/notify.h
    trunk/modules/presence/presence.c
    trunk/modules/presence/presence.h
    trunk/modules/presence/presentity.c
    trunk/modules/presence/publish.c
    trunk/modules/presence/subscribe.c
    trunk/modules/presence_xml/presence_xml.c
    trunk/modules/presence_xml/presence_xml.h
    trunk/modules/presence_xml/xcap_auth.c
    trunk/modules/pua/pua.c
    trunk/modules/rls/notify.c
    trunk/modules/rls/resource_notify.c
    trunk/modules/rls/rls.c
    trunk/modules/rls/rls.h
    trunk/modules/rls/subscribe.c
    trunk/modules/siptrace/siptrace.c
    trunk/modules/speeddial/sdlookup.c
    trunk/modules/speeddial/speeddial.c
    trunk/modules/speeddial/speeddial.h
    trunk/modules/unixodbc/dbase.c
    trunk/modules/unixodbc/dbase.h
    trunk/modules/unixodbc/res.c
    trunk/modules/uri_db/checks.c
    trunk/modules/uri_db/checks.h
    trunk/modules/uri_db/uridb_mod.c
    trunk/modules/usrloc/dlist.c
    trunk/modules/usrloc/ucontact.c
    trunk/modules/usrloc/udomain.c
    trunk/modules/usrloc/ul_mod.c
    trunk/modules/usrloc/urecord.c
    trunk/modules/xcap_client/xcap_client.c
    trunk/modules/xcap_client/xcap_client.h
    trunk/modules/xcap_client/xcap_functions.c


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Devel mailing list