On Mon, Feb 07, 2011 at 04:52:30PM +0100, Stefan Sperling wrote:
> I like this patch a lot and think we should commit it after fixing
> the test failure.

The test is failing because your code lists both the BASE properties
and the ACTUAL properties for a node which had its props changed:

sqlite> select local_relpath, properties, op_depth from nodes where 
local_relpath = "iota";
iota|(p old-keep)|0
sqlite> select local_relpath, properties from actual_node where local_relpath = 
"iota";
iota|(p new-keep)

The test expects only new-keep to be listed, but both are listed.
"old-keep" should not appear in the output:

CMD: svn proplist -R -v svn-test-work/working_copies/prop_tests-15 --config-dir 
/home/stsp/svn/svn-trunk/subversion/tests/cmdline/svn-test-work/local_tmp/config
 --password rayjandom --no-auth-cache --username jrandom
<TIME = 0.252734>
Properties on 'svn-test-work/working_copies/prop_tests-15/A/added':
  p
    new-add
Properties on 'svn-test-work/working_copies/prop_tests-15/iota':
  p
    old-keep
Properties on 'svn-test-work/working_copies/prop_tests-15/iota':
  p
    new-keep
Error: expected keywords:  ['new-add', 'new-keep', 'p', 'p', 'Properties on ', '
Properties on ']
       actual full output: ['    new-add\n', '    new-keep\n', '    old-keep\n',
 '  p\n', '  p\n', '  p\n', "Properties on 'svn-test-work/working_copies/prop_te
sts-15/A/added':\n", "Properties on 'svn-test-work/working_copies/prop_tests-15/
iota':\n", "Properties on 'svn-test-work/working_copies/prop_tests-15/iota':\n"]
Traceback (most recent call last):

The bug is probabaly in the following query.
Maybe the INSERT OR REPLACE doesn't work as intended?
And why is COMMIT TRANSACTION commented, BTW? Is this the problem?

-- STMT_REPLACE_ACTUAL_PROPS_IN_CACHE
INSERT OR REPLACE INTO temp_query_cache.node_props_cache
  (local_relpath, properties)
  SELECT N.local_relpath, N.properties
    FROM actual_node AS N JOIN temp_query_cache.node_props_cache AS C
      ON N.local_relpath = C.local_relpath
        AND  N.wc_id = C.wc_id;
/*COMMIT TRANSACTION;*/

Reply via email to