Re: [HACKERS] WIP Patch for GROUPING SETS phase 1

2015-04-20 Thread Svenne Krap
Oh, and I build it on top of f92fc4c95ddcc25978354a8248d3df22269201bc

On 20-04-2015 10:36, Svenne Krap wrote:
 The following review has been posted through the commitfest application:
 make installcheck-world:  tested, failed
 Implements feature:   tested, passed
 Spec compliant:   not tested
 Documentation:tested, passed

 Hi, 

 I have (finally) found time to review this. 

 The syntax is as per spec as I can see, and the queries I have tested have 
 all produced the correct output. 

 The documentation looks good and is clear.

 I think it is spec compliant, but I am not used enough to the spec to be 
 sure. Also I have not understood the function of set quantifier 
 (DISTINCT,ALL) part in the group by clause (and hence not tested it). Hence I 
 haven't marked the spec compliant part.

 The installcheck-world fails, but in src/pl/tcl/results/pltcl_queries.out (a 
 sorting problem when looking at the diff) which should be unrelated to GSP. I 
 don't know enough of the check to know if it has already run the GSP tests..

 I have also been running a few tests on some real data. This is run on my 
 laptop with 32 GB of memory and a fast SSD. 

 The first dataset is a join between a data table of 472 MB (4,3 Mrows) and a 
 tiny multi-column lookup table. I am returning a count(*).
 Here the data is hierarchical so CUBE does not make sense. GROUPING SETS and 
 ROLLUP both works fine and if work_buffers are large enough it slightly beats 
 the handwritten union all equivalent (runtimes as 7,6 seconds  to 7,7 
 seconds). If work_buffers are the default 4MB the union-all-equivalent (UAE) 
 beats the GS-query almost 2:1 due to disk spill (14,3 (GS) vs. 8,2 (UAE) 
 seconds). 

 The other query is on the same datatable as before, but with three columns 
 (two calculated and one natural) for a cube. I am returning a count(*). 
 First column is extract year from date column
 Second column is divide a value by something and truncate (i.e. make 
 buckets)
 Third column is a litteral integer column. 
 Here the GS-version is slightly slower than the UAE-version (17,5 vs. 14,2). 
 Nothing obvious about why in the explain (analyze,buffers,costs,timing) .

 I have the explains, but as the dataset is semi-private and I don't have any 
 easy way to edit out names in it, I will send it on request (non-disclosure 
 from the recipient is of course a must) and not post it on the list.

 I think the feature is ready to be commited, but am unsure whether I am 
 qualified to gauge that :)

 /Svenne

 The new status of this patch is: Ready for Committer





-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] WIP Patch for GROUPING SETS phase 1

2015-04-20 Thread Svenne Krap
The following review has been posted through the commitfest application:
make installcheck-world:  tested, failed
Implements feature:   tested, passed
Spec compliant:   not tested
Documentation:tested, passed

Hi, 

I have (finally) found time to review this. 

The syntax is as per spec as I can see, and the queries I have tested have all 
produced the correct output. 

The documentation looks good and is clear.

I think it is spec compliant, but I am not used enough to the spec to be sure. 
Also I have not understood the function of set quantifier (DISTINCT,ALL) part 
in the group by clause (and hence not tested it). Hence I haven't marked the 
spec compliant part.

The installcheck-world fails, but in src/pl/tcl/results/pltcl_queries.out (a 
sorting problem when looking at the diff) which should be unrelated to GSP. I 
don't know enough of the check to know if it has already run the GSP tests..

I have also been running a few tests on some real data. This is run on my 
laptop with 32 GB of memory and a fast SSD. 

The first dataset is a join between a data table of 472 MB (4,3 Mrows) and a 
tiny multi-column lookup table. I am returning a count(*).
Here the data is hierarchical so CUBE does not make sense. GROUPING SETS and 
ROLLUP both works fine and if work_buffers are large enough it slightly beats 
the handwritten union all equivalent (runtimes as 7,6 seconds  to 7,7 
seconds). If work_buffers are the default 4MB the union-all-equivalent (UAE) 
beats the GS-query almost 2:1 due to disk spill (14,3 (GS) vs. 8,2 (UAE) 
seconds). 

The other query is on the same datatable as before, but with three columns 
(two calculated and one natural) for a cube. I am returning a count(*). 
First column is extract year from date column
Second column is divide a value by something and truncate (i.e. make buckets)
Third column is a litteral integer column. 
Here the GS-version is slightly slower than the UAE-version (17,5 vs. 14,2). 
Nothing obvious about why in the explain (analyze,buffers,costs,timing) .

I have the explains, but as the dataset is semi-private and I don't have any 
easy way to edit out names in it, I will send it on request (non-disclosure 
from the recipient is of course a must) and not post it on the list.

I think the feature is ready to be commited, but am unsure whether I am 
qualified to gauge that :)

/Svenne

The new status of this patch is: Ready for Committer


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] WIP Patch for GROUPING SETS phase 1

2015-03-27 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 18-03-2015 17:18, Svenne Krap wrote:

 I still need to check against the standard and I will run it against a
non-trivival production load... hopefully I will finish up my review
shortly after the weekend...

I am still on it, but a little delayed. I hope to get it done this weekend.

Svenne




-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] WIP Patch for GROUPING SETS phase 1

2015-03-18 Thread Svenne Krap
The following review has been posted through the commitfest application:
make installcheck-world:  tested, failed
Implements feature:   tested, passed
Spec compliant:   not tested
Documentation:tested, passed

This is a midway review, a later will complete it. 

