Results 1 to 4 of 4
  1. #1
    Join Date
    Feb 2014
    Posts
    1

    Looking for a certain style of database

    Hello everyone, this is my first time posting here. I'm a graduate student that is working on a thesis related to program analysis and tool development. I'm actually building off the work of a current PhD student at my university, so a lot of work has already been done. Right now the project involves (at a basic level) analyzing an ant build script and storing facts about that script that can be used to help build maintenance (e.g. what files are required to create this build item). My work will involve some level of integration with a version control system to allow a user to know what has changed in a build over time. That leads into why I am asking for help. Currently the database we use to store these 'facts' have no sense of history. I am wondering if there is any sort of database system that lends itself particularly well to associating information with a range of time periods. Is there a system that lends itself to saying 'This fact is true from commits 1-5, 7-9, 11-23, 24-Present' or something along those lines. If there is anything else that needs to be known that I haven't mentioned when considering possible solutions, please let me know. Any suggestions would be greatly appreciated!

  2. #2
    Join Date
    Nov 2004
    Location
    out on a limb
    Posts
    13,692
    is there a db that will handle this for you automatically...
    ..not that im aware of, but that doesn't mean much

    however you can do what you want relatively easily if you also store the build version and date and referenece that in each component. its down to how you design your schema
    I'd rather be riding on the Tiger 800 or the Norton

  3. #3
    Join Date
    Nov 2003
    Posts
    2,935
    Quote Originally Posted by Hydrophobic View Post
    I am wondering if there is any sort of database system that lends itself particularly well to associating information with a range of time periods. Is there a system that lends itself to saying 'This fact is true from commits 1-5, 7-9, 11-23, 24-Present' or something along those lines.
    Yes there are.

    Oracle flashback can do that, but that has a quite heft price tag as that is only available in the enterprise edition.

    IBM's DB2 10.1 can also do that and that is even available in the free Express-C version (if I'm not mistaken). You can query a table (that is enabled for versioning) using a syntax like this:
    Code:
    SELECT *
    FROM some_table
      SYSTEM VERSIONS AS OF '2014-002-10-18:10:00'
    WHERE some_column = 42;
    My understanding is that the IBM implementation is compliant with the corresponding SQL:2011 standard for temporal databases.

    IBM DB2 Time Travel Query
    http://pic.dhe.ibm.com/infocenter/db...Fc0058476.html
    Last edited by shammat; 02-10-14 at 17:42.
    I will not read nor answer questions where the SQL code is messy and not formatted properly using [code] tags: http://www.dbforums.com/misc.php?do=bbcode#code

    Tips for good questions:

    http://tkyte.blogspot.de/2005/06/how...questions.html
    http://wiki.postgresql.org/wiki/SlowQueryQuestions
    http://catb.org/esr/faqs/smart-questions.html

  4. #4
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    A database that was "build aware" so that it understood the concepts of builds, children, dependencies, and versions/revisions would almost be part of the build tool (ANT in your case). I don't know of anything that exists with that level of detailed integration with any product, other than the work files used by the product in question.

    You can make almost any database store this kind of information, it is mostly a simple directed graph problem with a novel twist.

    Without knowing exactly what kind of information you want to store, I don't know enough to give you a generic way to identify this kind of relationship... It isn't hard, but without specific requirements I don't know how to give you specific steps to track the relationships.

    -PatP
    In theory, theory and practice are identical. In practice, theory and practice are unrelated.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •