-
Notifications
You must be signed in to change notification settings - Fork 1.8k
C++: Add the beginnings of overlay support #20874
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds the beginnings of overlay support for C++ by introducing two new database relations (databaseMetadata and overlayChangedFiles) to the database schema. These relations enable the CLI to track metadata about overlay databases and identify which files have been changed during overlay database construction.
Key changes:
- Added
databaseMetadataandoverlayChangedFilesrelations to the database schema - Created upgrade and downgrade scripts to handle schema migration
- Enabled overlay evaluation support via
compileForOverlayEval: trueconfiguration
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| cpp/ql/lib/semmlecode.cpp.dbscheme | Added two new relations (databaseMetadata and overlayChangedFiles) after line 2381 for overlay support |
| cpp/ql/lib/qlpack.yml | Added compileForOverlayEval: true configuration to enable overlay evaluation |
| cpp/ql/lib/upgrades/1a6854060d5d3ada16c580a29f8c5ce21f3367f8/upgrade.properties | Upgrade script properties defining the schema migration |
| cpp/ql/lib/upgrades/1a6854060d5d3ada16c580a29f8c5ce21f3367f8/semmlecode.cpp.dbscheme | Complete new schema with overlay support (2469 lines) |
| cpp/ql/lib/upgrades/1a6854060d5d3ada16c580a29f8c5ce21f3367f8/old.dbscheme | Previous schema version without overlay support (2450 lines) |
| cpp/downgrades/a42ce5fc943254097f85471b94ae2247e819104a/upgrade.properties | Downgrade script properties to remove overlay relations |
| cpp/downgrades/a42ce5fc943254097f85471b94ae2247e819104a/semmlecode.dbscheme | Schema version for downgrade (2450 lines, matches old schema) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -1762,13 +1762,60 @@ | |||
| </e> | |||
| </typesizes> | |||
| <stats> | |||
| <relation> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where's this data coming from? A test, or artificial data added to DCA?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's artificial. codeql dataset measure is currently unable to make stats for overlay databases, so we can't get it from a test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for clarifying.
jketema
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One question, otherwise LGTM.
jketema
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
No description provided.