Transactions in retry hintsdb
[exim.git] / test / stderr / 2610
index dd45d50c35c1ccdb36e58757f821ee183efb5fb4..950d092299c034092a48c4aca574ecb8d132d0cf 100644 (file)
@@ -2,6 +2,7 @@
 ### wait for db startup, set password on the root user
 ### create testdb and extra users
 Exim version x.yz ....
 ### wait for db startup, set password on the root user
 ### create testdb and extra users
 Exim version x.yz ....
+Hints DB:
 configuration file is TESTSUITE/test-config
 admin user
 dropping to exim gid; retaining priv uid
 configuration file is TESTSUITE/test-config
 admin user
 dropping to exim gid; retaining priv uid
@@ -15,7 +16,7 @@ dropping to exim gid; retaining priv uid
  MySQL query: "select name from them where id='ph10';" opts 'NULL'
  MYSQL new connection: host=127.0.0.1 port=PORT_N socket=NULL database=test user=root
  creating new cache entry
  MySQL query: "select name from them where id='ph10';" opts 'NULL'
  MYSQL new connection: host=127.0.0.1 port=PORT_N socket=NULL database=test user=root
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -24,7 +25,7 @@ dropping to exim gid; retaining priv uid
  internal_search_find: file="NULL"
    type=mysql key="select name from them where id='ph10';" opts=NULL
  cached data used for lookup of select name from them where id='ph10';
  internal_search_find: file="NULL"
    type=mysql key="select name from them where id='ph10';" opts=NULL
  cached data used for lookup of select name from them where id='ph10';
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -61,7 +62,7 @@ dropping to exim gid; retaining priv uid
  MySQL query: "select id,name from them where id='nothing';" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
  MySQL query: "select id,name from them where id='nothing';" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
- lookup yielded: id=nothing name="" 
+ lookup yielded: id=nothing░name=""░
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -112,7 +113,7 @@ dropping to exim gid; retaining priv uid
  MySQL query: "select * from them where id='quote2';" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
  MySQL query: "select * from them where id='quote2';" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
- lookup yielded: name="\"stquot" id=quote2 
+ lookup yielded: name="\"stquot"░id=quote2░
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -153,7 +154,7 @@ LOG: MAIN
   WARNING: obsolete syntax used for lookup
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
   WARNING: obsolete syntax used for lookup
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -168,7 +169,7 @@ LOG: MAIN
   WARNING: obsolete syntax used for lookup
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
   WARNING: obsolete syntax used for lookup
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -183,7 +184,7 @@ LOG: MAIN
   WARNING: obsolete syntax used for lookup
  MYSQL new connection: host=ip4.ip4.ip4.ip4 port=PORT_N socket=NULL database=test user=root
  creating new cache entry
   WARNING: obsolete syntax used for lookup
  MYSQL new connection: host=ip4.ip4.ip4.ip4 port=PORT_N socket=NULL database=test user=root
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -198,7 +199,7 @@ LOG: MAIN
   WARNING: obsolete syntax used for lookup
  MYSQL new connection: host=localhost port=0 socket=TESTSUITE/mysql/sock database=test user=root
  creating new cache entry
   WARNING: obsolete syntax used for lookup
  MYSQL new connection: host=localhost port=0 socket=TESTSUITE/mysql/sock database=test user=root
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -210,7 +211,7 @@ LOG: MAIN
  MySQL query: "SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
  MySQL query: "SELECT name FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: Philip░Hazel↩
  Aristotle
  search_open: mysql "NULL"
    cached open
  Aristotle
  search_open: mysql "NULL"
    cached open
@@ -223,8 +224,8 @@ LOG: MAIN
  MySQL query: "SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
  MySQL query: "SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
- lookup yielded: name="Philip Hazel" id=ph10 
- name=Aristotle id=aaaa 
+ lookup yielded: name="Philip░Hazel"░id=ph10░↩
+ name=Aristotle░id=aaaa░
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
  search_open: mysql "NULL"
    cached open
  search_find: file="NULL"
@@ -244,6 +245,7 @@ close MYSQL connection: ip4.ip4.ip4.ip4:1223/test/root
 close MYSQL connection: 127.0.0.1:PORT_N/test/root
 >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 01:01:01 p1235  Exim version x.yz uid=CALLER_UID gid=CALLER_GID pid=p1235 D=fff9ffff
 close MYSQL connection: 127.0.0.1:PORT_N/test/root
 >>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 01:01:01 p1235  Exim version x.yz uid=CALLER_UID gid=CALLER_GID pid=p1235 D=fff9ffff
+01:01:01 p1235  Hints DB:
 01:01:01 p1235  macros_trusted overridden to true by whitelisting
 01:01:01 p1235  changed uid/gid: forcing real = effective
 01:01:01 p1235    uid=uuuu gid=CALLER_GID pid=p1235
 01:01:01 p1235  macros_trusted overridden to true by whitelisting
 01:01:01 p1235  changed uid/gid: forcing real = effective
 01:01:01 p1235    uid=uuuu gid=CALLER_GID pid=p1235
@@ -278,18 +280,18 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  host in helo_accept_junk_hosts? no (option unset)
 01:01:01 p1235  try option acl_smtp_connect
 01:01:01 p1235  try option smtp_banner
 01:01:01 p1235  host in helo_accept_junk_hosts? no (option unset)
 01:01:01 p1235  try option acl_smtp_connect
 01:01:01 p1235  try option smtp_banner
-01:01:01 p1235   ╭considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+01:01:01 p1235   ╭considering: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
 01:01:01 p1235   ├──────value: myhost.test.ex
 01:01:01 p1235   ├──────value: myhost.test.ex
-01:01:01 p1235   ├considering:  ESMTP Exim $version_number $tod_full
-01:01:01 p1235   ├───────text:  ESMTP Exim 
-01:01:01 p1235   ├considering: $version_number $tod_full
+01:01:01 p1235   ├considering: ░ESMTP░Exim░$version_number░$tod_full
+01:01:01 p1235   ├───────text: ░ESMTP░Exim░
+01:01:01 p1235   ├considering: $version_number$tod_full
 01:01:01 p1235   ├──────value: x.yz
 01:01:01 p1235   ├──────value: x.yz
-01:01:01 p1235   ├considering:  $tod_full
-01:01:01 p1235   ├───────text:  
+01:01:01 p1235   ├considering: $tod_full
+01:01:01 p1235   ├───────text: 
 01:01:01 p1235   ├considering: $tod_full
 01:01:01 p1235   ├considering: $tod_full
-01:01:01 p1235   ├──────value: Tue, 2 Mar 1999 09:44:33 +0000
-01:01:01 p1235   ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
-01:01:01 p1235   ╰─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+01:01:01 p1235   ├──────value: Tue,░2░Mar░1999░09:44:33░+0000
+01:01:01 p1235   ├───expanded: $smtp_active_hostname░ESMTP░Exim░$version_number░$tod_full
+01:01:01 p1235   ╰─────result: myhost.test.ex░ESMTP░Exim░x.yz░Tue,░2░Mar░1999░09:44:33░+0000
 01:01:01 p1235  host in pipelining_connect_advertise_hosts?
 01:01:01 p1235   list element: 
 01:01:01 p1235  SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
 01:01:01 p1235  host in pipelining_connect_advertise_hosts?
 01:01:01 p1235   list element: 
 01:01:01 p1235  SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
@@ -315,17 +317,17 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  try option acl_smtp_rcpt
 01:01:01 p1235  using ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 26)
 01:01:01 p1235  try option acl_smtp_rcpt
 01:01:01 p1235  using ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 26)
