This is an automated email from the ASF dual-hosted git repository.
linxinyuan pushed a change to branch aglinxinyuan-patch-1
in repository https://gitbox.apache.org/repos/asf/texera.git
from 651266e76a Update .licenserc.yaml
add 4f822e376a feat: Python Support for Large Binary (#4100)
add 31c9e4311e fix: remove /api/dataset/file endpoint (#4137)
add acca01d1d4 fix: support more java.time inputs in timestamp parsing
(#4139)
add 27b86aaca4 fix: Removing unnecessary user info returned from the
backend (#4138)
add 39270ec8d4 fix(ui): remove labels from dynamically added ports (#4140)
add 2fbe37ab71 feat: add affiliation attribute to user (#4113)
add 8635ce2477 feat(ui): add pagination and search for wide-column tables
(#4086)
add 39127e92cb feat: extend image preview to support WebP and GIF formats
(#4120)
add 253409a6ba refactor(dataset): Redirect multipart upload through File
Service (#4136)
add b9fc0d2c89 fix(backend): allow users with read access level to revoke
their own access on shared workflows (#4143)
add ab3317b8ef fix(AttributeTypeUtils): use Double.NEGATIVE_INFINITY
instead of Double.MIN_VALUE (#4145)
add a7d2adf243 feat: add custom cover image support for datasets (#4117)
add e5fcfa2417 feat(gui): added sort by affiliation to admin dashboard
(#4150)
add 1f01369379 Merge branch 'main' into aglinxinyuan-patch-1
No new revisions were added by this update.
Summary of changes:
amber/operator-requirements.txt | 1 +
.../core/architecture/packaging/output_manager.py | 2 +-
amber/src/main/python/core/models/__init__.py | 3 +-
.../src/main/python/core/models/schema/__init__.py | 2 +
.../core/models/schema/arrow_schema_utils.py | 63 +
.../python/core/models/schema/attribute_type.py | 6 +
.../core/models/schema/attribute_type_utils.py | 72 +
amber/src/main/python/core/models/schema/schema.py | 19 +-
.../main/python/core/models/schema/test_schema.py | 65 +
amber/src/main/python/core/models/test_tuple.py | 98 ++
amber/src/main/python/core/models/tuple.py | 33 +
.../src/main/python/core/models/type/__init__.py | 3 +-
.../main/python/core/models/type/large_binary.py | 98 ++
.../python/core/models/type/test_large_binary.py | 88 ++
.../main/python/core/storage/document_factory.py | 5 +-
.../python/core/storage/iceberg/iceberg_utils.py | 136 +-
.../core/storage/iceberg/test_iceberg_document.py | 4 +
.../iceberg/test_iceberg_utils_large_binary.py | 230 ++++
.../src/main/python/core/storage/storage_config.py | 19 +-
amber/src/main/python/pytexera/__init__.py | 6 +
.../pytexera/storage/large_binary_input_stream.py | 121 ++
.../pytexera/storage/large_binary_manager.py | 78 ++
.../pytexera/storage/large_binary_output_stream.py | 244 ++++
.../storage/test_large_binary_input_stream.py | 222 ++++
.../pytexera/storage/test_large_binary_manager.py | 150 +++
.../storage/test_large_binary_output_stream.py | 238 ++++
amber/src/main/python/texera_run_python_worker.py | 8 +
.../pythonworker/PythonWorkflowWorker.scala | 6 +-
.../texera/web/ServletAwareConfigurator.scala | 2 +
.../apache/texera/web/TexeraWebApplication.scala | 2 +
.../apache/texera/web/auth/GuestAuthFilter.scala | 2 +-
.../apache/texera/web/auth/UserAuthenticator.scala | 13 +-
.../request/ResultPaginationRequest.scala | 5 +-
.../dashboard/admin/user/AdminUserResource.scala | 6 +-
.../web/resource/dashboard/user/UserResource.scala | 74 ++
.../user/workflow/WorkflowAccessResource.scala | 37 +-
.../dashboard/user/workflow/WorkflowResource.scala | 23 +-
.../web/service/ExecutionResultService.scala | 23 +-
.../texera/web/service/WorkflowService.scala | 2 +-
.../dashboard/file/WorkflowResourceSpec.scala | 17 +
build.sbt | 14 +-
.../scala/org/apache/texera/auth/JwtParser.scala | 2 +-
common/config/src/main/resources/gui.conf | 4 +
.../scala/org/apache/texera/config/GuiConfig.scala | 2 +
common/workflow-core/build.sbt | 17 +
.../amber/core/storage/DocumentFactory.scala | 8 +-
.../storage/model/ReadonlyLocalFileDocument.scala | 6 +-
.../storage/model/ReadonlyVirtualDocument.scala | 3 +-
.../amber/core/storage/model/VirtualDocument.scala | 3 +-
.../storage/result/iceberg/IcebergDocument.scala | 23 +-
.../core/storage/util/LakeFSStorageClient.scala | 63 +
.../amber/core/tuple/AttributeTypeUtils.scala | 17 +-
.../org/apache/texera/amber/util/ArrowUtils.scala | 49 +-
.../texera/service/util/S3StorageClient.scala | 55 +
.../amber/core/tuple/AttributeTypeUtilsSpec.scala | 45 +-
.../amber/operator/aggregate/AggregateOpSpec.scala | 170 +++
.../apache/texera/amber/util/ArrowUtilsSpec.scala | 144 +-
.../texera/service/resource/ConfigResource.scala | 1 +
.../texera/service/resource/DatasetResource.scala | 832 +++++++++---
.../org/apache/texera/service/MockLakeFS.scala | 56 +-
.../service/resource/DatasetResourceSpec.scala | 1376 +++++++++++++++++++-
.../app/common/service/gui-config.service.mock.ts | 1 +
.../app/common/service/user/stub-user.service.ts | 8 +
.../app/common/service/user/user.service.spec.ts | 2 +
.../src/app/common/service/user/user.service.ts | 37 +-
.../workflow-persist/workflow-persist.service.ts | 11 +-
frontend/src/app/common/type/dataset.ts | 1 +
frontend/src/app/common/type/gui-config.ts | 1 +
frontend/src/app/common/type/user.ts | 1 +
.../component/admin/user/admin-user.component.html | 6 +
.../component/admin/user/admin-user.component.ts | 5 +
.../dashboard/component/dashboard.component.html | 32 +
.../app/dashboard/component/dashboard.component.ts | 69 +-
.../dataset-detail.component.html | 3 +-
.../dataset-detail.component.ts | 253 ++--
.../user-dataset-file-renderer.component.ts | 6 +
.../user-dataset-version-creator.component.ts | 1 +
.../user-dataset-version-filetree.component.html | 15 +-
.../user-dataset-version-filetree.component.scss | 2 +-
.../user-dataset-version-filetree.component.ts | 18 +-
.../service/user/dataset/dataset.service.ts | 282 ++--
frontend/src/app/dashboard/type/dashboard-entry.ts | 2 +
.../browse-section/browse-section.component.html | 3 +-
.../browse-section/browse-section.component.ts | 26 +
.../detail/hub-workflow-detail.component.ts | 6 +-
.../result-panel/result-panel.component.ts | 2 +-
.../result-table-frame.component.html | 34 +
.../result-table-frame.component.spec.ts | 13 +
.../result-table-frame.component.ts | 63 +-
.../model/workflow-action.service.ts | 2 +-
.../workflow-result/workflow-result.service.ts | 14 +-
.../types/workflow-websocket.interface.ts | 3 +
sql/texera_ddl.sql | 35 +
.../updates/16.sql | 12 +-
sql/updates/{04.sql => 17.sql} | 41 +-
.../model/OnDataset.scala => sql/updates/18.sql | 14 +-
96 files changed, 5561 insertions(+), 579 deletions(-)
create mode 100644
amber/src/main/python/core/models/schema/arrow_schema_utils.py
create mode 100644
amber/src/main/python/core/models/schema/attribute_type_utils.py
copy bin/forum/start-flarum.sh =>
amber/src/main/python/core/models/type/__init__.py (92%)
create mode 100644 amber/src/main/python/core/models/type/large_binary.py
create mode 100644 amber/src/main/python/core/models/type/test_large_binary.py
create mode 100644
amber/src/main/python/core/storage/iceberg/test_iceberg_utils_large_binary.py
create mode 100644
amber/src/main/python/pytexera/storage/large_binary_input_stream.py
create mode 100644
amber/src/main/python/pytexera/storage/large_binary_manager.py
create mode 100644
amber/src/main/python/pytexera/storage/large_binary_output_stream.py
create mode 100644
amber/src/main/python/pytexera/storage/test_large_binary_input_stream.py
create mode 100644
amber/src/main/python/pytexera/storage/test_large_binary_manager.py
create mode 100644
amber/src/main/python/pytexera/storage/test_large_binary_output_stream.py
create mode 100644
amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/UserResource.scala
copy amber/src/main/scala/org/apache/texera/web/TexeraWebConfiguration.java =>
sql/updates/16.sql (85%)
copy sql/updates/{04.sql => 17.sql} (52%)
copy
common/workflow-core/src/main/scala/org/apache/texera/amber/core/storage/model/OnDataset.scala
=> sql/updates/18.sql (82%)