-
Notifications
You must be signed in to change notification settings - Fork 16
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
Transformation sheet API #297
Conversation
9953e04
to
6d64076
Compare
@richiejp looks great. Just a few questions/comments so far (have a few others but will reserve for after further review)
|
thanks @liquidaty!
|
6d64076
to
98da4b0
Compare
So far my only suggestion is to replace "push" with "buffer", so that it becomes ext_sheet_buffer_transformation or just to remove "push". On a separate note I think it is possible to "stream" the transformation with relatively few alterations by reading the file that is being written to. Albeit with the possibility of parser errors if quotes are left open, but this would allow the user to see the transformation in progress. If the builtin filter were also made to work this way then the user would see filter results slowly appear when filtering a very large file with most of the entries filtered out. Furthermore the index could also be built incrementally and used before it has completed. First though I am working on just putting the transformation into a background thread. |
98da4b0
to
73f2c7c
Compare
Fixes a number of memory errors and other issues. Some introduced with a rebase, but mostly from the transformation handler's implementation.
73f2c7c
to
b5c908c
Compare
Rebased onto main and fixed some memory errors. I created a version which offloads the work onto another thread and redisplays the file as new results are read. I'll put that in a separate PR. |
The first two commits refactor the current index filter code. This actually
introduces more lines of code than it saves, but decouples the filtering from
the indexing a little.
The last commit adds a higher level API for extensions to use on top of the first. An example of what this API looks like is below, this adds an extra column to the active buffer counting the rows.
TODO (either in this PR or another):