-01:01:01 p1235   ╭considering: ok:    ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ├───────text: ok:    
-01:01:01 p1235   ├considering: ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ├───────text: select name from them where id = '
+01:01:01 p1235   ╭considering: ok:░░░░${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ├───────text: ok:░░░░
+01:01:01 p1235   ├considering: ${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ├───────text: select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
-01:01:01 p1235     ├──expanding: $local_part
+01:01:01 p1235     ├───expanded: $local_part
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
@@ -333,8 +335,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
-01:01:01 p1235    ╰─────result: select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'
+01:01:01 p1235    ╰─────result: select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235   search_find: file="NULL"
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235   search_find: file="NULL"
@@ -350,23 +352,23 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   creating new cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   creating new cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: ok:    ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ╰─────result: ok:    
+01:01:01 p1235   ├───expanded: ok:░░░░${lookup░mysql░░░░░░░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ╰─────result: ok:░░░░
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql                    {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
-01:01:01 p1235   ╭considering: FAIL1: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
-01:01:01 p1235   ├───────text: FAIL1: 
-01:01:01 p1235   ├considering: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
-01:01:01 p1235    ╭considering: select name from them where id = '$local_part'}}
-01:01:01 p1235    ├───────text: select name from them where id = '
+01:01:01 p1235   ╭considering: FAIL1:░${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235   ├───────text: FAIL1:
+01:01:01 p1235   ├considering: ${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235    ╭considering: select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235    ├───────text: select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: $local_part'}}
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: $local_part'}}
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: select name from them where id = '$local_part'
-01:01:01 p1235    ╰─────result: select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: select░name░from░them░where░id░=░'$local_part'
+01:01:01 p1235    ╰─────result: select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -379,30 +381,30 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235                                (tainted)
 01:01:01 p1235  LOG: MAIN PANIC
 01:01:01 p1235    tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 26): select name from them where id = 'c'
 01:01:01 p1235                                (tainted)
 01:01:01 p1235  LOG: MAIN PANIC
 01:01:01 p1235    tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 26): select name from them where id = 'c'
-01:01:01 p1235   search_type 13 (mysql) quoting -1 (none)
+01:01:01 p1235   search_type NN (mysql) quoting -1 (none)
 01:01:01 p1235   MySQL query: "select name from them where id = 'c'" opts 'no_rd'
 01:01:01 p1235   MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   MYSQL: no data found
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   MySQL query: "select name from them where id = 'c'" opts 'no_rd'
 01:01:01 p1235   MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   MYSQL: no data found
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: FAIL1: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
-01:01:01 p1235   ╰─────result: FAIL1: 
+01:01:01 p1235   ├───expanded: FAIL1:░${lookup░mysql,no_rd░░░░░░░░░░░░░░{select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235   ╰─────result: FAIL1:
 01:01:01 p1235  check set acl_m0 = FAIL1: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
 01:01:01 p1235                   = FAIL1: 
 01:01:01 p1235  warn: condition test succeeded in ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 31)
 01:01:01 p1235  check set acl_m0 = FAIL1: ${lookup mysql,no_rd              {select name from them where id = '$local_part'}}
 01:01:01 p1235                   = FAIL1: 
 01:01:01 p1235  warn: condition test succeeded in ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 31)
-01:01:01 p1235   ╭considering: ok:    ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ├───────text: ok:    
-01:01:01 p1235   ├considering: ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ├───────text: select name from them where id = '
+01:01:01 p1235   ╭considering: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ├───────text: ok:░░░░
+01:01:01 p1235   ├considering: ${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ├───────text: select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
-01:01:01 p1235     ├──expanding: $local_part
+01:01:01 p1235     ├───expanded: $local_part
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
@@ -410,8 +412,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
-01:01:01 p1235    ╰─────result: select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'
+01:01:01 p1235    ╰─────result: select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -428,21 +430,21 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: ok:    ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ╰─────result: ok:    
+01:01:01 p1235   ├───expanded: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N/test/root/pass░░░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ╰─────result: ok:░░░░
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql,servers=127.0.0.1::PORT_N/test/root/pass      {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
-01:01:01 p1235   ╭considering: ok:    ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ├───────text: ok:    
-01:01:01 p1235   ├considering: ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ╭considering: select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ├───────text: select name from them where id = '
+01:01:01 p1235   ╭considering: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ├───────text: ok:░░░░
+01:01:01 p1235   ├considering: ${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ╭considering: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ├───────text: select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
-01:01:01 p1235     ├──expanding: $local_part
+01:01:01 p1235     ├───expanded: $local_part
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
@@ -450,8 +452,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: select name from them where id = '${quote_mysql:$local_part}'
-01:01:01 p1235    ╰─────result: select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: select░name░from░them░where░id░=░'${quote_mysql:$local_part}'
+01:01:01 p1235    ╰─────result: select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -468,21 +470,21 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   replacing old cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: ok:    ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ╰─────result: ok:    
+01:01:01 p1235   ├───expanded: ok:░░░░${lookup░mysql,servers=127.0.0.1::PORT_N░░░░{select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ╰─────result: ok:░░░░
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
 01:01:01 p1235  check set acl_m0 = ok:    ${lookup mysql,servers=127.0.0.1::PORT_N    {select name from them where id = '${quote_mysql:$local_part}'}}
 01:01:01 p1235                   = ok:    
-01:01:01 p1235   ╭considering: FAIL2: ${lookup mysql     {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235   ├───────text: FAIL2: 
-01:01:01 p1235   ├considering: ${lookup mysql     {servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ╭considering: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'}}
-01:01:01 p1235    ├───────text: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '
+01:01:01 p1235   ╭considering: FAIL2:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235   ├───────text: FAIL2:
+01:01:01 p1235   ├considering: ${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ╭considering: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'}}
+01:01:01 p1235    ├───────text: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
 01:01:01 p1235    ├considering: ${quote_mysql:$local_part}'}}
 01:01:01 p1235     ╭considering: $local_part}'}}
 01:01:01 p1235     ├──────value: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235     ├considering: }'}}
-01:01:01 p1235     ├──expanding: $local_part
+01:01:01 p1235     ├───expanded: $local_part
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
 01:01:01 p1235     ╰─────result: c
 01:01:01 p1235                ╰──(tainted)
 01:01:01 p1235    ├─────op-res: c
@@ -490,8 +492,8 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = '${quote_mysql:$local_part}'
-01:01:01 p1235    ╰─────result: servers=127.0.0.1::PORT_N/test/root/pass; select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'${quote_mysql:$local_part}'
+01:01:01 p1235    ╰─────result: servers=127.0.0.1::PORT_N/test/root/pass;░select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted, quoted:mysql)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -513,19 +515,19 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  LOG: MAIN
 01:01:01 p1235    H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 39)
 01:01:01 p1235  LOG: MAIN
 01:01:01 p1235    H=(test) [10.0.0.0] Warning: ACL "warn" statement skipped: condition test deferred: MySQL server "127.0.0.1:PORT_N/test" is tainted
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 39)
-01:01:01 p1235   ╭considering: FAIL3: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
-01:01:01 p1235   ├───────text: FAIL3: 
-01:01:01 p1235   ├considering: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
-01:01:01 p1235    ╭considering: servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
-01:01:01 p1235    ├───────text: servers=127.0.0.1::PORT_N; select name from them where id = '
+01:01:01 p1235   ╭considering: FAIL3:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235   ├───────text: FAIL3:
+01:01:01 p1235   ├considering: ${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235    ╭considering: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235    ├───────text: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'
 01:01:01 p1235    ├considering: $local_part'}}
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
 01:01:01 p1235    ├considering: $local_part'}}
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: '}}
 01:01:01 p1235    ├───────text: '
 01:01:01 p1235    ├considering: }}
-01:01:01 p1235    ├──expanding: servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'
-01:01:01 p1235    ╰─────result: servers=127.0.0.1::PORT_N; select name from them where id = 'c'
+01:01:01 p1235    ├───expanded: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'
+01:01:01 p1235    ╰─────result: servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'c'
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
@@ -538,7 +540,7 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235                                (tainted)
 01:01:01 p1235  LOG: MAIN PANIC
 01:01:01 p1235    tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 39): select name from them where id = 'c'
 01:01:01 p1235                                (tainted)
 01:01:01 p1235  LOG: MAIN PANIC
 01:01:01 p1235    tainted search query is not properly quoted (ACL warn, TESTSUITE/test-config 39): select name from them where id = 'c'
-01:01:01 p1235   search_type 13 (mysql) quoting -1 (none)
+01:01:01 p1235   search_type NN (mysql) quoting -1 (none)
 01:01:01 p1235   MySQL query: "servers=127.0.0.1::PORT_N; select name from them where id = 'c'" opts 'NULL'
 01:01:01 p1235  LOG: MAIN
 01:01:01 p1235    Exim configuration error in line 89 of TESTSUITE/test-config:
 01:01:01 p1235   MySQL query: "servers=127.0.0.1::PORT_N; select name from them where id = 'c'" opts 'NULL'
 01:01:01 p1235  LOG: MAIN
 01:01:01 p1235    Exim configuration error in line 89 of TESTSUITE/test-config:
@@ -548,33 +550,33 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235   creating new cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
 01:01:01 p1235   creating new cache entry
 01:01:01 p1235   lookup failed
 01:01:01 p1235   ├───item-res: 
-01:01:01 p1235   ├──expanding: FAIL3: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
-01:01:01 p1235   ╰─────result: FAIL3: 
+01:01:01 p1235   ├───expanded: FAIL3:░${lookup░mysql░░░░░{servers=127.0.0.1::PORT_N;░select░name░from░them░where░id░=░'$local_part'}}
+01:01:01 p1235   ╰─────result: FAIL3:
 01:01:01 p1235  check set acl_m0 = FAIL3: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
 01:01:01 p1235                   = FAIL3: 
 01:01:01 p1235  warn: condition test succeeded in ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 42)
 01:01:01 p1235  check set acl_m0 = ok:    hostlist
 01:01:01 p1235  check hosts = net-mysql;select * from them where id='${quote_mysql:$local_part}'
 01:01:01 p1235  check set acl_m0 = FAIL3: ${lookup mysql     {servers=127.0.0.1::PORT_N; select name from them where id = '$local_part'}}
 01:01:01 p1235                   = FAIL3: 
 01:01:01 p1235  warn: condition test succeeded in ACL "check_recipient"
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 42)
 01:01:01 p1235  check set acl_m0 = ok:    hostlist
 01:01:01 p1235  check hosts = net-mysql;select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╭considering: net-mysql;select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ├───────text: net-mysql;select * from them where id='
+01:01:01 p1235   ╭considering: net-mysql;select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ├───────text: net-mysql;select░*░from░them░where░id='
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
-01:01:01 p1235    ├──expanding: $local_part
+01:01:01 p1235    ├───expanded: $local_part
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
-01:01:01 p1235   ├──expanding: net-mysql;select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╰─────result: net-mysql;select * from them where id='c'
+01:01:01 p1235   ├───expanded: net-mysql;select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ╰─────result: net-mysql;select░*░from░them░where░id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "net-mysql;select * from them where id='c'"?
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "net-mysql;select * from them where id='c'"?
-01:01:01 p1235   list element: net-mysql;select * from them where id='c'
+01:01:01 p1235   list element: net-mysql;select░*░from░them░where░id='c'
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235   search_find: file="NULL"
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235   search_find: file="NULL"
@@ -594,25 +596,25 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 45)
 01:01:01 p1235  check set acl_m0 = FAIL4: hostlist
 01:01:01 p1235  check hosts = <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 45)
 01:01:01 p1235  check set acl_m0 = FAIL4: hostlist
 01:01:01 p1235  check hosts = <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╭considering: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ├───────text: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='
+01:01:01 p1235   ╭considering: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ├───────text: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
-01:01:01 p1235    ├──expanding: $local_part
+01:01:01 p1235    ├───expanded: $local_part
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
-01:01:01 p1235   ├──expanding: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╰─────result: <& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235   ├───expanded: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ╰─────result: <&░net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "<& net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
-01:01:01 p1235   list element: net-mysql;servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235   list element: net-mysql;servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='c'
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235   search_find: file="NULL"
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235   search_find: file="NULL"
@@ -634,25 +636,25 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 50)
 01:01:01 p1235  check set acl_m0 = FAIL5: hostlist
 01:01:01 p1235  check hosts = <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
 01:01:01 p1235  processing "warn" (TESTSUITE/test-config 50)
 01:01:01 p1235  check set acl_m0 = FAIL5: hostlist
 01:01:01 p1235  check hosts = <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╭considering: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ├───────text: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='
