1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
Smap NEWS -- history of user-visible changes. 2021-07-09
See the end of file for copying conditions.
Please send Smap bug reports to <gray+smap@gnu.org.ua>
Version 2.1.90 (git)
* Modules are loaded using plain dlopen/dlsym
* New dispatch condition: in
The condition "ARG in NAME", where ARG is "key" or "map" and NAME is a
database name evaluates to true if the lookup of ARG in the database
NAME gives positive result, i.e. a response beginning with the word "OK".
* New module: getent
* New module: lua
* Modules can indicate per-database capabilities
The smap_module structure has a new member, smap_dbcap, which
can be called in order to determine capabilities provided by a
particular database:
int (*smap_dbcap)(smap_database_t dbp)
This function is used when the smap_capabilities value has the
SMAP_CAPA_DBCAP flag set. The function returns actual database
capabilities as a bitmask. Notice, that smap_dbcap is called
and the returned value consulted only if the module reports a
particular capability. I.e. in the presence of SMAP_CAPA_DBCAP,
the SMAP_CAPA_QUERY and SMAP_CAPA_XFORM capability mean that
a module can provide a particular capability, but the actual
database is not required to do so.
Version 2.1, 2021-07-01
* Support for Guile 2.2
* Bugfixes
* Improved testsuite
Version 2.0, 2015-06-20
* new module: ldap
* mailutils: Requires 2.99.98 or later
Version 1.1, 2010-07-03
* New configuration statements
- prepend-load-path
Adds specified path at the beginning of the current load path
- append-load-path
Sinonym to `load-path'
* `Key' condition
New dispatch condition `key' compares key with the given pattern. As
with `map' three kinds of comparison are supported: literal, globbing
pattern and regular expression.
* Transform capability
Transform capability is an optional feature provided by some
databases. It allows for transforming requests following certain
rules.
Transforms are requested in dispatch rules, e.g.:
dispatch key like <*> transform key dequote
This rule applies to any request which has its key enclosed in
angle brackets. It applies the transformation method `dequote'
(which should be defined prior to this statement) to the
key. After the method returns, scanning dispatch rules is
resumed with the modified key value.
* New module `sed'
This module allows to modify queries using sed-like expressions.
For example, the declaration of the `dequote' database, used in
the example above, could be:
# Load the sed module
module sed sed
# Dequote database: removes angle brackets surrounding the argument
database dequote sed 's/<(.*)>/\1/'
* New module `mysql'
Provides an interface to MySQL DBMS.
* New module `postgres'
Provides an interface to PostgreSQL DBMS.
Version 1.0, 2010-06-19
* First release
=========================================================================
Copyright information:
Copyright (C) 2006-2021 Sergey Poznyakoff
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved,
thus giving the recipient permission to redistribute in turn.
Permission is granted to distribute modified versions
of this document, or of portions of it,
under the above conditions, provided also that they
carry prominent notices stating who last changed them.
Local variables:
mode: outline
paragraph-separate: "[ ]*$"
eval: (add-hook 'write-file-hooks 'time-stamp)
time-stamp-start: "changes. "
time-stamp-format: "%:y-%02m-%02d"
time-stamp-end: "\n"
end:
|