<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 01.05.2013 00:42, Matěj Laitl wrote:<br>
    </div>
    <blockquote cite="mid:1373452.bPKO0WPqy3@edgy" type="cite">
      <pre wrap="">My bet that support code for actually using SqlCollection would be much 
heavier than implementing the A 2.x importer without it.

Technical reasons not to use SqlCollection:
 1. you'll be instantiating the beast just to use 2% of its functionality. 
SqlCollection is huge, including SqlRegistry, gui classes that are 
unconditionally instantiated, playlist support, you don't need albums that 
read their images from disc, etc. etc.
 2. SqlCollection has much more assumptions on the environment than you'd 
need. For example it needs MountPointManager instantiated connected to the 
right database etc.
 3. By using SqlCollection, you actually make it harder for you to support 
syncing against older/future Amarok versions because various (unrelated) 
methods assume the latest database schema.
 4. In future, some users may not enable/build SqlCollection in favour of 
let's say NepomukCollection. But they still should be able to sync against it.</pre>
    </blockquote>
    <br>
    Thank you; these all are very good points. Now I can definitely see
    what you meant. So my two bullet points, refined into one, would now
    read:<br>
    <ul>
      <li>Amarok 2.x importer should support importing data from both a
        full mysql server and mysql-embedded file. To make reading from
        both sources simpler, existing MySqlStorage and
        MySqlEmbeddedStorage classes will be used. The importer's code
        should be as decoupled from the database schema as possible,
        allowing it to support a range of previous and future versions
        of Amarok.</li>
    </ul>
    <br>
    This much detail should suffice. I can see now that I misunderstood
    your previous comments about backward compatibility. You were of
    course right; as long as the core schema is not changed in some
    non-trivial way, there should be no problem with syncing with both
    older and newer versions.<br>
    <br>
    <blockquote cite="mid:1373452.bPKO0WPqy3@edgy" type="cite">
      <pre wrap="">While you'll be able to make changes to SqlCollection to get rid of some of 
the limitations, please be prepared that I'll be against any changes to 
SqlCollection that make it more complicated (with regards to its primary 
purpose; cleanups are still welcome).
</pre>
    </blockquote>
    <br>
    To be fair, I didn't mean complicating the class further, rather the
    contrary. :) But I can see now it would be a heavy job with little
    payout.<br>
    <br>
        Konrad<br>
  </body>
</html>