+01:01:01 p1235   ╭considering: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ├───────text: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
 01:01:01 p1235   ├considering: ${quote_mysql:$local_part}'
 01:01:01 p1235    ╭considering: $local_part}'
 01:01:01 p1235    ├──────value: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235    ├considering: }'
-01:01:01 p1235    ├──expanding: $local_part
+01:01:01 p1235    ├───expanded: $local_part
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
 01:01:01 p1235    ╰─────result: c
 01:01:01 p1235               ╰──(tainted)
 01:01:01 p1235   ├─────op-res: c
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235   ├considering: '
 01:01:01 p1235   ├───────text: '
-01:01:01 p1235   ├──expanding: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='${quote_mysql:$local_part}'
-01:01:01 p1235   ╰─────result: <& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235   ├───expanded: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='${quote_mysql:$local_part}'
+01:01:01 p1235   ╰─────result: <&░net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='c'
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
 01:01:01 p1235              ╰──(tainted, quoted:mysql)
 01:01:01 p1235  host in "<& net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'"?
-01:01:01 p1235   list element: net-mysql,servers=127.0.0.1::PORT_N/test/root/pass; select * from them where id='c'
+01:01:01 p1235   list element: net-mysql,servers=127.0.0.1::PORT_N/test/root/pass;░select░*░from░them░where░id='c'
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235   search_find: file="NULL"
 01:01:01 p1235   search_open: mysql "NULL"
 01:01:01 p1235     cached open
 01:01:01 p1235   search_find: file="NULL"
