fix(libsql-sys): support non-Unix when rusqlite feature is disabled#1971
Merged
penberg merged 1 commit intotursodatabase:mainfrom Mar 20, 2025
Merged
Conversation
54fbc95 to
a822963
Compare
Contributor
Author
|
Hello @penberg |
Collaborator
|
@CBenoit Please rebase on top of |
Currently the codepath used when rusqlite is disabled, is Unix-platform-dependent. This patch is adding a platform-independent branch. The database path is expected to be UTF-8 by the libsql native library. However, in the real world, all Unix paths are not necessarily UTF-8. For this reason, I understand why the Unix codepath is attempting a direct conversion from OsString to CString. However, it’s not possible to do something similar on other platforms. For these platforms, we are enforcing correct UTF-8 using to_str. At least, it should work reasonably well in most cases.
22a1565 to
8ea257a
Compare
Contributor
Author
|
@penberg I see! Done! |
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.
Currently the codepath used when rusqlite is disabled, is Unix-platform-dependent.
For instance, here is the error we compiling from Windows:
This patch is adding a platform-independent branch.
The database path is expected to be UTF-8 by the libsql native library. However, in the real world, all Unix paths are not necessarily UTF-8. For this reason, I understand why the Unix codepath is attempting a direct conversion from OsString to CString.
However, it’s not possible to do something similar on other platforms. For these platforms, we are enforcing correct UTF-8 using
to_str. At least, it should work reasonably well in most cases.