guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ttn-pers-scheme 0.18 available


From: thi
Subject: ttn-pers-scheme 0.18 available
Date: Mon, 9 Apr 2001 02:22:55 -0700

greetings guile folks,

this time we see a little more cleanup to support the `text[][]' db
column type...  plus performance enhancement in ftw (thanks to Brad
Knotwell), and other mungings.  see dir:

 http://www.glug.org/people/ttn/software/ttn-pers-scheme/

for tarball and friends.  see file:

 http://www.glug.org/projects/ndb-config.scm.txt
                          
for proposed guile projects database table definitions -- feedback from
experienced database hackers especially welcome!  (i confess to gaining
all my SQL knowledge from the first few chapters of a _teach yourself
SQL in 10 minutes_ book -- that is, i didn't even finish the book -- and
the mostly excellent postgresql documentation.)

NEWS excerpt follows.

thi


_____________________________________________
- VERSION 0.18 (released 2001/04/09)

  - Benchmarking news

        Some benchmarks for (ttn ftw) have been added.  You can run them
        specifically with: "make benchmarks=ftw tea".

        The "make tea" command now also works in ttn/testing/benchmarks.

        To reduce maintenance, benchmark common header code now no
        longer uses modules directly with `use-modules', with the
        exception of a few absolutely required modules.  Instead, the
        autoload file created by top-level "make" is copied to the
        benchmark directory and modified so that the module defined to
        receive all the autoloaded bindings is `(guile)' instead of
        `(guile-user)'.  This modified copy is then loaded.

        The release process now specifies capturing logs of two runs of
        "make tea", the second with iteration multiplier of 1/5.  These
        logs are in the benchmark directory as tea-1.0 and tea-0.2,
        respectively.

  - Changes to (ttn ftw)

        Both `ftw' and `nftw' procs now handle optional arg sequence
        `hash-size N', where N specifies the size of the hash table to
        used for recording visited files.  The default size is 211.
        Thanks to Brad Knotwell for this performance enhancement patch.

  - New module: (ttn pgtype)

        PostgreSQL type conversion has been moved into this module.
        Additionally, PostgreSQL array conversion has been generalized.

        Docstrings reproduced here (note that `define-db-col-type'
        docstring has changed from VERSION 0.16 release):

    - `dbcoltype-lookup' TYPE-NAME
    - `dbcoltype:name' LOOKUP-VALUE
    - `dbcoltype:default' LOOKUP-VALUE
    - `dbcoltype:stringifier' LOOKUP-VALUE
    - `dbcoltype:objectifier' LOOKUP-VALUE

        Return lookup value of TYPE-NAME, a symbol, from
        `*db-col-types*'.  Use procs `dbcoltype:name',
        `dbcoltype:default', `dbcoltype:stringifier' and
        `dbcoltype:objectifier' on this value to access those
        components, respectively."

    - `define-db-col-type' NAME DEFAULT STRINGIFIER OBJECTIFIER

        Register type NAME with DEFAULT, STRINGIFIER and OBJECTIFIER
        procs.  NAME is a symbol.  DEFAULT is a string to use if the
        Scheme object is #f.  STRINGIFIER is a proc that takes a Scheme
        object and returns a string suitable for use in an "INSERT
        VALUES" SQL command.  OBJECTIFIER is a proc that takes a string
        and returns the Scheme object parsed out of it.

        Both STRINGIFIER and OBJECTIFIER need not worry about SQL-style
        quoting (using single quotes) and related quote escaping.

        If NAME already exists, it is redefined.

    - `define-db-col-type-array-variant' COMPOSED SIMPLE [PROCS]

        Register type COMPOSED, an array variant of SIMPLE, with
        optional PROCS.  SIMPLE should be a type name already registered
        using `define-db-col-type'.  COMPOSED is conventionally formed
        by appending SIMPLE with one or more pairs of square braces
        "[]", with the number of pairs indicating the array
        dimensionality.  For example, if SIMPLE is `text', a
        two-dimensional text array would be named `text[][]'.

        Optional arg PROCS is a list specifying alternative stringifier
        and objectifier procedures (in that order).  If unspecified,
        SIMPLE is looked up and its stringifier and objectifier are
        used.

        The default value of all array types is "{}" and cannot be
        changed.

  - Changes to (ttn pgtable)

        Typing machinery has been moved to (ttn pgtype).  This includes
        var `*db-col-types*' and convenience proc `double-quote'.  Also,
        some modules (ttn pgtable) depends on are now autoloaded.

  - New program: display-rcs-state-summary

        This is a simple wrapper around the procedure of the same name
        in (ttn rcsutils).  This type of wrapping may be automated in
        the future.

  - Program generate-autoload no longer sets env var GUILE_LOAD_PATH

        The makefile that calls generate-autoload now sets the path
        appropriately.  This change is so that generate-autoload can be
        conveniently called in different contexts.  Generally, programs
        in this directory should not set GUILE_LOAD_PATH.

  - Administrative news

        Doing "make rcs-state-summary" now also checks subdir bin.

        Distribution also includes benchmark logs.  These are to satisfy
        curiosity only; it's unlikely that the numbers mean anything.

[NEWS excerpt ends here]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]