Skip to content

Revert "Use SQLite3MC (#84140)" and update SourceGear.Sqlite3 to 3.53.4 - #84692

Merged
JoeRobich merged 2 commits into
dotnet:mainfrom
RyanToth3:dev/rytoth/revert-sqlite3mc-migration
Aug 12, 2026
Merged

JoeRobich merged 2 commits into
dotnet:mainfrom
RyanToth3:dev/rytoth/revert-sqlite3mc-migration

Conversation

@RyanToth3

@RyanToth3 RyanToth3 commented Jul 29, 2026 •

Copy link
Copy Markdown
Contributor

Reverts #84140, restoring the SQLitePCLRaw e_sqlite3 SQLite stack, and moves SourceGear.Sqlite3 to 3.53.4.

SQLitePCLRaw stays at 2.1.6. Roslyn references SQLitePCLRaw.bundle_green, which is discontinued at 2.1.11, along with the platform-specific lib.e_sqlite3.* packages that 3.x consolidated, so moving to 3.0.5 is a migration rather than a version bump.

Part of a coordinated revert of the SQLite3MC migration across VS and its components. The other halves are in Azure DevOps: VS 764123, AnyCode 764125, Cascade 764195, and IntelliCode-VS 764208.

Not ready for review - kept as a draft.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service dotnet-policy-service Bot added the Community The pull request was submitted by a contributor who is not a Microsoft employee. label Jul 29, 2026
…o 3.53.4

This reverts commit 0288255, restoring the SQLitePCLRaw e_sqlite3
SQLite stack, and moves SourceGear.Sqlite3 to 3.53.4.

SQLitePCLRaw stays at 2.1.6. Roslyn references bundle_green, which is
discontinued at 2.1.11, along with the platform-specific lib packages
that 3.x consolidated, so moving to 3.0.5 is a migration rather than a
version bump.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@RyanToth3
RyanToth3 force-pushed the dev/rytoth/revert-sqlite3mc-migration branch from acf1227 to 881c350 Compare July 29, 2026 20:50
@RyanToth3 RyanToth3 changed the title Revert "Use SQLite3MC (#84140)" Revert "Use SQLite3MC (#84140)" and update SourceGear.Sqlite3 to 3.53.4 Jul 29, 2026
@RyanToth3
RyanToth3 marked this pull request as ready for review August 7, 2026 19:31
Copilot AI lite review requested due to automatic review settings August 7, 2026 19:31
@RyanToth3
RyanToth3 requested review from a team as code owners August 7, 2026 19:31
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

@RyanToth3

Copy link
Copy Markdown
Contributor Author

@RyanToth3 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@dotnet-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@dotnet-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@dotnet-policy-service agree company="Microsoft"

Contributor License Agreement

@dotnet-policy-service agree company="Microsoft"

@RyanToth3 RyanToth3 closed this Aug 7, 2026
@RyanToth3 RyanToth3 reopened this Aug 7, 2026
@RyanToth3

Copy link
Copy Markdown
Contributor Author

@dotnet-policy-service agree company="Microsoft"

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 reverts the repository’s SQLite stack from SQLite3MC.PCLRaw.* back to the SQLitePCLRaw e_sqlite3-based stack, and updates the native SQLite provider package SourceGear.Sqlite3 to 3.53.4 for VSIX deployment scenarios.

Changes:

  • Replace SQLite3MC.PCLRaw.* references with SQLitePCLRaw.bundle_green / SQLitePCLRaw.provider.dynamic_cdecl and SQLitePCLRaw.lib.e_sqlite3 across Roslyn projects.
  • Switch VSIX-native deployment from sqlite3mc.dll to e_sqlite3.dll (via SourceGear.Sqlite3) and adjust symbol/signing exclusions accordingly.
  • Update tooling projects (Metrics) and tests to align with the reverted SQLite stack (with a couple of issues noted in review comments).

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/Workspaces/Remote/ServiceHub.CoreComponents/CoreComponents.Shared.targets Restore SQLitePCLRaw bundle usage for ServiceHub deployment and adjust runtime item filtering comment.
src/Workspaces/Core/Portable/Microsoft.CodeAnalysis.Workspaces.csproj Swap SQLite3MC.PCLRaw.bundle for SQLitePCLRaw.bundle_green.
src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj Update VSIX package refs to SQLitePCLRaw + SourceGear native e_sqlite3.dll.
src/VisualStudio/Setup.ServiceHub/x64/Roslyn.VisualStudio.ServiceHub.Setup.x64.csproj Deploy e_sqlite3.dll from SourceGear.Sqlite3 for x64 ServiceHub VSIX.
src/VisualStudio/Setup.ServiceHub/arm64/Roslyn.VisualStudio.ServiceHub.Setup.arm64.csproj Deploy e_sqlite3.dll from SourceGear.Sqlite3 for arm64 ServiceHub VSIX.
src/VisualStudio/Setup.ServiceHub/Directory.Build.props Replace SQLite3MC bundle/lib references with SQLitePCLRaw bundle/lib.e_sqlite3.
src/VisualStudio/IntegrationTest/TestSetup/Microsoft.VisualStudio.IntegrationTest.Setup.csproj Update downstream exclusion package reference to SQLitePCLRaw.lib.e_sqlite3.
src/VisualStudio/IntegrationTest/New.IntegrationTests/Microsoft.VisualStudio.LanguageServices.New.IntegrationTests.csproj Update downstream exclusion package reference to SQLitePCLRaw.lib.e_sqlite3.
src/VisualStudio/CSharp/Test/PersistentStorage/SQLiteV2PersistentStorageTests.cs Remove Windows-specific manual sqlite3mc.dll load shim from tests.
src/VisualStudio/CSharp/Test/Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests.csproj Update test project SQLite references/copying for e_sqlite3.dll (with a review note to align native source).
src/RoslynAnalyzers/Tools/Metrics/Metrics.csproj Replace SQLite3MC package references with SQLitePCLRaw e_sqlite3 equivalents (with a review note about version pin).
src/RoslynAnalyzers/Tools/Metrics.Legacy/Metrics.Legacy.csproj Replace SQLite3MC package references with SQLitePCLRaw e_sqlite3 equivalents (with a review note about version pin).
src/RoslynAnalyzers/NuGet/Microsoft.CodeAnalysis.Metrics/Microsoft.CodeAnalysis.Metrics.Package.csproj Replace SQLite3MC package references with SQLitePCLRaw e_sqlite3 equivalents (with a review note about version pin).
src/NuGet/VS.ExternalAPIs.Roslyn.Package/VS.ExternalAPIs.Roslyn.Package.csproj Update downstream exclusion package reference to SQLitePCLRaw.lib.e_sqlite3.
src/Deployment/RoslynDeployment.csproj Update downstream exclusion package reference to SQLitePCLRaw.lib.e_sqlite3.
eng/SymbolPublishingExclusionsFile.txt Update excluded native symbol paths from libsqlite3mc.so to libe_sqlite3.so.
eng/Signing.props Update signing inputs from SQLite3MC artifacts to e_sqlite3.dll and SQLitePCLRaw green/provider assemblies.
eng/Packages.props Replace SQLite3MC/SQLitePCLRaw-core version properties with a unified SqliteVersion and add SourceGear.Sqlite3 3.53.4.

Comment thread src/RoslynAnalyzers/Tools/Metrics/Metrics.csproj
Comment thread src/RoslynAnalyzers/Tools/Metrics.Legacy/Metrics.Legacy.csproj
Copilot AI review requested due to automatic review settings August 10, 2026 15:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated no new comments.

Suppressed comments (2)

src/Workspaces/Remote/ServiceHub.CoreComponents/CoreComponents.Shared.targets:247

  • This comment calls e_sqlite3.dll an “assembly”, but it’s a native library. Updating the wording would avoid confusion (especially since the item removal logic here is specifically about native runtime assets).
      <!-- the only assembly we need under runtime folder (runtimes\win-x64\native\e_sqlite3.dll) is handled by the vsix project directly -->

src/VisualStudio/CSharp/Test/Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests.csproj:79

  • This project now includes the same e_sqlite3.dll source path twice (both win-x64) with different <Link> values. That will produce two copies in the output and makes it unclear whether this was intended (e.g., one entry was meant to be win-x86, or the second destination is required by a specific test host layout). Consider removing the duplicate entry or adding a comment/adjusting the paths so the intent is unambiguous.
    <Content Include="$(PkgSQLitePCLRaw_lib_e_sqlite3)\runtimes\win-x64\native\e_sqlite3.dll">
      <Link>e_sqlite3.dll</Link>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <Content Include="$(PkgSQLitePCLRaw_lib_e_sqlite3)\runtimes\win-x64\native\e_sqlite3.dll">
      <Link>Core\e_sqlite3.dll</Link>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>

@JoeRobich

Copy link
Copy Markdown
Member

Expecting a clean VS insertion in the morning and then we can get this merged.

@RyanToth3

Copy link
Copy Markdown
Contributor Author

Expecting a clean VS insertion in the morning and then we can get this merged.

Are we good to get this checked in now?

@JoeRobich
JoeRobich merged commit 5bd7e0e into dotnet:main Aug 12, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-Infrastructure Community The pull request was submitted by a contributor who is not a Microsoft employee.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants