• last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Improved startup time (of server, of threads) by using nsv_dict when available

During definition of attributes, the xo-db inteface checks whether

the db attributes managed by xotcl are in sync with the actual database.

This was done so far by a couple of small database query. When nsv_dict

is available, it can be used for quickly checking those values.

use better idiom for checking for the existence of objects

add safety belt for unexpected behavior which can show up in some error cases.

Make creation of ::xo::cc more robust

In case the argument processing of

ConnectionContext create ::xo::cc -p1 ... -p2 ....

::xo::cc destroy_on_cleanup

runs into an exception leading to an ad_script_abort, the half-in

initialized object without cleanup definition will survive. At later

times, this object might be reused, containing potentially

cached results from earlier runs, which can cause troubles in error

cases.

This change takes care that errors during argument processing will

not leave half-initialized objects behind.

improve wording in comments

use "ns_strcoll" for ordered composite when available

    • -12
    • +21
    ./tcl/20-Ordered-Composite-procs.tcl
  1. … 1 more file in changeset.
improve wording

include timing information in DEBUG lines only, when nsf was configured properly with it

  1. … 1 more file in changeset.
improve documentation and streamline code

Check if o is an object only once, use nsf idiom to check for a class, unwrap idioms

Modernize parameter parsing (query and includelet paramters)

- handle invalid UTF-8 exception that might be triggered by

"ns_parsequery" in newer versions of NaviServer

- the new code is about 4 times faster than the old one

- replaced array by dict

- don't create helper procs on the fly but use "nsf::parseargs" if possible

- added icanuse rules for

* "nsf::parseargs -asdict"

* "ns_parsequery -charset"

  1. … 1 more file in changeset.
make function private

xotcl/chache: added button to flush all caches

improved prepared-statement handling

- avoid separate SQL statement for testing, whether prepared statement

exists already in the SQL session.

- use true SQL session-id (obtained via "ns_pg pid") when available

- improve source code documentation

added @see tags for deprecated commands

improve comment

make use of "from_cache_indicator" for the per_request_cache in instantiate_forms

Provide an exception in case get_instance_from_db is called with an invalid argument combination.

Added convenience methods "::xo::db::CrClass->ensure_item_ids_instantiated"

Add the root folder id to the cache key so that when one does not specify any parent_id, the method still reacts to a package being uninstantiated or the root folder messed around with

Fixes xowiki automated tests when run all together in the same request

Port reform that replaces publish status display from a png to a character + css style to the xowiki/admin/list

The behavior of the default table widget had to be adapted to reflect that of the bootstrap one: css class from the line is appended to that from the field definition

  1. … 2 more files in changeset.
use per-request cache for relatively expensive operation, which is called potentially often per request

We might consider in the future a longer lasting cache for "global" form pages.

performance improvements for "::xo::db::Class proc get_instance_from_db"

when the object exists already, the text for existance is made earlier

to void useless operations. This change improves the performance by a factor of 3

when the object was already loaded.

OLD {4.544836 microseconds per iteration}

NEW {1.310991 microseconds per iteration}

improve comment

base refetch on "publish_date" rather than on "last_modified" of a CR item object

Interestingly, the last_modified field of an item is not updated, when an revision is added,

but the publish_date is

on CVS: ----------------------------------------------------------------------

deactive callback definition to avoid calls of deprecated xo::parameter functions

Separate csv formatting and csv sending to increase reusablity

make debug messages more uniform (start always with object and method name)

add debugging info to figure out where xo::parameter is used directly in downstream code

modernize code

remove pipe open (although this is just a fallback file, which is normally not called)