@@ -684,16 +686,16 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  host in "+relay_hosts"?
 01:01:01 p1235   list element: +relay_hosts
 01:01:01 p1235    start sublist relay_hosts
 01:01:01 p1235  host in "+relay_hosts"?
 01:01:01 p1235   list element: +relay_hosts
 01:01:01 p1235    start sublist relay_hosts
-01:01:01 p1235     ╎╭considering: net-mysql;select * from them where id='$sender_host_address'
-01:01:01 p1235     ╎├───────text: net-mysql;select * from them where id='
+01:01:01 p1235     ╎╭considering: net-mysql;select░*░from░them░where░id='$sender_host_address'
+01:01:01 p1235     ╎├───────text: net-mysql;select░*░from░them░where░id='
 01:01:01 p1235     ╎├considering: $sender_host_address'
 01:01:01 p1235     ╎├──────value: 10.0.0.0
 01:01:01 p1235     ╎├considering: '
 01:01:01 p1235     ╎├───────text: '
 01:01:01 p1235     ╎├considering: $sender_host_address'
 01:01:01 p1235     ╎├──────value: 10.0.0.0
 01:01:01 p1235     ╎├considering: '
 01:01:01 p1235     ╎├───────text: '
-01:01:01 p1235     ╎├──expanding: net-mysql;select * from them where id='$sender_host_address'
-01:01:01 p1235     ╎╰─────result: net-mysql;select * from them where id='10.0.0.0'
+01:01:01 p1235     ╎├───expanded: net-mysql;select░*░from░them░where░id='$sender_host_address'
+01:01:01 p1235     ╎╰─────result: net-mysql;select░*░from░them░where░id='10.0.0.0'
 01:01:01 p1235     host in "net-mysql;select * from them where id='10.0.0.0'"?
 01:01:01 p1235     host in "net-mysql;select * from them where id='10.0.0.0'"?
