CDash:Database

From KitwarePublic
Revision as of 22:27, 1 August 2010 by Jjomier (talk | contribs)
Jump to navigationJump to search

In this section we discuss the coding design related to the database. Currently CDash supports MySQL and PostGreSQL so make sure the code you write, especially the SQL queries are working for both instances.

Adding/Changing database fields

When adding, removing or changing fields to an existing table, follow the following instructions

Creating a completely new table

To add a completely new table you just need to edit:

  • cdash/sql/mysql/cdash.sql (for new installations)
  • cdash/sql/pgsql/cdash.sql (for new installations)
  • cdash/sql/mysql/cdash-upgrade-A.B-C.D (for current installation)
  • cdash/sql/pgsql/cdash-upgrade-A.B-C.D (for current installation)

Where A.B is the major.minor version of the current stable release and C.D is the major.minor version of the upcoming stable release.

Automatic translation to PGSQL

The postgres layer in cdash relies on some of the features of the mysqlcompat package: http://pgfoundry.org/projects/mysqlcompat

The following patch to the mysqlcompat package is required to use it with recent versions of PostgreSQL: http://public.kitware.com/Wiki/images/d/d0/Mysqlcompat.txt

(Note that this *is* actually a patch file, but the CDash wiki doesn't allow upload of files ending with ".patch".)

Installation on Ubuntu

 apt-get install libsql-translator-perl

Then run the script

 CDash/sql/convert.sh

Warning The indexes generated by the script are all the same so you would need to pre-append the table name.