Skip to content

Commit 916694d

Browse files
AdRileyfarmaazon
authored andcommitted
Fix split to columns by newline (#12915)
* Add test and fix * API
1 parent 50ba6ed commit 916694d

File tree

5 files changed

+12
-4
lines changed

5 files changed

+12
-4
lines changed

distribution/lib/Standard/Database/0.0.0-dev/docs/api/DB_Table.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
- set self value:(Standard.Database.DB_Column.DB_Column|Standard.Base.Data.Text.Text|Standard.Table.Expression.Expression|Standard.Base.Data.Array.Array|Standard.Base.Data.Vector.Vector|Standard.Base.Data.Range.Range|Standard.Base.Data.Time.Date_Range.Date_Range|Standard.Table.Internal.Constant_Column.Constant_Column|Standard.Table.Simple_Expression.Simple_Expression) as:Standard.Base.Data.Text.Text= set_mode:Standard.Table.Set_Mode.Set_Mode= on_problems:Standard.Base.Errors.Problem_Behavior.Problem_Behavior= -> Standard.Base.Any.Any
7979
- sort self columns:(Standard.Base.Any.Any|Standard.Table.Sort_Column.Sort_Column)= text_ordering:Standard.Base.Data.Text.Text_Ordering.Text_Ordering= error_on_missing_columns:Standard.Base.Data.Boolean.Boolean= on_problems:Standard.Base.Errors.Problem_Behavior.Problem_Behavior= -> Standard.Base.Any.Any
8080
- sort_columns self order:Standard.Base.Data.Sort_Direction.Sort_Direction= text_ordering:Standard.Base.Data.Text.Text_Ordering.Text_Ordering= -> Standard.Database.DB_Table.DB_Table
81-
- split_to_columns self column:(Standard.Base.Data.Text.Text|Standard.Base.Data.Numbers.Integer) delimiter:Standard.Base.Data.Text.Text= column_count:Standard.Table.Columns_To_Add.Columns_To_Add= on_problems:Standard.Base.Errors.Problem_Behavior.Problem_Behavior= -> Standard.Database.DB_Table.DB_Table
81+
- split_to_columns self column:(Standard.Base.Data.Text.Text|Standard.Base.Data.Numbers.Integer) delimiter:(Standard.Base.Data.Text.Text|Standard.Base.Data.Vector.Vector)= column_count:Standard.Table.Columns_To_Add.Columns_To_Add= on_problems:Standard.Base.Errors.Problem_Behavior.Problem_Behavior= -> Standard.Database.DB_Table.DB_Table
8282
- split_to_rows self column:(Standard.Base.Data.Text.Text|Standard.Base.Data.Numbers.Integer) delimiter:Standard.Base.Data.Text.Text= -> Standard.Database.DB_Table.DB_Table
8383
- take self range:(Standard.Base.Data.Index_Sub_Range.Index_Sub_Range|Standard.Base.Data.Range.Range|Standard.Base.Data.Numbers.Integer)= -> Standard.Database.DB_Table.DB_Table
8484
- text_cleanse self from:(Standard.Base.Data.Vector.Vector Standard.Base.Any.Any) remove:(Standard.Base.Data.Vector.Vector Standard.Base.Data.Text.Regex.Named_Pattern.Named_Pattern)= -> Standard.Database.DB_Table.DB_Table

distribution/lib/Standard/Database/0.0.0-dev/src/DB_Table.enso

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2436,7 +2436,7 @@ type DB_Table
24362436
@column Widget_Helpers.make_column_name_selector
24372437
@delimiter make_delimiter_selector
24382438
@column_count Columns_To_Add.default_widget
2439-
split_to_columns self (column : Text | Integer) delimiter:Text="," column_count:Columns_To_Add=..All_Columns on_problems:Problem_Behavior=..Report_Warning -> DB_Table =
2439+
split_to_columns self (column : Text | Integer) delimiter:Text|Vector="," column_count:Columns_To_Add=..All_Columns on_problems:Problem_Behavior=..Report_Warning -> DB_Table =
24402440
_ = [column, delimiter, column_count.columns_to_split, on_problems]
24412441
Error.throw (Unsupported_Database_Operation.Error "split_to_columns")
24422442

distribution/lib/Standard/Table/0.0.0-dev/docs/api/Table.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
- slice self start:Standard.Base.Any.Any end:Standard.Base.Any.Any -> Standard.Base.Any.Any
7575
- sort self columns:(Standard.Base.Any.Any|Standard.Table.Sort_Column.Sort_Column)= text_ordering:Standard.Base.Data.Text.Text_Ordering.Text_Ordering= error_on_missing_columns:Standard.Base.Data.Boolean.Boolean= on_problems:Standard.Base.Errors.Problem_Behavior.Problem_Behavior= -> Standard.Base.Any.Any
7676
- sort_columns self order:Standard.Base.Data.Sort_Direction.Sort_Direction= text_ordering:Standard.Base.Data.Text.Text_Ordering.Text_Ordering= -> Standard.Table.Table.Table
77-
- split_to_columns self column:(Standard.Base.Data.Text.Text|Standard.Base.Data.Numbers.Integer) delimiter:Standard.Base.Data.Text.Text= column_count:Standard.Table.Columns_To_Add.Columns_To_Add= on_problems:Standard.Base.Errors.Problem_Behavior.Problem_Behavior= -> Standard.Table.Table.Table
77+
- split_to_columns self column:(Standard.Base.Data.Text.Text|Standard.Base.Data.Numbers.Integer) delimiter:(Standard.Base.Data.Text.Text|Standard.Base.Data.Vector.Vector)= column_count:Standard.Table.Columns_To_Add.Columns_To_Add= on_problems:Standard.Base.Errors.Problem_Behavior.Problem_Behavior= -> Standard.Table.Table.Table
7878
- split_to_rows self column:(Standard.Base.Data.Text.Text|Standard.Base.Data.Numbers.Integer) delimiter:Standard.Base.Data.Text.Text= -> Standard.Table.Table.Table
7979
- table_version_hash self -> Standard.Base.Data.Text.Text
8080
- take self range:(Standard.Base.Data.Index_Sub_Range.Index_Sub_Range|Standard.Base.Data.Range.Range|Standard.Base.Data.Numbers.Integer)= -> Standard.Table.Table.Table

distribution/lib/Standard/Table/0.0.0-dev/src/Table.enso

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1872,7 +1872,7 @@ type Table
18721872
@column Widget_Helpers.make_column_name_selector
18731873
@delimiter make_delimiter_selector
18741874
@column_count Columns_To_Add.default_widget
1875-
split_to_columns self (column : Text | Integer) delimiter:Text="," column_count:Columns_To_Add=..All_Columns on_problems:Problem_Behavior=..Report_Warning -> Table =
1875+
split_to_columns self (column : Text | Integer) delimiter:Text|Vector="," column_count:Columns_To_Add=..All_Columns on_problems:Problem_Behavior=..Report_Warning -> Table =
18761876
Split_Tokenize.split_to_columns self column delimiter column_count=column_count on_problems
18771877

18781878
## ALIAS parse, tokenize

test/Table_Tests/src/In_Memory/Split_Tokenize_Spec.enso

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@ add_specs suite_builder =
9090
t2 = t.split_to_columns "bar" "|"
9191
t2.should_equal expected
9292

93+
group_builder.specify "can do split_to_columns on a vector of newlines" <|
94+
cols = [["foo", [0, 1, 2, 3, 4]], ["bar", ['a\nbc', 'cbd\r\nbef', 'ghb\nijbu', Nothing, ""]]]
95+
t = Table.new cols
96+
expected_rows = [[0, "a", "bc"], [1, "cbd", "bef"], [2, "ghb", "ijbu"], [3, Nothing, Nothing], [4, "", Nothing]]
97+
expected = Table.from_rows ["foo", "bar 1", "bar 2"] expected_rows
98+
t2 = t.split_to_columns "bar" ['\n', '\r\n', '\r']
99+
t2.should_equal expected
100+
93101
suite_builder.group "Table.tokenize" group_builder->
94102
group_builder.specify "can do tokenize_to_columns" <|
95103
cols = [["foo", [0, 1, 2]], ["bar", ["a12b34r5", "23", "2r4r55"]]]

0 commit comments

Comments
 (0)