1. 26 Aug, 2017 1 commit
    • Daniel Vrátil's avatar
      Fix SQLite DB schema upgrade to version 35 · 2fcd7c4c
      Daniel Vrátil authored
      SQLite does not support DROP COLUMN and our upgrade language is not
      expressive enough to handle that in another way, so for now we just
      leave the 'external' column in PartTable on SQLite, it will simply
      be ignored. On other backends the column is removed as expected.
      
      BUG: 384024
      FIXED-IN: 5.6.1
      2fcd7c4c
  2. 01 Apr, 2017 2 commits
  3. 08 Sep, 2016 2 commits
  4. 11 Mar, 2016 1 commit
    • Lukáš Karas's avatar
      Clean orphaned relations when upgrading DB schema to r31 · 989f7eba
      Lukáš Karas authored
      Commit 54e1f097 introduced automatic recovery of missing foreign keys during
      startup (this has been accompanied by DB schema upgrade to revision 31). If
      they FKs were previously missing MySQL will fail to create the keys and Akonadi
      startup will fail.
      
      To make sure there are no inconsistencies in DB we manually delete all orphaned
      relations before proceeding with the DB check.
      
      BUG: 354536
      FIXED-IN: 15.12.3
      989f7eba
  5. 28 Aug, 2015 1 commit
    • Daniel Vrátil's avatar
      Perform startup check of ForeignKey and Indexes on relational tables too · 54e1f097
      Daniel Vrátil authored
      We were only checking FKs and Indexes on Tables, but not on Relations. This caused
      a bug when PostgreSQL relations were missing Foreign Keys, because
      DbInitializerPostgreSql::buildCreateTableStatement() does not include FKs in the
      query and relies on DbInitializer::updateIndexesAndConstraints() to create them.
      DbInitializer only created the FKs on Tables though, not Relations, so they were
      missing there. This can in some situation cause that data in  Relation tables
      reference rows from other tables that no longer exist, making the tables
      unnecessarily big (it should not happen normally since we handle most of the
      deletions manually in order to compensate for missing FK support in SQLite, but
      still ...).
      
      By enforcing the check for relational tables too we get the FKs created for
      relations on start even on PostgreSQL. This requires that we make sure that
      there are no unreferenced data in those tables first, hence the ugly queries in
      dbupdate.xml, and hence the DB revision bump.
      
      This problem did not affect MySQL which creates the FKs as part of CREATE TABLE
      queries, or SQLite because we don't support FKs there (yet).
      54e1f097
  6. 27 Aug, 2014 1 commit
  7. 10 Aug, 2014 1 commit
  8. 04 Jun, 2014 1 commit
  9. 30 Jan, 2014 1 commit
    • Daniel Vrátil's avatar
      Add additional parameters to persistent searches · 7ed67dfa
      Daniel Vrátil authored
      Persistent search now can have REMOTE and RECURSIVE parameters. They
      are stored together with QUERYLANGUAGE in CollectionTable.queryAttributes
      column. queryLanguage column has been removed, as the QUERYLANGUAGE
      attribute is pretty much deprecated.
      7ed67dfa
  10. 21 Nov, 2013 1 commit
  11. 04 Oct, 2013 1 commit
    • Cédric Villemain's avatar
      Map QString to text instead of Bytea with PostgreSQL backend · 0a348cc9
      Cédric Villemain authored
      It's what suggested by QTSql.
      
      It also happens to fix the recent issues raising around '\SEEN' errors
      in SQL queries. It was visible because QTSql somewhat improve the postgresql
      driver, and so... akonadi revealed its own bug.
      
      REVIEW: 112976
      BUG: 252120
      BUG: 322931
      FIXED-IN: 1.10.3
      0a348cc9
  12. 22 Aug, 2013 2 commits
    • Daniel Vrátil's avatar
      Add noUpdate column attribute to akonadidb schema · 12d50a2f
      Daniel Vrátil authored
      When column has noUpdate attribute, it won't be automatically added on
      database update, only during database initialization. This allows DbUpdater
      to add the column manually with some special attributes when needed.
      
      This fixes PartTable migration on PostgreSQL
      12d50a2f
    • Daniel Vrátil's avatar
      First take on PartTable migration · 1222acff
      Daniel Vrátil authored
      This patch is able to migrate PartTable on MySQL backend, but because
      ALTER TABLE query on MySQL copies the table, it takes ages to complete.
      
      One of the changes done in this code is delayed index and FK constraints
      creation. That means that after DbInitializer checks whether all tables
      and columns are present it will not add the indexes but instead DbUpdater
      is called. It will perform the update, populate new tables and columns,
      etc. and after that the DbInitializer is called again to check and update
      the indexes. This prevents SQL errors when creating UNIQUE INDEX on a table
      with a new column, where all values are set to default value, thus not
      unique. Same applies for foreign keys.
      
      PostgreSQL fails so far, because it can't add a new column to a non-empty
      table without specifying default value. Specifying default value will not
      work either because the foreign key constraint pointing to (so far empty)
      PartTypeTable will fail (PartTypeTable has no record with id 0).
      
      SQLite has not been tested.
      1222acff
  13. 02 Aug, 2013 2 commits
  14. 02 Oct, 2012 1 commit
  15. 01 Oct, 2012 1 commit
  16. 24 Jul, 2012 1 commit
  17. 09 May, 2012 1 commit
    • Christian Mollekopf's avatar
      Make the query string column wide enough for Sparql queries. · deec1f8b
      Christian Mollekopf authored
      Ideally we would be using BLOB, but that is a bit of a pain to add (would require to alter the whole mapping of Qt-Datatypes, or use some magic value), and 32000 should be big enough for sane queries.
      As an extra there is now a safety check for oversized queries, so we don't get truncated queries executed.
      deec1f8b
  18. 03 Mar, 2012 1 commit
  19. 26 Feb, 2012 1 commit
  20. 08 Sep, 2010 1 commit
  21. 21 Jul, 2010 2 commits
  22. 16 Jul, 2010 1 commit
  23. 12 Jul, 2010 1 commit
  24. 04 May, 2010 1 commit
    • Milian Wolff's avatar
      fix collation and charsets in mysql database · a7813695
      Milian Wolff authored
      Akonadi works with UTF internally but the MySQL database uses latin1 for collation and default charsets, which this patch should fix.
      
      I have no idea how to do that for SQLite or PSQL, nor whether it's actually a problem there. But for MySQL this also
      fixes the test cases that emit 'illegal mix of collations' error messages.
      
      review: http://reviewboard.kde.org/r/3877/
      
      svn path=/trunk/kdesupport/akonadi/; revision=1122604
      a7813695
  25. 13 Apr, 2010 1 commit
  26. 29 Dec, 2009 1 commit
  27. 10 Sep, 2009 1 commit
  28. 31 Jul, 2009 1 commit
    • Szymon Stefanek's avatar
      More work on the preprocessor chain. · f29fbe3e
      Szymon Stefanek authored
      - The hidden property is now an attribute.
      - The preprocessor manager is now fully thread-safe.
      - The append handlers now push items for preprocessing
        if there is at least one registered preprocessor
      - Preprocessing can be forcibly disabled by configuration
      - The preprocessor manager is now transaction aware
        and will keep newly added items in wait queues
        until the transaction is committed.
      
      
      svn path=/trunk/kdesupport/akonadi/; revision=1005299
      f29fbe3e
  29. 23 Jul, 2009 1 commit
  30. 20 Jul, 2009 1 commit
  31. 13 Apr, 2009 1 commit
  32. 09 Feb, 2009 1 commit
  33. 24 Jan, 2009 1 commit
  34. 23 Jan, 2009 1 commit
  35. 22 Jan, 2009 1 commit