Request::flatten sortiert jetzt Hashes nach keys.
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 15 May 2013 09:32:34 +0000 (11:32 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 15 May 2013 09:32:34 +0000 (11:32 +0200)
commit95470a2f94bfd477c0ec4ed9282a6acd26074588
tree5c15fc2631b056c8a07048ad22a07dcd8dd61f7f
parent245d5036b6fbc2c9e4692244aff22d5188771e09
Request::flatten sortiert jetzt Hashes nach keys.

Die Änderung war notwendig, weil in perl 5.18 die Hashrandomisierung deutlich
aggressiver ist. Flatten war vorher schon auf dem Papier nicht deterministisch,
das ist aber durch die Randomisierung von perl 5.10 bis 5.16 nie aufgefallen.
Der neue Algorithmus sorgt dafür dass die Datenstruktur

  a => [
    {
      b => 1,
      c => 2,
    }
  ]

sowohl als

  a[+].b = 1
  a[].c = 2

als auch als

  a[+].c = 2
  a[].b = 1

zurückkommen kann, je nach Reihenfolge die keys zurückgibt.

Ab jetzt wird immer die erste Version forciert.
SL/Request.pm
t/request/flatten.t