VirtualBox

Ignore:
Timestamp:
Jun 2, 2016 11:58:14 AM (9 years ago)
Author:
vboxsync
Message:

partial-db-dump.py: try get a consistent set of data...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/db/partial-db-dump.py

    r61265 r61406  
    170170        print 'First test set ID: %s' % (idFirstTestSet,);
    171171
     172        oDb.execute('SELECT MAX(idTestSet) FROM TestSets WHERE tsCreated >= %s', (tsEffective, ));
     173        idLastTestSet = 0;
     174        if oDb.getRowCount() > 0:
     175            idLastTestSet = oDb.fetchOne()[0];
     176        print 'Last test set ID: %s' % (idLastTestSet,);
     177
     178        oDb.execute('SELECT MAX(idTestResult) FROM TestResults WHERE tsCreated >= %s', (tsEffective, ));
     179        idLastTestResult = 0;
     180        if oDb.getRowCount() > 0:
     181            idLastTestResult = oDb.fetchOne()[0];
     182        print 'Last test result ID: %s' % (idLastTestResult,);
     183
     184
    172185        # Tables with idTestSet member.
    173186        for sTable in [ 'TestSets', 'TestResults', 'TestResultValues' ]:
    174187            self._doCopyTo(sTable, oZipFile, oDb,
    175                            'COPY (SELECT * FROM ' + sTable + ' WHERE idTestSet >= %s) TO STDOUT WITH (FORMAT TEXT)',
    176                            (idFirstTestSet,));
     188                           'COPY (SELECT *\n'
     189                           '      FROM   ' + sTable + '\n'
     190                           '      WHERE  idTestSet    >= %s\n'
     191                           '         AND idTestSet    <= %s\n'
     192                           '         AND idTestResult <= %s\n'
     193                           ') TO STDOUT WITH (FORMAT TEXT)'
     194                           , ( idFirstTestSet, idLastTestSet, idLastTestResult,));
    177195
    178196        # Tables where we have to go via TestResult.
     
    181199                           'COPY (SELECT it.*\n'
    182200                           '      FROM ' + sTable + ' it, TestResults tr\n'
    183                            '      WHERE  tr.idTestSet >= %s\n'
    184                            '         AND tr.tsCreated >= %s\n' # performance hack.
    185                            '         AND it.idTestResult = tr.idTestResult\n'
    186                            ') TO STDOUT WITH (FORMAT TEXT)',
    187                            (idFirstTestSet, tsEffective,));
     201                           '      WHERE  tr.idTestSet    >= %s\n'
     202                           '         AND tr.idTestSet    <= %s\n'
     203                           '         AND tr.idTestResult <= %s\n'
     204                           '         AND tr.tsCreated    >= %s\n' # performance hack.
     205                           '         AND it.idTestResult  = tr.idTestResult\n'
     206                           ') TO STDOUT WITH (FORMAT TEXT)'
     207                           , ( idFirstTestSet, idLastTestSet, idLastTestResult, tsEffective,));
    188208
    189209        # Tables which goes exclusively by tsCreated.
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette