-
Notifications
You must be signed in to change notification settings - Fork 323
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
Writing to Data Links #9750
Merged
Merged
Writing to Data Links #9750
Changes from 47 commits
Commits
Show all changes
53 commits
Select commit
Hold shift + click to select a range
d9019dc
adding tests 1
radeusgd ca4e509
tests data link in the Cloud
radeusgd 17f583b
S3 test, append spec
radeusgd 1573604
Postgres test
radeusgd 177714a
Data_Link_With_Output_Stream stub
radeusgd 53fce80
write
radeusgd 9013f73
workaround for https://github.com/enso-org/enso/issues/8937
radeusgd 07e698b
fixes in test file
radeusgd f4f6fff
fixes in test file
radeusgd 2c186d5
writing to Enso_File links
radeusgd 5faaa31
do not expose AWS keys in to_text
radeusgd f89a3c5
writing S3 links
radeusgd d1611e3
add `Writable_Data_Link`
radeusgd 271fce4
update test
radeusgd 416d52a
fixes
radeusgd d54b37d
fix unexpected dataflow error missing decorations because it was not …
radeusgd 5c9ef7e
add stack trace to failure report
radeusgd 4aa6ff7
do not follow datalink when writing raw config
radeusgd b7a2246
comment
radeusgd 5fd4792
test
radeusgd ad5b9c8
ensuring the original datalink is returned when writing to a file
radeusgd f6e71d6
fixes
radeusgd a1f2aaa
update test
radeusgd 6a91184
replace returned file with proxy
radeusgd 90e1a4d
Revert "replace returned file with proxy"
radeusgd 5e127fc
fix S3 test
radeusgd 1c990cd
sigs
radeusgd 7cb28a9
Reapply "replace returned file with proxy"
radeusgd 7313124
comment
radeusgd 352e3ad
changelog
radeusgd 454f7f5
missing imports
radeusgd 7e7e26c
test for target datalink not existing
radeusgd e047289
workaround for https://github.com/enso-org/enso/issues/9669
radeusgd f949e64
Merge branch 'refs/heads/develop' into wip/radeusgd/9292-write-to-dat…
radeusgd 765da44
add copy and move for datalinks
radeusgd 1372a80
refactor: move things around
radeusgd 405b31b
fixes after refactor
radeusgd 872b3c7
fix
radeusgd ed27b95
update tests to new semantics
radeusgd 780949a
adding tests
radeusgd d4ef32d
fix test
radeusgd 4dbaa39
Merge branch 'refs/heads/develop' into wip/radeusgd/9292-write-to-dat…
radeusgd ea3ce7d
error on incompatible combinations
radeusgd e751170
Merge branch 'refs/heads/develop' into wip/radeusgd/9292-write-to-dat…
radeusgd 0a43982
update messages, tests
radeusgd 6faf09d
fix - defer conversion
radeusgd 9173165
update other FSs
radeusgd c2b82c8
Merge branch 'refs/heads/develop' into wip/radeusgd/9292-write-to-dat…
radeusgd 1ddfea9
fix package.yaml
radeusgd 95d68a5
fix a typo
radeusgd 9288705
Merge branch 'refs/heads/develop' into wip/radeusgd/9292-write-to-dat…
radeusgd 76a4033
fixing writing Images to datalinks
radeusgd ae1271e
Merge branch 'refs/heads/develop' into wip/radeusgd/9292-write-to-dat…
radeusgd File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.
Oops, something went wrong.
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.
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.
I changed
Writable_File
toFile_Like
to avoid eagerly triggering the conversion.The problem was - converting a data link to
Writable_File
'follows it' but if it did not exist, that will fail withFile_Error.Not_Found
and it would fail too early, not giving us a chance to abandon the operation because ofdisallow_links_in_copy
.Briefly I thought that this indicates that the
Writable_File
'class' is too loaded and there should be a separation of concerns between expressing the capability of 'a file that can be written to' and resolving the data link.But actually, almost all code does want this to happen in one step. Our users and library devs, will most of the time want to write a function taking
Writable_File
and be able to use this file to write their fancy data formats to it, not caring how the underlying structures resolve the data links to write to the data link targets - implementors of new formats should not care about data links, only about taking aWritable_File
and writing to it.Only implementors of new file systems need to be more careful around data links and for operations that may not want to follow the link (e.g.
copy_to
andmove_to
) they will need to avoid the eager conversion like here and use some other type (I decided to useFile_Like
as this is our 'most generic' type class that every File type should be implementing). I think that is fine as a bit more complexity in the filesystem logic sounds better than complicating the file format logic: we will likely end up with more formats than filesystems and external contributors/users will be more likely to need to write a new format than a new filesystem altogether. Moreover it's not hard anyway as one can just copy the 'best practices' from theS3_File
implementation.