The patch applies against 8d1f239003d0245dda636dfa6cf0add13bee69d6 and builds 
correctly. Make installcheck-world fails, but it seems to be somewhere totally 
unrelated (TCL pl)... 

The documentation is very well-written and the patch implements the documented 
syntax.

I still need to check against the standard and I will run it against a 
non-trivival production load... hopefully I will finish up my review shortly 
after the weekend...



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] WIP Patch for GROUPING SETS phase 1

2015-03-13 Thread Svenne Krap
Patch from message (87d24iukc5@news-spur.riddles.org.uk) fails (tried to 
apply on top of ebc0f5e01d2f ), as b55722692 has broken up the line (in 
src/backend/optimizer/util/pathnode.c):

pathnode-path.rows = estimate_num_groups(root, uniq_exprs, rel-rows);

After patching the added parameter (NULL) in by hand, the build fails as 
src/backend/optimizer/path/indxpath.c:1953 misses the new argument as well - 
this change is not in the patch. 

/Svenne

The new status of this patch is: Waiting on Author


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Git-master regression failure

2013-06-19 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 18-06-2013 22:18, Jeff Janes wrote:
  In Danish, apparently 'AA'  'WA', so two more rows show up.

Yes of course

We have three extra vowels following Z (namely Æ, Ø and Å) and for
keyboard missing those essential keys we have an official alternate way
to write them as AE , OE and AA.

Which of course means that AA is larger than any other letter ;)

Nice find :)

Svenne
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQI5BAEBCAAjBQJRwUjzHBpodHRwOi8vc3Zlbm5lLmRrL3BncC9wb2xpY3kACgkQ
/zLSj+olL/LfqxAAqZ6Qc9uC7lZ/gE/ZT5RjMqEudQvHvRxGiUQLcLdif/n2novf
yf3Phe7gJOMPgt7V47dT5Wu/l3/PunV6Yo2Q1Ifg+XsrvUXC4CDMLo/RDP97EUwZ
B96o1UH2Tx1+GnaJrZkcjq5V8y+4X5QJ6+vP11SEUyuMl7Ist2EegMet55N3ndTe
W/mjZr5uTpmEyBr1aMJo6RJ3T1gxPLelc2b4aA5jnQlO7RbXlCgtWUQzQ/Q/dBWb
kuE0MEd9CSR4kuo9u6yImVKUMUdX+NGgOeD6D36UtS4pdvnWOI+gX95Mze4AfiY/
ZPt6mCv0afBfQW/uioctHDLScY9v6cT58dkzrLjWyuNd6CfvqBiWfXBygwUclDZK
cWpuszwIjVaOnHiDlHK8sg7yXU+FkhV5V8PXz6KBulCPxmR+Z8oI0AKiU2MhRIe7
mQhgDHgHT6nBpqWGlmX3VAjiTL6+/DZT34TnxNqdLDtWKrHUK+2KzZ/kYJ97zwo4
C78UX6F+1/6JxOkMVjm77M1ZQx306pJC8YGS3+7/fRh1EZd3LQXPaOXCU2EtM6UL
sBaafDB5yMEZsdNw3DKOLnbg/bTq9MPa2uBZdEJ1w8LsvNrSeOohTXZFn2PL2zoJ
L8JnJcAndM3SJG+UO1K1ALJhZlD0oRovYnzolAlKCXavNTn+zBd2uyNYSIQ=
=qC25
-END PGP SIGNATURE-



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Git-master regression failure

2013-06-19 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 19-06-2013 17:41, Kevin Grittner wrote:

 OK, pushed without the comment.

Works like a charm :)

Svenne
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQI5BAEBCAAjBQJRwhpmHBpodHRwOi8vc3Zlbm5lLmRrL3BncC9wb2xpY3kACgkQ
/zLSj+olL/LBzRAAje+BsZ6eGbNEXwPWPob0sJwAD+51UNT24DMHCLAg4T38Bheo
HaT+xSQm3hlIIjL/JF5BLiRFG4Fz1+GGOGbykKRW1Fm+VWzw6934lajbh/Z7wqzO
T+n0XXwhbMnA4O++FvIJ67C7iazsNbAobOmqwjPe+6D6ID8VR9rNB/NEwelueR3L
dVmVrSg1Mc8DVHS2h7Aq4bJaeCJHOQstB89+AEa14cwsJ25PiQFcdbUWsNNqbnoE
TN3jQlXZLAl/qCzdKQ7FRAsi7Yk1r9uU7g1HNSY7ggh+W5KmRNqX99LS4v5mO6rf
XquzXNf6nzl3ngfucB+60C2NloqieYKGVbzDh7LjCThbv284/fdlW+Wu80vYGcto
TWIb5Ku4fbKP0Hmcuby1VlcYyZhyiBa76zV7JF5AtMe9yfCpOdmyAUdHDQUq6T6c
/BVV/bCVsDAhJN/AJQC2itNnt4G+Bw62YEQCwuw1cNT5BUzjf0mbcer5kRchkNr3
lBdTEp4HBzElBDnCY7oSre+aSKomgNZwyJsps2aLuyz8nTj4WxpDQTDo1m7Kyi7K
dFGRZLJRy5FS0xNrVtBW1cfoYy8B2GM9cmcZru5bFo2XAJfJaSSl4EZLdlIk5k66
k+VkwS5XoIl7oR/qT1fSwERM8TfDS2An2rr+jvVAATm2QQsKL42AN7aSROk=
=2COi
-END PGP SIGNATURE-



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] Git-master regression failure