-01:01:01 p1235     ╎list element: net-mysql;select * from them where id='10.0.0.0'
+01:01:01 p1235     ╎list element: net-mysql;select░*░from░them░where░id='10.0.0.0'
 01:01:01 p1235     ╎search_open: mysql "NULL"
 01:01:01 p1235     ╎  cached open
 01:01:01 p1235     ╎search_find: file="NULL"
 01:01:01 p1235     ╎search_open: mysql "NULL"
 01:01:01 p1235     ╎  cached open
 01:01:01 p1235     ╎search_find: file="NULL"
@@ -727,6 +729,7 @@ close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 01:01:01 p1235  close MYSQL connection: 127.0.0.1:PORT_N/test/root
 01:01:01 p1235  >>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=p1236
 configuration file is TESTSUITE/test-config
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=p1236
 configuration file is TESTSUITE/test-config
@@ -781,6 +784,7 @@ created log directory TESTSUITE/spool/log
 search_tidyup called
 exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -MCd local-accept-delivery -odi -Mc 10HmaX-000000005vi-0000
 Exim version x.yz ....
 search_tidyup called
 exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -MCd local-accept-delivery -odi -Mc 10HmaX-000000005vi-0000
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=p1237
 configuration file is TESTSUITE/test-config
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=p1237
 configuration file is TESTSUITE/test-config
@@ -804,8 +808,6 @@ body_linecount=1 message_linecount=8
 DSN: set orcpt:   flags: 0x0
 Delivery address list:
   ph10@myhost.test.ex 
 DSN: set orcpt:   flags: 0x0
 Delivery address list:
   ph10@myhost.test.ex 
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
  EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
  returned from EXIM_DBOPEN: (nil)
  failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
  EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
  returned from EXIM_DBOPEN: (nil)
  failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
@@ -850,7 +852,7 @@ LOG: MAIN PANIC
  MySQL query: "select name from them where id='ph10' limit 1" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
  MySQL query: "select name from them where id='ph10' limit 1" opts 'NULL'
  MYSQL using cached connection for 127.0.0.1:PORT_N/test/root
  creating new cache entry
- lookup yielded: Philip Hazel
+ lookup yielded: PhilipHazel
 calling r1 router
 r1 router called for ph10@myhost.test.ex
   domain = myhost.test.ex
 calling r1 router
 r1 router called for ph10@myhost.test.ex
   domain = myhost.test.ex
@@ -873,8 +875,6 @@ search_tidyup called
 close MYSQL connection: 127.0.0.1:PORT_N/test/root
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> ph10@myhost.test.ex <--------
 close MYSQL connection: 127.0.0.1:PORT_N/test/root
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> ph10@myhost.test.ex <--------
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
  EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
  returned from EXIM_DBOPEN: (nil)
  failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
  EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
  returned from EXIM_DBOPEN: (nil)
  failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
@@ -918,6 +918,7 @@ writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
 search_tidyup called
 close MYSQL connection: 127.0.0.1:PORT_N/test/root
 appendfile yields 0 with errno=dd more_errno=dd
 search_tidyup called
 close MYSQL connection: 127.0.0.1:PORT_N/test/root
+>>>>>>>>>>>>>>>> Exim pid=p1238 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 journalling ph10@myhost.test.ex
 t1 transport returned OK for ph10@myhost.test.ex
 post-process ph10@myhost.test.ex (0)
 journalling ph10@myhost.test.ex
 t1 transport returned OK for ph10@myhost.test.ex
 post-process ph10@myhost.test.ex (0)
@@ -929,10 +930,10 @@ changed uid/gid: post-delivery tidying
   uid=EXIM_UID gid=EXIM_GID pid=p1237
 set_process_info: pppp tidying up after delivering 10HmaX-000000005vi-0000
 Processing retry items
   uid=EXIM_UID gid=EXIM_GID pid=p1237
 set_process_info: pppp tidying up after delivering 10HmaX-000000005vi-0000
 Processing retry items
-Succeeded addresses:
- ph10@myhost.test.ex: no retry items
-Failed addresses:
-Deferred addresses:
+ Succeeded addresses:
 ph10@myhost.test.ex: no retry items
+ Failed addresses:
+ Deferred addresses:
 end of retry processing
 DSN: processing router : r1
 DSN: processing successful delivery address: ph10@myhost.test.ex
 end of retry processing
 DSN: processing router : r1
 DSN: processing successful delivery address: ph10@myhost.test.ex