Skip to content

Conversation

@jdunkerley
Copy link
Member

@jdunkerley jdunkerley commented Jan 14, 2026

Pull Request Description

First PR following up on #14607

  • Small fix for File.new widget.

  • Renamed In_Memory_Test_Helpers to In_Memory_Helpers.

  • Make use of get_java_table more explicitly from the helper class.

  • StorageType "localisation" should be internal

    • Removed from Storage.to_value_type.
    • Temporarily added a makeLocalType method to help with this.
      Currently in Java_Problems and In_Memory_Column_Implementation.
  • In_Memory_Table.java_table should always be within the primary runtime.

    • Removed classes being passed.
    • HyperFormat.writeTable takes an array of names and an array of storages (ColumnStorage interface).
  • Altered external use of Java Column and Table to only use the ColumnStorage.

  • Removed redundant helper methods.

  • Pass names and storages and avoid passing the Table object.

Next PR: Overhaul exception handling.

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • The documentation has been updated, if necessary.
  • Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
  • All code follows the
    Scala,
    Java,
    TypeScript,
    and
    Rust
    style guides. In case you are using a language not listed above, follow the Rust style guide.
  • Unit tests have been written where possible.
  • If meaningful changes were made to logic or tests affecting Enso Cloud integration in the libraries,
    or the Snowflake database integration, a run of the Extra Tests has been scheduled.
    • If applicable, it is suggested to paste a link to a successful run of the Extra Tests.

@jdunkerley jdunkerley added the CI: No changelog needed Do not require a changelog entry for this PR. label Jan 14, 2026
@jdunkerley jdunkerley marked this pull request as ready for review January 21, 2026 13:50
@github-actions github-actions bot added the -libs-API-change-Table Marks a PR that changes the public API of Standard.Table label Jan 21, 2026
Copy link
Member

@JaroslavTulach JaroslavTulach left a comment

Choose a reason for hiding this comment

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

I'd improve encapsulation with private especially in methods that return Java classes not transferable over dual JVM boundary

@JaroslavTulach
Copy link
Member

problems = if warning_unmatched_columns.length > 0 then [Unmatched_Columns.Error warning_unmatched_columns.to_vector] else []
on_problems.attach_problems_before problems <|
File.new resolved_file
if (on_existing_file == Existing_File_Behavior.Error) && file.exists then Error.throw (File_Error.Already_Exists file)
Copy link
Member

Choose a reason for hiding this comment

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

  • wow, this is relaying on a fact that statements that yield Error terminate block execution!
  • by having if_then only (and not if_then_else) you eliminate one indentation level
  • but it feels less FP-like... which is probably not a problem at all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

-libs-API-change-Table Marks a PR that changes the public API of Standard.Table CI: No changelog needed Do not require a changelog entry for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants