-
Notifications
You must be signed in to change notification settings - Fork 0
DataRepository
Bogdan Ciobanu edited this page Sep 9, 2020
·
7 revisions
It's responsibilities are managing and providing access to a database in which to store all LLVM revision related information gathered by the fetcher components.
There are two types of data that comes from the Fetcher components:
- GitHubData: raw commit data, containing only metadata surrounding the revision (e.g. commit hash, timestamp, branch)
- BuildBotData: buildbot specific information, regarding the compilation of that revision (e.g. compilation status, logs)
GitHubData is used as a scaffolding for the actual database entry, modeled after the BuildInfo class. You must first acquire the Git data for a revision, after which to begin acquiring Buildbot information, since the Buildbot information alone is not enough to create a database entry.
This component provides only one data type: single or enlisted BuildInfo objects: either queried by commit hash, or by their commit order.
- createRevisionEntry: used for creating a new "revision" entry from a ParsedGitData object
- updateRevisionEntry: used for appending information regarding a buildbot to an existing "revision" entry
- deleteRevisionEntry: used for deleting a single "revision" entry by commit hash
- getRevisionEntry: used for querying the database for a "revision" entry after a commit hash
- getLastRevisionEntries: the primary method of interest to the front end. Queries the database for a range of entries, starting from an offset from the latest entry, and getting only a specified number from that offset. This is used to populate the pages of the dashboard
- getBuildbotIndex: used for querying the database for an "index" entry after a builder name
- setBuildbotIndex: used for updating an "index' entry with a larger value for a specific builder's index
- DatastoreRepository
- Git fetcher (need link)
- Buildbot fetcher (need link)
- REST API (need link)