2013-06-18 Thread Svenne Krap
Hi All.

I just subscribed to RRReviewers (that should be pronounce with a nice
rolling r-r-reviewers, right?)

As part of my getting up to speed, I tried to build and run test on the
current master 073d7cb513f5de44530f4bdbaaa4b5d4cce5f984

Basically I did:
1) Clone into new dir
2) ./configure --enable-debug --enable-cassert --with-pgport=5499
--prefix=$(realpath ../root)
3) make -j4
4) maje -j4 check

And expecting in 4) to get all test passed, I was surprised to see
that an index-test failed.

I run (Gentoo) Linux x86_64, gcc-4.7.3.

Any ideas what might have happened?

Svenne
*** /home/sk/tmp/pgsql-test/source/src/test/regress/expected/create_index.out   
2013-06-18 17:38:03.411169360 +0200
--- /home/sk/tmp/pgsql-test/source/src/test/regress/results/create_index.out
2013-06-18 18:36:18.178373329 +0200
***
*** 2673,2679 
WHERE f1  'WA' and id  1000 and f1 ~~ 'YX';
   count 
  ---
! 97
  (1 row)
  
  --
--- 2673,2679 
WHERE f1  'WA' and id  1000 and f1 ~~ 'YX';
   count 
  ---
! 99
  (1 row)
  
  --

==


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Git-master regression failure

2013-06-18 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256



On 18-06-2013 18:40, Svenne Krap wrote:
 Any ideas what might have happened?

After doing some more digging...

My laptop (which runs PostgreSQL 9.2.4 on x86_64-pc-linux-gnu, compiled
by x86_64-pc-linux-gnu-gcc (Gentoo 4.7.3 p1.0, pie-0.5.5) 4.7.3,
64-bit)  also returns 99, if I

- - run the CREATE TABLE tenk1 (from the git-master)
- - load data from tenk.data (from git-master)
- - run the offending part of the create_index.sql (also from git-master):

The offending offending_part is:
CREATE TABLE dupindexcols
AS 
  SELECT unique1 as id, stringu2::text as f1 FROM
tenk1; 
CREATE INDEX dupindexcols_i ON dupindexcols (f1, id, f1
text_pattern_ops);   
ANALYZE
dupindexcols;


 

EXPLAIN (COSTS
OFF)
   

  SELECT count(*) FROM
dupindexcols  
WHERE f1  'WA' and id  1000 and f1 ~~
'YX';   
SELECT count(*) FROM
dupindexcols
  WHERE f1  'WA' and id  1000 and f1 ~~ 'YX';


As I have no real idea of what ~~ is for an operator (I have looked
it up as scalarltjoinsel), but I cannot find any semantics for it in the
docs*... So I have no way of manually checking the expected result.

*=The term ~~ is not exactly google-friendly and the docs site's search
also returns empty...

Anyone has any idea what to look after next?

Svenne
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQI5BAEBCAAjBQJRwKTQHBpodHRwOi8vc3Zlbm5lLmRrL3BncC9wb2xpY3kACgkQ
/zLSj+olL/KGHQ//d5WM2gi4yIaMCpaij1+PdCzBwyMwz0E3Ys4mlj1x7x22v8ty
6Gs6HZlofuuUdBkhDvRYYvbJ8asdi51KbjVMbrBkR49txiM00cWLtT74e9mFdTaA
f5lOeUmfyqy7O9jlyFvKaC8hVRe7yQrbRK+b2sOBIq2TchVkvjT/AvvDcuPWCKD7
6FgHOtFF4Ae4yqC6foylfBQ59TpOYHBd+ohl38egtDr87tXSXcuIU1bNZeJfqcPM
rs02h8L/kmWrx32TmYKLUw6PdluPEJ2WB5Gcsd8Va5p7ai3+rbqzzJGw9ZOFkPv4
9ruTqjTV0l7xhwuztHpSCTiyOoV0dIw13USTO7D/rAseqIUgb0mQE4cXVQW9GVT1
WjCqnaqRwdgYnvke7jtOfX2AeiZjluZfF1e2B2rVMfDan1A5PxjLmxpzH7fYs0bs
RDEnOx9bcVUYH6xedVyYHbSmx7GXyzu0xfADsWgsYNclv91cZ5pz9+fwJv8ceNNz
ckOcA4DlKeo1fw0idvbEUtVWf/tO8H6r0heNuMgR5M6qOtlbsLsdsJvOIUTzGn7W
oxikvMAKbAX0Hl4arQSQE5Og7HcLsEB6YaMp0bpj55Y4prr/fhzJHKL4ioCI6NOH
gLknu+IPDyJiNez4QqaqAITDtxo+68euv5uUE+O55o9ssBEWoTX0bz8trM8=
=2IBo
-END PGP SIGNATURE-



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Git-master regression failure

2013-06-18 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 18-06-2013 20:17, Kevin Grittner wrote:

 I was surprised to see that an index-test failed.

 It works for me.  Could you paste or attach some detail?


Gladly, if you tell me what would be relevant to attach :)

I am brand new to the postgresql source code and hence have no real idea
how to catch it..

Svenne
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQI5BAEBCAAjBQJRwKjRHBpodHRwOi8vc3Zlbm5lLmRrL3BncC9wb2xpY3kACgkQ
/zLSj+olL/LIOQ/9E7PsAosZbQemCKeHj3/61kM1m3WMD9YtjZE4OdAJjEM+YCpE
HkMheIpsIBo9rV1mH0mNt/rog0GZupGA9xWo+OsRPbQ3bd089ny++eSmGaJ4+nb3
cZiJpGizgQ+8xrMFLtkyt72WFUWashhb6IdokC1WeSrOWOcXGad+Sl48nxkODetR
WJHuq0cdzLkivLSXBE3I5a7h28QWAwUHRlOUFNLaVTbVtPiv9Rx8YAnzYCvr3HC1
y+tdrHxONjoM4moLJH8qRQs6nMTCq+3mJgaKjW8FPCf5is5IMZLoACvjf0TOZm9o
NnGv/R0TwLVjA/w44qMNJ4kXoX49IDX1IaYBvOraAjjWr+ggC2bmXwPZWqEHAZTG
OCLD/t7DONW7uQEXEZSyur1N3CIZ231jl/ufYSefXaV81mtBVF6w7EVLi56UsC1A
C626RY0r/87P9Y0avG1oh3ba6hOZhcv2R8GZZKkO7LNGUMSbIm90+FcV3bv/YSKi
H5T3nYM0GWJ6kbqt+Mynqy9Q2N/33/rcpAL3ut0wIRkGALuIrb5zowi52y95+zAX
ePpMFbM8I8nHuM0ouvcABHXtr6r5m6c1qwfJNbNQuSFz1T3s4/SY2W1IsinLSSKT
/bqxP4qJxONDrIv9W4ZpIkxLYyfTHTuD3jP7GzndKcGHtHzMrTqxf1RGBs0=
=hhm0
-END PGP SIGNATURE-



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Git-master regression failure

2013-06-18 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 18-06-2013 20:48, Kevin Grittner wrote:

 Apologies; I somehow missed the file attached to your initial post.
 That's the sort of thing I was looking for.
Aplogy accepted... :)
 Having reviewed that, the source code comments indicate it is for
 character-by-character (not collation order) comparison operators
 for character types.  Perhaps your collation is having an impact
 regardless of that.  Could you show us the values of your settings
 related to locale?

I am not entirely sure what you mean by settings related to locale ...
but here is the system locale output and the definition of my main
instance (the 9.2 one I wrote about in the second test)...I don't know
if/how to extract the same information from the temp instance made by
make check.

Btw. could you point a newbie to where you found the function (so that I
know that for later)?

If you need other data, please be more specific about how I get them :)


# locale

LANG=da_DK.UTF8

LC_CTYPE=da_DK.UTF8

LC_NUMERIC=da_DK.UTF8

LC_TIME=da_DK.UTF8

LC_COLLATE=da_DK.UTF8

LC_MONETARY=da_DK.UTF8

LC_MESSAGES=en_US.UTF8

LC_PAPER=da_DK.UTF8

LC_NAME=da_DK.UTF8

LC_ADDRESS=da_DK.UTF8

LC_TELEPHONE=da_DK.UTF8

LC_MEASUREMENT=da_DK.UTF8

LC_IDENTIFICATION=da_DK.UTF8

LC_ALL=


(sk@[local]:5432) [sk]  \l

  List of databases

Name |  Owner   | Encoding |  Collate   |   Ctype|   Access
privileges 

-
-+--+--+++---

 postgres| postgres | UTF8 | da_DK.UTF8 | da_DK.UTF8 |

 root| root | UTF8 | da_DK.UTF8 | da_DK.UTF8 |

 sk  | sk   | UTF8 | da_DK.UTF8 | da_DK.UTF8 |

 template0   | postgres | UTF8 | da_DK.UTF8 | da_DK.UTF8 |
=c/postgres  +

 |  |  |||
postgres=CTc/postgres

 template1   | postgres | UTF8 | da_DK.UTF8 | da_DK.UTF8 |
=c/postgres  +

 |  |  |||
postgres=CTc/postgres

(5 rows)


-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQI5BAEBCAAjBQJRwK87HBpodHRwOi8vc3Zlbm5lLmRrL3BncC9wb2xpY3kACgkQ
/zLSj+olL/JVBQ//UQfke7jc2mcaTV9lvdU8b5B/SnGzsn8d2M2mDPYjcgjmuAmT
pacRemmiVf8w6FTKlmz+A7faYVMuFSjJXi25OzvWu8on+zFtstdHWBbMNYI1CuBP
itSqs+JVYF8FvkAa+iC9KilV1McRWCOxnlztuN7F29lzpnrcWsGmvhiYL3qVt3TT
jyJNTdVIOFGta4f4Kzkq9ZqH6ry42UrXRFa1pFRxfY42zX7LV3BsJuEMQeHnRYjz
fkcivuwJJHdn9l6GGZbF4+s227SFOO98GiPah10n5GKzy2saAMntos1p15l5Qy/c
TaHE5cp0fttaQMbQEMWB3fY6r3NETxnsDyh6z7EaLV/WHhmzjrUGDp2gCgWbVs5C
nvoFL9SkcfzZsuWvy21zmIHOvzAUMm9p57/i5REWqWc2ZH5giLKC71m7skiu/utF
9fmpNEh1U+DG3/VnJjcIyfNq4y3pmkNN063/aLKX21vvBHJ9/oqgL7czYRCBZH6L
ufNL0ACZ/zeDTL16K58/gMhf7Si9jAZq7PcobIgSJHKo++7DevgUiSRmbxQ6jV6X
ZXseeQJT7Dcf3yVNqNkPJApSiCbR4e0wbgbSPXXkJEjZpo+k3wo3gZI6fEULifdh
i/hcLpq+nPrME2l9gcneJ8gNHpBOK4AyfBvfhxOIV35pCpYrBvk3toKPUEc=
=bUcn
-END PGP SIGNATURE-



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Git-master regression failure

2013-06-18 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 18-06-2013 21:04, Svenne Krap wrote:
 (sk@[local]:5432) [sk]  \l

   List of databases

 Name |  Owner   | Encoding |  Collate   |   Ctype|   Access
 privileges

 -

Arghh... crappy mailer... I have the information attached here instead...


-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQI5BAEBCAAjBQJRwLACHBpodHRwOi8vc3Zlbm5lLmRrL3BncC9wb2xpY3kACgkQ
/zLSj+olL/LJQw//avuPNPvG9sTy+itx9pmdRBHrdWCER4TXyKu15/0cphigMCHo
mLNuLfcdwEbuppaqZgrEKP9GicppExmnGHGdgwn60CQiavki9HZpxuH+FX/+DRI6
IEM7Ml6PZw+8g+Uvh26vprgBhFw2B2xxx9uDEN5YEmpjJPqgxh8SXIs7Sy14FmEw
uivU+YVLdoqLGUfSO3kng/ypTwqWC7vdycvZM6DtJdJLeZf+444kpX4TlVAncYtG
LKRm7ym+9sUY5Tkq/cKNS/hM93fnrGGyD0bg6GtTHUKq0S0Cw79FcvCgWBNu0fOe
QU6AtNIslvpxarECN2fkJ02S8pf0lnrDm8l6ZExO3BgY/Fo0wSPo7rhtdFEgPB6d
uPy4YL9ezRfY7gkXWEgIX1zNA0h6vVcNi5OqbyC5WHenvI9mQPiwgwvbXTqCQmEF
SKC6PoBOaJXaCajyXGVSjk+0IC/QYSMsqoWe1CcySFahfYFxKdHbkImQ02N+PB3x
9ABBuG2QUHTmh09MsCtr/l+McqlLVCPRngV5wYz5Z7guKu1lS6yzaAj6VHxVaw1A
wCmVtJcCFNv/WhbarLOJOMsPjrQ5EXIOuM+k61nznooaqnBtChQTT1/ddzx+G3vU
0lX59b7tAM9+z2q+VCj57L6DgspCODMwHucv2MYkInS++ta0QV0U5ebzw/s=
=/PiO
-END PGP SIGNATURE-

Expanded display is used automatically.
Null display is NULL.
Timing is on.
  List of databases
Name |  Owner   | Encoding |  Collate   |   Ctype|   Access 
privileges   
-+--+--+++---
 postgres| postgres | UTF8 | da_DK.UTF8 | da_DK.UTF8 | 
 root| root | UTF8 | da_DK.UTF8 | da_DK.UTF8 | 
 sk  | sk   | UTF8 | da_DK.UTF8 | da_DK.UTF8 | 
 template0   | postgres | UTF8 | da_DK.UTF8 | da_DK.UTF8 | =c/postgres  
+
 |  |  ||| 
postgres=CTc/postgres
 template1   | postgres | UTF8 | da_DK.UTF8 | da_DK.UTF8 | =c/postgres  
+
 |  |  ||| 
postgres=CTc/postgres
(5 rows)



pgdb-locale.txt.sig
Description: PGP signature

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Git-master regression failure

2013-06-18 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 18-06-2013 21:14, Jeff Janes wrote:

 But 9.2.4 does pass make check, and only fails if you reproduce
those things manually?

No, I was lazy and used the (distribution-installed) 9.2

I have tried make check on REL_9_2_4 and that fails to (same sole
failure)...

 If so, I'm guessing that you have some language/locale settings that make 
 check neutralizes in
9.2.4, but that neutralization is broken in HEAD.
 
Nope, just never ran make check on it...


 As I have no real idea of what ~~ is for an operator (I have looked
 it up as scalarltjoinsel), but I cannot find any semantics for it
in the
 docs*... So I have no way of manually checking the expected result.



 Yes, it does seem to be entirely undocumented.  Using:
 git grep '~~', I found the code comment character-by-character (not
collation order) comparison operators for character types
 
 Anyway, if REL9_2_4 passes make check, but 073d7cb513f5de44530f fails,
then you could use git bisect to find the exact commit that broke things.

It does not..

I will  dig futher and get back...

Svenne
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQI5BAEBCAAjBQJRwLfnHBpodHRwOi8vc3Zlbm5lLmRrL3BncC9wb2xpY3kACgkQ
/zLSj+olL/J4oA/7Blq1eQarny6VVu7UUgtN+CWvy3zoiE36AlE/vEvzb4aXWP4c
5Mq8z3vkHrjKCdaioGYLrkEE2PTom+pBV5cK+cT67TAN1J/OJErtRuKhVLk2Bd8I
ry/gDgF8dvM0Sx03eN52ViCOjFUmksk+HXOSk8z0aPBdanbOdIQoSC25XJ2Yye8K
DP+yY6h9+PxMomMzaz3aK0MechZaJyvbLpStjJEd/nuAiDIymzpzxJfyjpn/jKra
6GVdRfQCMkqiBy5E4YFgxDkGfDJLFtwMJPMw8OAe+Zhgp8YLPSms58bwtdmwcPYD
NSfowZa/yaKpLP3k6J/2JVToa+JBPY/vYGlxdU+h15VmsDV8kxCWnRwxC/gYYg9l
7CqWPZskd9ZAonfb781JxoiVmoGbGzFCLE1wlPVazCZsAzQcvVTJD8yl/Ibv8PKv
7LjxuItm3iW8GAp93x7+MGmxKx/YKVu8lfAFTw2/X/G2MfoiJHmAUaklqdATerXl
xarQOL0UbiRGQNYSBHjKVxZHQrgAShPS2O2cSw6MijaDsr4US+pcY+S0F0KmtnD/
mobI3vSFFsZxnaIUAL4ExQuyF0PgGm7Ce4jmQxsUx7Ph/ud6AZVLhKStYBcwChPH
W+4Laq2fNB6/deH81x+x+j0QSk1oyvSVG+73/bmURWSP9WuhikYJ5kqbOdk=
=siUv
-END PGP SIGNATURE-



