Merged
Conversation
Contributor
|
It looks like the test database might need to be rebuilt for the new javascript dbscheme? |
Contributor
Author
|
The failure is when running against an old version of the CLI. It's passing on newer versions. I'm going to see if I can reproduce locally. |
Contributor
Author
|
Ah ha....the problem is that older codeql versions (pre-packaging) did not have the upgrades packs on the library path of the src packs. There was no dependency chain. What this means is that for older CLIs, we need to use the old mechanism and put all workspace folders onto the search path. It may necessary to combine the workspace folders with the resolved path, but I'd rather not go there unless I have to. |
Ensure that upgrades can be resolved even when the upgrades pack is not in the workspace. This is the situation when the core libraries are resolved from the package cache. This change works because `qlProgram.libraryPath` is the resolved search path for compiling the query. We are guaranteed that the appropriate core libraries are included in this query. Note that this change avoids using extra source folders from the workspace. Previously without using packages, we assume that all relevant query paths are already inside the workspace. With packaging, this is no longer the case. It is theoretically possible that there will be extra upgrade scripts that are not on the resolved search path, but are included in the workspace. This situation would have worked in the past.This is not a situation that we expect to happen in practice. And if this does happen, I believe this is an error and all upgrades should be added explicitly to the search path. An open question is if this will work with downgrade scripts. If it does not, then I don't think this change makes things any worse than before.
4a00ab3 to
8b5622e
Compare
cklin
approved these changes
Feb 11, 2022
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ensure that upgrades can be resolved even when the upgrades pack is not
in the workspace. This is the situation when the core libraries are
resolved from the package cache.
This change works because
qlProgram.libraryPathis the resolvedsearch path for compiling the query. We are guaranteed that the
appropriate core libraries are included in this query.
Note that this change avoids using extra source folders from the
workspace. Previously without using packages, we assume that all
relevant query paths are already inside the workspace. With
packaging, this is no longer the case.
It is theoretically possible that there will be extra upgrade scripts
that are not on the resolved search path, but are included in the
workspace. This situation would have worked in the past.This is not a
situation that we expect to happen in practice. And if this does happen,
I believe this is an error and all upgrades should be added explicitly
to the search path.
An open question is if this will work with downgrade scripts. If it does
not, then I don't think this change makes things any worse than before.
Replace this with a description of the changes your pull request makes.
Checklist
ready-for-doc-reviewlabel there.