Re: [HACKERS] Git-master regression failure

2013-06-18 Thread Svenne Krap

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 18-06-2013 21:41, Svenne Krap wrote:



 I will  dig futher and get back...

The regression test was added in 9.2, the earliest interesting commit is
d6d5f67b5b98b1685f9158e9d00a726afb2ae789,
where Tom Lane changes the definition to the current.

It still fails (which suggests that it has always and will always fail
on my setup)

I am happy to run whatever relevant tests you can dream up, but I am
fresh out of ideas :)

Svenne
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQI5BAEBCAAjBQJRwLo5HBpodHRwOi8vc3Zlbm5lLmRrL3BncC9wb2xpY3kACgkQ
/zLSj+olL/JH5w/+PRU8Ghr56RuOcybp3S86Ig8sw4y56Xu8pb4RMHXNTJcL1zk0
fj0NRr+0sCAR9JXIS1mGHnNZuLpdppLklb0Zi02JeNbXelnY34QSiqgn3c9ikBIZ
NTq63MVHj2bOC2YkpJIjCCZI7adjyOYm0Fosm453VV6lSh7PooNLUfqTlGA9lHKo
lItndci7ei+JTCFr2G3zv2zshwNW87+nd9oAzf+n0Hz3djswrJWvdby56UtTb5S0
6ayYH14BnF0UU2C1Ko5/JSBgDyzT/kkPyn/YEplcHkO3yYKXgaYdanTyQEgYbL5I
kSebe6eh271IY4W7wt+Bb5202HDOU6d3ikCJykE8G9BHw77exUbk27BJWipcUNL0
63IERJAleJ29yOqVZggZ0p3hf7H34lFqLKCTi7+p4mP1ZLlMlaMzbTGMdVJuc21A
UyqQBY7nv9m7gIiDxXEQaoFbycn7Lb14xYgUOYIYGmnTblg4A5oUREXkMa08vWZg
yq+oWOmusmbB3EET0jvQCQe9ves9J4Pa+5Axry2c4tbPQD2PH25FZGyAeCwJLon9
ZmMdFf3uNp91f+YW/BPDgXxi9A+fn1twI0ldMUYuX6MTopWvMrVHzpqQ3MJxPKLb
RdWgKHWXZnu0ygw1F/AqpEgx2Y/SAyyuOId1cmamG8BXJsRZVgezqK+roww=
=TzBa
-END PGP SIGNATURE-



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] LIMIT NULL

2009-02-04 Thread Svenne Krap
Andrew Dunstan wrote:
 Me neither. I wonder how many other long term users (I have used pgsql
 for more than a decade - 6.2 was my first version if memory serves)
 and have never caught that nuance either.

 Maybe that should be printed as a note on the narrative description
 pages.. something like: Note this is a simplified introduction to
 the subject. For authorative description please see topic x in section
 y (and link to it of course ;))
   

 In effect it does say that - perhaps not quite as explicitly as you
 might have wanted. It says: The information in this part is presented
 in a narrative fashion in topical units. Readers looking for a
 complete description of a particular command should look into Part VI.
  (the PART VI is a link).
Well... I meant on EVERY single page outside section VI (or whatever is
considered cannonical)

I believe most users today search instead of browse documentation... I
certainly do... that I have a decade of postgresql experience just helps
me to know that section VI.I is extremly important (but I learned that
through trial and error not by reading a small hint).

If I google postgresql limit the second link links to
http://www.postgresql.org/docs/8.3/interactive/queries-limit.html (for
some reason google strongly prefers version 7.3).
That page (which is the first you see if you search your way in) gives
me the following impressions (i.e. given my information gathering
heuristics):
- domain postgresql.org (=official)
- in the page title it states: PostgreSQL 8.3.5 Documentation  (=yeah,
right place)
- Chapter 7. Queries (=reasonable)
- 7.6. LIMIT and OFFSET (= home free ;)

Which gives me every indication that I am the right place. Nowhere on
this page is the note, that there exists a better place (experience has
shown me, that the SELECT page in the SQL reference is far more
detailed, but that is unknown for a newbie user).

What I would like is that EVERY page, that is considered non-cannonical,
for the sake of useability has an end-note, that a better (more detailed
and more correct) place exists and an indication of where to go..
which I believe would be
http://www.postgresql.org/docs/8.3/interactive/sql-select.html in the
choosen example.

/Svenne



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] LIMIT NULL

2009-02-04 Thread Svenne Krap
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Rick Vernam wrote:
 The reference documentation is *always* intended to be more complete and
 more authoritative than the narrative description.  If you don't think
 so then you need to readjust your expectations.
 very well, I did not know that.
 expectations readjusted.  thanks.

Me neither. I wonder how many other long term users (I have used pgsql
for more than a decade - 6.2 was my first version if memory serves)
and have never caught that nuance either.

Maybe that should be printed as a note on the narrative description
pages.. something like: Note this is a simplified introduction to
the subject. For authorative description please see topic x in section
y (and link to it of course ;))

Svenne
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkmJkpEACgkQPPDUIBpvWQsY2ACdG3y9Ho2vW3z2OKePTy9jCkAq
QqEAnAn9J+ZOnAsohnPqbGCtLbfC6e7G
=FiGn
-END PGP SIGNATURE-


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] LIMIT NULL

2009-02-04 Thread Svenne Krap
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

David E. Wheeler wrote:
 I think that all pages that seem to document particular features
 should cross-reference the reference pages in section VI, but not
 necessarily vice-versa. I don't think that's asking for a lot. If
 you're reading the narrative section, um, narratively, then you'll
 see lots of Look here for more on this topic when you're ready,
 and that will be much more useful for the search-result-hit readers,
 too.

That is my idea too... every non-cannonical (ie. non section VI) page
links to relevant section VI (mostly the SELECT one, if I am not
mistaken). No need to link from VI to non-VI or from VI to VI.
 For myself, I've always used the reference documentation, and kind
 of never really understood where some of the extra documentation of
 certain features, like LIMIT/OFFSET, lived. I never realized there
 was a narrative section. As a technically-minded geek, I go right to
 the reference, and the other stuff is kind of a weird bonus that
 comes up when I do a search.
I have the same experience, I also go directly for the most technical
parts. But even I sometimes search and hit those narrative ones
Btw. there seems to be no section VI (i.e. non-narrative) page about
datatypes and functions... things there link to section II.

 So unless you're reading the documentation like a bound book, or had
 glanced through each of the top-level pages of the TOC to
 familiarize yourself with the structure, I'm not sure anyone would
 really understand how the non-reference documentation was organized,
 or that it wasn't meant to be authoritative.
I for sure haven't, and I use the docs almost daily and I never read
that passage about novice users before today simply because my
intro-filler-text filter had made me skip the text every time I
visited section II.



/Svenne
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkmJ2MoACgkQPPDUIBpvWQsMJACdGLdMirV/WjrzbF8ZLlHAqxoI
5nkAnRFnoaqDnrjzMtzkr7p7gUepEfzF
=4Z0b
-END PGP SIGNATURE-


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Feature Request - Table Definition query

2008-10-29 Thread Svenne Krap


It could be useful to have a command that returns the table definition 
(like pg_dump -st) from within the query interface. This could be 
particularly useful if one doesn't have access to or prefers not to 
manipulate results coming from a shell. If I have an API from which to 
query the database, it seems silly to have to spawn a shell and run a 
command to query the very same database.
Yes. That functionality would be really appreciated by myself and a few 
pgsql-users I know.
(I'm not exactly familiar with how pg_dump manipulates or extracts 
that data, so this could be a very, very stupid question. If so, 
please forgive me.)
Me neither, but I think one of the problems is, that during upgrade you 
are supposed to use pg_dump from the new version on the existing 
database instance.
The server could most probably only generate its own format (not the 
new) which might be a problem.


Perhaps it could be implemented by stored function (autoinstalled and 
available in contrib or perhaps installed by a psql on first run) in a 
namespace like pg_dump_84 (i.e. tagged with server version). If you want 
to upgrade you could then install the new set of functions..

Psql could then be a thin wrapper (which calls the needed functions).

/Svenne


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] [GENERAL] SHA1 on postgres 8.3

2008-04-03 Thread Svenne Krap

Mark Mielke wrote:
This presumes that better hashes truly exist. It is basic math to show 
that all hashes will include collisions. Ignoring the possibility that 
one hash has theoretical better distribution for real documents, the 
real benefit of SHA-1 over MD5, is that it has more bits. The 
ultimate solution here, is to store the original using the full 
copy hash technique, with 0 chance of collision. This extreme defeats 
the purpose of a hash to start with.


Why does PostgreSQL need something better than md5 as part of core? 
Bragging rights?
Having more than one hash algorithm significantly decreases the risk of 
(common) collisions.


As a non-developer (who does track most messages on the list anyways), I 
surely find the SHA* functions will add significantly value and they 
should be easy to install (well-defined functions) with no maintainance 
afterwards.
Hashes are an absolute minimum for keeping passwords stored somehat 
safely in a database.


More two or even three different hashes with different collion-points 
will strongly increase the security.


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] [GENERAL] SHA1 on postgres 8.3

2008-04-03 Thread Svenne Krap

Mark Mielke wrote:
More two or even three different hashes with different collion-points 
will strongly increase the security.
No it doesn't unless you are thinking about a security through 
obscurity argument.

It is really the same argument on all your questions

If I have a simple table now

ID serial
Username varchar
Password varchar

I currently save only md5(id || username || 'password')*  into password, 
if I had access to sha1 (for example) i would add another password 
column so, having for example


ID serial
Username varchar
Password_md5 varchar
Password_sha1 varchar

No matter how you see it, I get more bits of hash to check against.

I would drop md5 totally and use sha1 and ripemd-160 if possible.. but 
currently i use only md5 as it is the only available one..  Loading 
pgcrypto is overkill for something as simple as hash-functions.


Svenne

* I prepend the id and the username to guard users with weak passwords 
against known hashvalues (rainbow tables) should the box ever get 
comprised ... if you are in doubt about the value of this, try google 
for 40e94aa51dc5c0ccc5aad4e6aefdde2a and guess the secret password...


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] [GENERAL] SHA1 on postgres 8.3

2008-04-03 Thread Svenne Krap

Mark Mielke wrote:

Svenne Krap wrote:

Mark Mielke wrote:

Svenne Krap wrote:
More two or even three different hashes with different 
collion-points will strongly increase the security.
No it doesn't unless you are thinking about a security through 
obscurity argument
Your logic is invalid - the best quality would be to not use a hash at 
all, and store in plain text, or ROT-13. Then you will have no 
collisions. If you truly believe more bits are better, don't use a 
hash to start with.




Ooops, went offlist by a wrong click. Putting it back onliste

I am aware that plain text (or any 1:1 mapping) has no chance of 
collision, but on the other hand if the box is compromised it gives an 
easy target for stealing passwords (and a lot of users use the same 
passwords a lot of places).
I believe that hashing through one hash function is an acceptable 
compromise between collisions (i.e. people get in with the wrong 
password) and password safety (evil hacker cannot read passwords) given 
you deploy anti rainbow table meassures.


I would still prefer two hash functions as they do add a better 
safeguard towards collisions (the gentoo distribtion actually hashes the 
files by three different algorithms SHA1, SHA256 and RMD160)  - i would 
be inclined to use three hashes too, if they were instantly available.


Svenne



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] [GENERAL] SHA1 on postgres 8.3

2008-04-03 Thread Svenne Krap

Heikki Linnakangas wrote:

Mark Mielke wrote:
One must also remember that if you use two hashes, if *either* one of 
them is broken in the future so that you can reconstruct the password 
from the hash, you're screwed.

That is quite a good argument actually :)

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] [GENERAL] SHA1 on postgres 8.3

2008-04-03 Thread Svenne Krap

Sam Mason wrote:

Are you a cryptanalyst and are you sure that this doesn't actually make
things worse?  I'm sure it gives you a warm fuzzy feeling that it's
*got* to be better, but unless someone has done some hard maths I'm not
sure how you can be so sure.
  

No sadly I am no cryptoanalyst.

Why not just use SHA-512, you get many more quality bits that way.
  

I would, if it was available in core.
  
I would drop md5 totally and use sha1 and ripemd-160 if possible.. but 
currently i use only md5 as it is the only available one..  Loading 
pgcrypto is overkill for something as simple as hash-functions.


Sounds like a good reason for moving the current md5 function out into
pgcrypto as well! :)
  
I am not sure how I am to understand that comment. But again I am just a 
user...
* I prepend the id and the username to guard users with weak passwords 
against known hashvalues (rainbow tables) should the box ever get 
comprised ... 



I take it your threat model doesn't include the attacker logging
incoming queries to look for the clear-text password.
  

No it doesn't, I am mostly concerned with the grab and run scenario.

I am still convinced having more (and better) hash-functions in core is 
a gain for some users.


And it is fairly un-intrusive as the hash functions are well-defined and 
never going to change (new ones can be added and old ones deleted, but 
SHA256 for example will never change).


I think I will drop the issue as I cannot present formal proof of my 
case, sorry to have wasted your time.


Svenne


Re: [HACKERS] Is a SERIAL column a black box, or not?

2006-04-30 Thread Svenne Krap

Tom Lane wrote:

In short, I think there's a reasonably good case to be made for losing the
hidden dependency and re-adopting the viewpoint that saying SERIAL is
*exactly* the same as making a sequence and then making a default
expression that uses the sequence.  Nothing behind the curtain.
  

I speak more as a user than a hacker, but I do still lurk here ;)

The way sequences are handled is imho one of the strongest features. The 
possiblity to query nextval is bordering on divine.


I have however stopped using serials for anything else than quick mockup 
examples. The work of defining the sequence itself and setting acl's is 
imho trivial compared to consistency.


I would actually suggest throwing a warning, that sequences are the 
proper way of doing it when people use serials - maybe even mark 
serial-types as obsolete in the docs.


I strongly subscribe to the principle of least astonishment, and that 
means either pure sequences, a mysqlesqe auto_increment or both - but I 
fail to see, how the macrothing serial will ever work that way. It 
goes without saying, that I dislike auto_increment.


Svenne


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [HACKERS] About pg_hba.conf

2006-04-06 Thread Svenne Krap

Gevik Babakhani wrote:

This may be a dumb question but please bear a moment with me.
About the TODO item “%Allow pg_hba.conf settings to be controlled via
SQL“: If in the future we could configure the settings by SQL commands,
assuming the settings are saved in an internal table, what would be the
need for a pg_hba.conf file anymore. (except for the backward
compatibility of cource)
  
System recovery might also be a reason (if you for some reason make your 
data in DB unworkable).


Svenne



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [HACKERS] control pg_hba.conf via SQL

2006-03-30 Thread Svenne Krap


Tom Lane wrote:

I'm a bit suspicious of proposals that we move either hba or conf into
SQL tables --- one of the main reasons why they are flat files is so
you can still edit them after you've hosed them to the point that the
database won't start or won't let you in.  If you don't have a non-kluge
solution to the DBA-mistake-recovery scenario, this is not going to be
an improvement.
  
What about a line in pg_hba which tells pgsql how to handle it. I.e. an 
example  is :


--- pg_hba.conf ---
Include_file = {only, first, last, not}
 normal lines 
--- pg_hba.conf ---

Not means only use in DB data.
First means load file before data from DB (so db can overwrite file 
settings)

Last means load file after data from DB (so file can overwrite db settings)
Only means just use file settings (as today)
If the line is missing, assume only (backwards compatibility).

By the way, I really think there should be real grammar for it, not just 
a couple of sql helper functions.


Svenne


smime.p7s
Description: S/MIME Cryptographic Signature