From a2370029fe857d30653a9dcb121f10cfba27eb72 Mon Sep 17 00:00:00 2001 From: "jinli.zjw" Date: Fri, 24 Jul 2026 11:06:34 +0800 Subject: [PATCH 1/2] chore(test): trim README trailing whitespace --- .../append_table_alter_table_with_cast/README | 8 ++++---- .../README | 20 +++++++++---------- .../append_table_with_alter_table/README | 8 ++++---- .../README | 8 ++++---- .../README | 6 +++--- .../append_table_with_rt_branch/README | 12 +++++------ .../append_with_bitmap_alter_table/README | 4 ++-- .../README | 6 +++--- test/test_data/orc/pk_09.db/pk_09/README | 2 +- .../pk_table_partial_update/README | 4 ++-- .../pk_table_with_alter_table/README | 6 +++--- .../pk_table_with_dv_cardinality/README | 2 +- .../append_table_alter_table_with_cast/README | 8 ++++---- .../README | 20 +++++++++---------- .../append_table_with_alter_table/README | 8 ++++---- .../append_table_with_rt_branch/README | 12 +++++------ .../append_with_bitmap_alter_table/README | 4 ++-- .../README | 6 +++--- .../pk_table_partial_update/README | 4 ++-- .../pk_table_with_alter_table/README | 6 +++--- .../pk_table_with_dv_cardinality/README | 2 +- 21 files changed, 78 insertions(+), 78 deletions(-) diff --git a/test/test_data/orc/append_table_alter_table_with_cast.db/append_table_alter_table_with_cast/README b/test/test_data/orc/append_table_alter_table_with_cast.db/append_table_alter_table_with_cast/README index aa0c3bc95..ccc2b7dab 100644 --- a/test/test_data/orc/append_table_alter_table_with_cast.db/append_table_alter_table_with_cast/README +++ b/test/test_data/orc/append_table_alter_table_with_cast.db/append_table_alter_table_with_cast/README @@ -6,7 +6,7 @@ f1:TIMESTAMP(9):3 f2:DECIMAL(5, 2):4 f3:STRING:5 f4:DATE:6 -f5:BIGINT:7 +f5:BIGINT:7 partition key: key0, key1 bucket count: -1 @@ -21,14 +21,14 @@ NoCompact schema evolution updateColumnType("f0", INT()) -updateColumnType("f1", STRING()) +updateColumnType("f1", STRING()) updateColumnType("f2", DECIMAL(6, 3)) updateColumnType("f3", BOOLEAN()) updateColumnType("f4", TIMESTAMP(9)) -dropColumn("f5") +dropColumn("f5") renameColumn("f0", "f5") renameColumn("f3", "f0") -renameColumn("f5", "f3") +renameColumn("f5", "f3") updateColumnPosition(SchemaChange.Move.first("f4")) addColumn("f6", INT())) diff --git a/test/test_data/orc/append_table_alter_table_with_cast_with_data_evolution.db/append_table_alter_table_with_cast_with_data_evolution/README b/test/test_data/orc/append_table_alter_table_with_cast_with_data_evolution.db/append_table_alter_table_with_cast_with_data_evolution/README index 7d7042ef7..d9c5f7d42 100644 --- a/test/test_data/orc/append_table_alter_table_with_cast_with_data_evolution.db/append_table_alter_table_with_cast_with_data_evolution/README +++ b/test/test_data/orc/append_table_alter_table_with_cast_with_data_evolution.db/append_table_alter_table_with_cast_with_data_evolution/README @@ -6,7 +6,7 @@ f1:TIMESTAMP(9):3 f2:DECIMAL(5, 2):4 f3:STRING:5 f4:DATE:6 -f5:BIGINT:7 +f5:BIGINT:7 partition key: key0, key1 bucket count: -1 @@ -14,16 +14,16 @@ Msgs: write "key0", "key1", "f0", "f1", "f2" Add(0, 1, "100", Timestamp(1732603136001l, 1), "0.02") Add(0, 1, "110", Timestamp(1732603136011l, 11), "11.12") -Add(0, 1, "120", Timestamp(1732603136021l, 21), "22.22") +Add(0, 1, "120", Timestamp(1732603136021l, 21), "22.22") Add(0, 1, "130", Timestamp(1732603136031l, 31), "333.32") -Add(0, 1, "140", Timestamp(1732603136041l, 41), "444.42") +Add(0, 1, "140", Timestamp(1732603136041l, 41), "444.42") write "key0", "key1", "f3", "f4", "f5" Add(0, 1, "True", 4, 5l) Add(0, 1, "1", -44, 25l) Add(0, 1, "nO", 444, 35l) Add(0, 1, "0", -4444, 45l) -Add(0, 1, "Yes", 44444, 55l) +Add(0, 1, "Yes", 44444, 55l) set first row id to 0 commit snapshot-1 @@ -31,14 +31,14 @@ NoCompact schema evolution updateColumnType("f0", INT()) -updateColumnType("f1", STRING()) +updateColumnType("f1", STRING()) updateColumnType("f2", DECIMAL(6, 3)) updateColumnType("f3", BOOLEAN()) updateColumnType("f4", TIMESTAMP(9)) -dropColumn("f5") +dropColumn("f5") renameColumn("f0", "f5") renameColumn("f3", "f0") -renameColumn("f5", "f3") +renameColumn("f5", "f3") updateColumnPosition(SchemaChange.Move.first("f4")) addColumn("f6", INT()) @@ -52,11 +52,11 @@ f0:BOOLEAN:5 f6:INT:8 write "f4", "key0", "key1", "f3", "f1" -Add(Timestamp(1732603136054l, 54), 0, 1, 150, "2024-11-26 15:28:31") +Add(Timestamp(1732603136054l, 54), 0, 1, 150, "2024-11-26 15:28:31") Add(Timestamp(1732603136064l, 64), 0, 1, 160, "2024-11-26 15:28:41") Add(Timestamp(1732603136074l, 74), 0, 1, 170, "2024-11-26 15:28:51") Add(Timestamp(1732603136084l, 84), 0, 1, 180, "2024-11-26 15:29:01") -Add(Timestamp(1732603136094l, 94), 0, 1, 190, "I'm strange") +Add(Timestamp(1732603136094l, 94), 0, 1, 190, "I'm strange") set first row id to 5 commit snapshot-2 @@ -67,7 +67,7 @@ Add(Timestamp(1732603136054l, 154), 0, 1, "55.002", true, 56) Add(Timestamp(1732603136064l, 164), 0, 1, "666.012", false, 66) Add(Timestamp(1732603136074l, 174), 0, 1, "-77.022", true, 76) Add(Timestamp(1732603136084l, 184), 0, 1, "8.032", true, -86) -Add(Timestamp(1732603136094l, 194), 0, 1, "-999.420", false, 96) +Add(Timestamp(1732603136094l, 194), 0, 1, "-999.420", false, 96) set first row id to 5 commit snapshot-3 diff --git a/test/test_data/orc/append_table_with_alter_table.db/append_table_with_alter_table/README b/test/test_data/orc/append_table_with_alter_table.db/append_table_with_alter_table/README index 8f3ba5203..b391dfd95 100644 --- a/test/test_data/orc/append_table_with_alter_table.db/append_table_with_alter_table/README +++ b/test/test_data/orc/append_table_with_alter_table.db/append_table_with_alter_table/README @@ -1,4 +1,4 @@ -key0:int:0 key1:int:1 a:int:2 b:int:3 c:int:4 d:int:5 k:int:6 +key0:int:0 key1:int:1 a:int:2 b:int:3 c:int:4 d:int:5 k:int:6 partition key: key0, key1 bucket count: -1 @@ -9,7 +9,7 @@ Add(0, 1, 22, 23, 24, 25, 26) Add(0, 1, 32, 33, 34, 35, 36) Add(1, 1, 42, 43, 44, 45, 46) -Add(1, 1, 52, 53, 54, 55, 56) +Add(1, 1, 52, 53, 54, 55, 56) NoCompact @@ -26,10 +26,10 @@ key0:int:0 key1:int:1 k:int:6 c:int:3 d:int:7 a:int:5 e:int:8 snapshot-2 Add(0, 1, 66, 63, 517, 65, 618) Add(0, 1, 76, 73, 527, 75, 628) -Add(0, 1, 86, 83, 537, 85, 638) +Add(0, 1, 86, 83, 537, 85, 638) Add(1, 1, 96, 93, 547, 95, 648) -Add(1, 1, 106, 103, 557, 105, 658) +Add(1, 1, 106, 103, 557, 105, 658) NoCompact diff --git a/test/test_data/orc/append_table_with_alter_table_build_in_fieldid.db/append_table_with_alter_table_build_in_fieldid/README b/test/test_data/orc/append_table_with_alter_table_build_in_fieldid.db/append_table_with_alter_table_build_in_fieldid/README index 8f3ba5203..b391dfd95 100644 --- a/test/test_data/orc/append_table_with_alter_table_build_in_fieldid.db/append_table_with_alter_table_build_in_fieldid/README +++ b/test/test_data/orc/append_table_with_alter_table_build_in_fieldid.db/append_table_with_alter_table_build_in_fieldid/README @@ -1,4 +1,4 @@ -key0:int:0 key1:int:1 a:int:2 b:int:3 c:int:4 d:int:5 k:int:6 +key0:int:0 key1:int:1 a:int:2 b:int:3 c:int:4 d:int:5 k:int:6 partition key: key0, key1 bucket count: -1 @@ -9,7 +9,7 @@ Add(0, 1, 22, 23, 24, 25, 26) Add(0, 1, 32, 33, 34, 35, 36) Add(1, 1, 42, 43, 44, 45, 46) -Add(1, 1, 52, 53, 54, 55, 56) +Add(1, 1, 52, 53, 54, 55, 56) NoCompact @@ -26,10 +26,10 @@ key0:int:0 key1:int:1 k:int:6 c:int:3 d:int:7 a:int:5 e:int:8 snapshot-2 Add(0, 1, 66, 63, 517, 65, 618) Add(0, 1, 76, 73, 527, 75, 628) -Add(0, 1, 86, 83, 537, 85, 638) +Add(0, 1, 86, 83, 537, 85, 638) Add(1, 1, 96, 93, 547, 95, 648) -Add(1, 1, 106, 103, 557, 105, 658) +Add(1, 1, 106, 103, 557, 105, 658) NoCompact diff --git a/test/test_data/orc/append_table_with_alter_table_with_dense_field.db/append_table_with_alter_table_with_dense_field/README b/test/test_data/orc/append_table_with_alter_table_with_dense_field.db/append_table_with_alter_table_with_dense_field/README index fba0ab174..5b21dba14 100644 --- a/test/test_data/orc/append_table_with_alter_table_with_dense_field.db/append_table_with_alter_table_with_dense_field/README +++ b/test/test_data/orc/append_table_with_alter_table_with_dense_field.db/append_table_with_alter_table_with_dense_field/README @@ -10,7 +10,7 @@ Add(0, "Alice", 11, 21, 31.1) Add(0, "Bob", 12, 22, 32.2) Add(1, "Cathy", 13, 23, 33.3) -Add(1, "David", 14, 24, 34.4) +Add(1, "David", 14, 24, 34.4) NoCompact @@ -24,9 +24,9 @@ key0:int:0 f2:int:2 f1:int:3 f3:double:4 f4:int:5 snapshot-2 Add(0, 25, 15, 35.5, 45) -Add(0, 26, 16, 36.6, 46) +Add(0, 26, 16, 36.6, 46) Add(1, 27, 17, 37.7, 47) -Add(1, 28, 18, 38.8, 48) +Add(1, 28, 18, 38.8, 48) NoCompact \ No newline at end of file diff --git a/test/test_data/orc/append_table_with_rt_branch.db/append_table_with_rt_branch/README b/test/test_data/orc/append_table_with_rt_branch.db/append_table_with_rt_branch/README index 218307e4c..a61eb9168 100644 --- a/test/test_data/orc/append_table_with_rt_branch.db/append_table_with_rt_branch/README +++ b/test/test_data/orc/append_table_with_rt_branch.db/append_table_with_rt_branch/README @@ -9,16 +9,16 @@ partition key: dt 4.pk table alter table setOption("primary-key", "dt, name") 5.append table write data -Add: "20240725", "apple", 5 -Add: "20240725", "banana", 7 +Add: "20240725", "apple", 5 +Add: "20240725", "banana", 7 NoCompact snapshot-1 6.pk table write data -Add: "20240725", "apple", 4 -Add: "20240725", "peach", 10 -Add: "20240726", "cherry", 3 -Add: "20240726", "pear", 6 +Add: "20240725", "apple", 4 +Add: "20240725", "peach", 10 +Add: "20240726", "cherry", 3 +Add: "20240726", "pear", 6 NoCompact snapshot-1 diff --git a/test/test_data/orc/append_with_bitmap_alter_table.db/append_with_bitmap_alter_table/README b/test/test_data/orc/append_with_bitmap_alter_table.db/append_with_bitmap_alter_table/README index 67e92a1fc..d26a3be13 100644 --- a/test/test_data/orc/append_with_bitmap_alter_table.db/append_with_bitmap_alter_table/README +++ b/test/test_data/orc/append_with_bitmap_alter_table.db/append_with_bitmap_alter_table/README @@ -22,8 +22,8 @@ NoCompact Alter table SchemaChange.updateColumnType("f1", DataTypes.BIGINT()), -SchemaChange.dropColumn("f2"), -SchemaChange.renameColumn("f0", "f4"), +SchemaChange.dropColumn("f2"), +SchemaChange.renameColumn("f0", "f4"), SchemaChange.updateColumnPosition(SchemaChange.Move.first("f1")), SchemaChange.addColumn("f5", DataTypes.INT()), SchemaChange.setOption("file-index.bitmap.columns", "f1,f4,f5") diff --git a/test/test_data/orc/blob_append_table_alter_table_with_cast_with_data_evolution.db/blob_append_table_alter_table_with_cast_with_data_evolution/README b/test/test_data/orc/blob_append_table_alter_table_with_cast_with_data_evolution.db/blob_append_table_alter_table_with_cast_with_data_evolution/README index ec2374225..d6b75faaf 100644 --- a/test/test_data/orc/blob_append_table_alter_table_with_cast_with_data_evolution.db/blob_append_table_alter_table_with_cast_with_data_evolution/README +++ b/test/test_data/orc/blob_append_table_alter_table_with_cast_with_data_evolution.db/blob_append_table_alter_table_with_cast_with_data_evolution/README @@ -6,7 +6,7 @@ f1:TIMESTAMP(9):3 f2:DECIMAL(5, 2):4 f3:STRING:5 f4:DATE:6 -f5:BIGINT:7 +f5:BIGINT:7 blob:BLOB NOT NULL:8 partition key: key0, key1 bucket count: -1 @@ -32,11 +32,11 @@ NoCompact schema evolution updateColumnType("f0", INT()) -updateColumnType("f1", STRING()) +updateColumnType("f1", STRING()) updateColumnType("f2", DECIMAL(6, 3)) updateColumnType("f3", BOOLEAN()) updateColumnType("f4", TIMESTAMP(9)) -dropColumn("f5") +dropColumn("f5") renameColumn("f0", "f5") renameColumn("f3", "f0") renameColumn("f5", "f3") diff --git a/test/test_data/orc/pk_09.db/pk_09/README b/test/test_data/orc/pk_09.db/pk_09/README index 37f4d8d8f..b65d92b7f 100644 --- a/test/test_data/orc/pk_09.db/pk_09/README +++ b/test/test_data/orc/pk_09.db/pk_09/README @@ -14,7 +14,7 @@ Add: Bob, 10, 0, 12.1 Add: Emily, 10, 0, 13.1 Add: Tony, 10, 0, 14.1 Add: Alex, 10, 0, 16.1 -Add: David, 10, 0, 17.1 +Add: David, 10, 0, 17.1 Add: Lucy, 20, 1, 14.1 Add: Paul, 20, 1, 18.1 diff --git a/test/test_data/orc/pk_table_partial_update.db/pk_table_partial_update/README b/test/test_data/orc/pk_table_partial_update.db/pk_table_partial_update/README index 5e6af40c3..87275bd9c 100644 --- a/test/test_data/orc/pk_table_partial_update.db/pk_table_partial_update/README +++ b/test/test_data/orc/pk_table_partial_update.db/pk_table_partial_update/README @@ -21,10 +21,10 @@ Add(1, 1, null, true, BinaryString.fromString("banana")) snapshot-2 Add(0, 1, 100.0, true, BinaryString.fromString("new_apple")); -Delete(1, 0, 122.0, false, null); +Delete(1, 0, 122.0, false, null); Add(1, 1, 133.3, false, null); Add(2, 1, 144.4, true, BinaryString.fromString("orange")); -Delete(2, 2, 122.0, false, null); +Delete(2, 2, 122.0, false, null); Recall with snapshot2, result: 0, 1, 100.0, true, new_apple diff --git a/test/test_data/orc/pk_table_with_alter_table.db/pk_table_with_alter_table/README b/test/test_data/orc/pk_table_with_alter_table.db/pk_table_with_alter_table/README index 132c32cfe..9c9431a98 100644 --- a/test/test_data/orc/pk_table_with_alter_table.db/pk_table_with_alter_table/README +++ b/test/test_data/orc/pk_table_with_alter_table.db/pk_table_with_alter_table/README @@ -1,4 +1,4 @@ -key0:int:0 key1:int:1 key2:int:2 a:int:3 b:int:4 c:int:5 d:int:6 k:string:7 +key0:int:0 key1:int:1 key2:int:2 a:int:3 b:int:4 c:int:5 d:int:6 k:string:7 partition key: key0, key1 primary key: key0, key1, key2 bucket count: 1 @@ -14,13 +14,13 @@ Add(1, 1, 22, 23, 24, 25, 26, "Bob") Add(1, 1, 32, 33, 34, 35, 36, "Emily") Add(1, 1, 42, 43, 44, 45, 46, "Tony") Add(1, 1, 52, 53, 54, 55, 56, "Alex") -Add(1, 1, 62, 63, 64, 65, 66, "David") +Add(1, 1, 62, 63, 64, 65, 66, "David") Add(1, 1, 72, 73, 74, 75, 76, "Whether I shall turn out to be the hero of my own life.") Add(1, 1, 82, 83, 84, 85, 86, "Lily") snapshot 3-4 DELETE(1, 1, 42, 43, 44, 45, 46, "Tony") -DELETE(1, 1, 82, 83, 84, 85, 86, "Lily") +DELETE(1, 1, 82, 83, 84, 85, 86, "Lily") UPDATE_AFTER(0, 1, 12, 93, 94, 95, 96, "Alice") schema evolution diff --git a/test/test_data/orc/pk_table_with_dv_cardinality.db/pk_table_with_dv_cardinality/README b/test/test_data/orc/pk_table_with_dv_cardinality.db/pk_table_with_dv_cardinality/README index c60c09671..485444ab0 100644 --- a/test/test_data/orc/pk_table_with_dv_cardinality.db/pk_table_with_dv_cardinality/README +++ b/test/test_data/orc/pk_table_with_dv_cardinality.db/pk_table_with_dv_cardinality/README @@ -16,7 +16,7 @@ Add: Bob, 10, 0, 12.1 Add: Emily, 10, 0, 13.1 Add: Tony, 10, 0, 14.1 Add: Alex, 10, 0, 16.1 -Add: David, 10, 0, 17.1 +Add: David, 10, 0, 17.1 Add: Whether I shall turn out to be the hero of my own life., 10, 0, 19.1 Add: Lily, 10, 0, 20.1 diff --git a/test/test_data/parquet/append_table_alter_table_with_cast.db/append_table_alter_table_with_cast/README b/test/test_data/parquet/append_table_alter_table_with_cast.db/append_table_alter_table_with_cast/README index aa0c3bc95..ccc2b7dab 100644 --- a/test/test_data/parquet/append_table_alter_table_with_cast.db/append_table_alter_table_with_cast/README +++ b/test/test_data/parquet/append_table_alter_table_with_cast.db/append_table_alter_table_with_cast/README @@ -6,7 +6,7 @@ f1:TIMESTAMP(9):3 f2:DECIMAL(5, 2):4 f3:STRING:5 f4:DATE:6 -f5:BIGINT:7 +f5:BIGINT:7 partition key: key0, key1 bucket count: -1 @@ -21,14 +21,14 @@ NoCompact schema evolution updateColumnType("f0", INT()) -updateColumnType("f1", STRING()) +updateColumnType("f1", STRING()) updateColumnType("f2", DECIMAL(6, 3)) updateColumnType("f3", BOOLEAN()) updateColumnType("f4", TIMESTAMP(9)) -dropColumn("f5") +dropColumn("f5") renameColumn("f0", "f5") renameColumn("f3", "f0") -renameColumn("f5", "f3") +renameColumn("f5", "f3") updateColumnPosition(SchemaChange.Move.first("f4")) addColumn("f6", INT())) diff --git a/test/test_data/parquet/append_table_alter_table_with_cast_with_data_evolution.db/append_table_alter_table_with_cast_with_data_evolution/README b/test/test_data/parquet/append_table_alter_table_with_cast_with_data_evolution.db/append_table_alter_table_with_cast_with_data_evolution/README index 7d7042ef7..d9c5f7d42 100644 --- a/test/test_data/parquet/append_table_alter_table_with_cast_with_data_evolution.db/append_table_alter_table_with_cast_with_data_evolution/README +++ b/test/test_data/parquet/append_table_alter_table_with_cast_with_data_evolution.db/append_table_alter_table_with_cast_with_data_evolution/README @@ -6,7 +6,7 @@ f1:TIMESTAMP(9):3 f2:DECIMAL(5, 2):4 f3:STRING:5 f4:DATE:6 -f5:BIGINT:7 +f5:BIGINT:7 partition key: key0, key1 bucket count: -1 @@ -14,16 +14,16 @@ Msgs: write "key0", "key1", "f0", "f1", "f2" Add(0, 1, "100", Timestamp(1732603136001l, 1), "0.02") Add(0, 1, "110", Timestamp(1732603136011l, 11), "11.12") -Add(0, 1, "120", Timestamp(1732603136021l, 21), "22.22") +Add(0, 1, "120", Timestamp(1732603136021l, 21), "22.22") Add(0, 1, "130", Timestamp(1732603136031l, 31), "333.32") -Add(0, 1, "140", Timestamp(1732603136041l, 41), "444.42") +Add(0, 1, "140", Timestamp(1732603136041l, 41), "444.42") write "key0", "key1", "f3", "f4", "f5" Add(0, 1, "True", 4, 5l) Add(0, 1, "1", -44, 25l) Add(0, 1, "nO", 444, 35l) Add(0, 1, "0", -4444, 45l) -Add(0, 1, "Yes", 44444, 55l) +Add(0, 1, "Yes", 44444, 55l) set first row id to 0 commit snapshot-1 @@ -31,14 +31,14 @@ NoCompact schema evolution updateColumnType("f0", INT()) -updateColumnType("f1", STRING()) +updateColumnType("f1", STRING()) updateColumnType("f2", DECIMAL(6, 3)) updateColumnType("f3", BOOLEAN()) updateColumnType("f4", TIMESTAMP(9)) -dropColumn("f5") +dropColumn("f5") renameColumn("f0", "f5") renameColumn("f3", "f0") -renameColumn("f5", "f3") +renameColumn("f5", "f3") updateColumnPosition(SchemaChange.Move.first("f4")) addColumn("f6", INT()) @@ -52,11 +52,11 @@ f0:BOOLEAN:5 f6:INT:8 write "f4", "key0", "key1", "f3", "f1" -Add(Timestamp(1732603136054l, 54), 0, 1, 150, "2024-11-26 15:28:31") +Add(Timestamp(1732603136054l, 54), 0, 1, 150, "2024-11-26 15:28:31") Add(Timestamp(1732603136064l, 64), 0, 1, 160, "2024-11-26 15:28:41") Add(Timestamp(1732603136074l, 74), 0, 1, 170, "2024-11-26 15:28:51") Add(Timestamp(1732603136084l, 84), 0, 1, 180, "2024-11-26 15:29:01") -Add(Timestamp(1732603136094l, 94), 0, 1, 190, "I'm strange") +Add(Timestamp(1732603136094l, 94), 0, 1, 190, "I'm strange") set first row id to 5 commit snapshot-2 @@ -67,7 +67,7 @@ Add(Timestamp(1732603136054l, 154), 0, 1, "55.002", true, 56) Add(Timestamp(1732603136064l, 164), 0, 1, "666.012", false, 66) Add(Timestamp(1732603136074l, 174), 0, 1, "-77.022", true, 76) Add(Timestamp(1732603136084l, 184), 0, 1, "8.032", true, -86) -Add(Timestamp(1732603136094l, 194), 0, 1, "-999.420", false, 96) +Add(Timestamp(1732603136094l, 194), 0, 1, "-999.420", false, 96) set first row id to 5 commit snapshot-3 diff --git a/test/test_data/parquet/append_table_with_alter_table.db/append_table_with_alter_table/README b/test/test_data/parquet/append_table_with_alter_table.db/append_table_with_alter_table/README index 8f3ba5203..b391dfd95 100644 --- a/test/test_data/parquet/append_table_with_alter_table.db/append_table_with_alter_table/README +++ b/test/test_data/parquet/append_table_with_alter_table.db/append_table_with_alter_table/README @@ -1,4 +1,4 @@ -key0:int:0 key1:int:1 a:int:2 b:int:3 c:int:4 d:int:5 k:int:6 +key0:int:0 key1:int:1 a:int:2 b:int:3 c:int:4 d:int:5 k:int:6 partition key: key0, key1 bucket count: -1 @@ -9,7 +9,7 @@ Add(0, 1, 22, 23, 24, 25, 26) Add(0, 1, 32, 33, 34, 35, 36) Add(1, 1, 42, 43, 44, 45, 46) -Add(1, 1, 52, 53, 54, 55, 56) +Add(1, 1, 52, 53, 54, 55, 56) NoCompact @@ -26,10 +26,10 @@ key0:int:0 key1:int:1 k:int:6 c:int:3 d:int:7 a:int:5 e:int:8 snapshot-2 Add(0, 1, 66, 63, 517, 65, 618) Add(0, 1, 76, 73, 527, 75, 628) -Add(0, 1, 86, 83, 537, 85, 638) +Add(0, 1, 86, 83, 537, 85, 638) Add(1, 1, 96, 93, 547, 95, 648) -Add(1, 1, 106, 103, 557, 105, 658) +Add(1, 1, 106, 103, 557, 105, 658) NoCompact diff --git a/test/test_data/parquet/append_table_with_rt_branch.db/append_table_with_rt_branch/README b/test/test_data/parquet/append_table_with_rt_branch.db/append_table_with_rt_branch/README index 218307e4c..a61eb9168 100644 --- a/test/test_data/parquet/append_table_with_rt_branch.db/append_table_with_rt_branch/README +++ b/test/test_data/parquet/append_table_with_rt_branch.db/append_table_with_rt_branch/README @@ -9,16 +9,16 @@ partition key: dt 4.pk table alter table setOption("primary-key", "dt, name") 5.append table write data -Add: "20240725", "apple", 5 -Add: "20240725", "banana", 7 +Add: "20240725", "apple", 5 +Add: "20240725", "banana", 7 NoCompact snapshot-1 6.pk table write data -Add: "20240725", "apple", 4 -Add: "20240725", "peach", 10 -Add: "20240726", "cherry", 3 -Add: "20240726", "pear", 6 +Add: "20240725", "apple", 4 +Add: "20240725", "peach", 10 +Add: "20240726", "cherry", 3 +Add: "20240726", "pear", 6 NoCompact snapshot-1 diff --git a/test/test_data/parquet/append_with_bitmap_alter_table.db/append_with_bitmap_alter_table/README b/test/test_data/parquet/append_with_bitmap_alter_table.db/append_with_bitmap_alter_table/README index 67e92a1fc..d26a3be13 100644 --- a/test/test_data/parquet/append_with_bitmap_alter_table.db/append_with_bitmap_alter_table/README +++ b/test/test_data/parquet/append_with_bitmap_alter_table.db/append_with_bitmap_alter_table/README @@ -22,8 +22,8 @@ NoCompact Alter table SchemaChange.updateColumnType("f1", DataTypes.BIGINT()), -SchemaChange.dropColumn("f2"), -SchemaChange.renameColumn("f0", "f4"), +SchemaChange.dropColumn("f2"), +SchemaChange.renameColumn("f0", "f4"), SchemaChange.updateColumnPosition(SchemaChange.Move.first("f1")), SchemaChange.addColumn("f5", DataTypes.INT()), SchemaChange.setOption("file-index.bitmap.columns", "f1,f4,f5") diff --git a/test/test_data/parquet/blob_append_table_alter_table_with_cast_with_data_evolution.db/blob_append_table_alter_table_with_cast_with_data_evolution/README b/test/test_data/parquet/blob_append_table_alter_table_with_cast_with_data_evolution.db/blob_append_table_alter_table_with_cast_with_data_evolution/README index ec2374225..d6b75faaf 100644 --- a/test/test_data/parquet/blob_append_table_alter_table_with_cast_with_data_evolution.db/blob_append_table_alter_table_with_cast_with_data_evolution/README +++ b/test/test_data/parquet/blob_append_table_alter_table_with_cast_with_data_evolution.db/blob_append_table_alter_table_with_cast_with_data_evolution/README @@ -6,7 +6,7 @@ f1:TIMESTAMP(9):3 f2:DECIMAL(5, 2):4 f3:STRING:5 f4:DATE:6 -f5:BIGINT:7 +f5:BIGINT:7 blob:BLOB NOT NULL:8 partition key: key0, key1 bucket count: -1 @@ -32,11 +32,11 @@ NoCompact schema evolution updateColumnType("f0", INT()) -updateColumnType("f1", STRING()) +updateColumnType("f1", STRING()) updateColumnType("f2", DECIMAL(6, 3)) updateColumnType("f3", BOOLEAN()) updateColumnType("f4", TIMESTAMP(9)) -dropColumn("f5") +dropColumn("f5") renameColumn("f0", "f5") renameColumn("f3", "f0") renameColumn("f5", "f3") diff --git a/test/test_data/parquet/pk_table_partial_update.db/pk_table_partial_update/README b/test/test_data/parquet/pk_table_partial_update.db/pk_table_partial_update/README index 5e6af40c3..87275bd9c 100644 --- a/test/test_data/parquet/pk_table_partial_update.db/pk_table_partial_update/README +++ b/test/test_data/parquet/pk_table_partial_update.db/pk_table_partial_update/README @@ -21,10 +21,10 @@ Add(1, 1, null, true, BinaryString.fromString("banana")) snapshot-2 Add(0, 1, 100.0, true, BinaryString.fromString("new_apple")); -Delete(1, 0, 122.0, false, null); +Delete(1, 0, 122.0, false, null); Add(1, 1, 133.3, false, null); Add(2, 1, 144.4, true, BinaryString.fromString("orange")); -Delete(2, 2, 122.0, false, null); +Delete(2, 2, 122.0, false, null); Recall with snapshot2, result: 0, 1, 100.0, true, new_apple diff --git a/test/test_data/parquet/pk_table_with_alter_table.db/pk_table_with_alter_table/README b/test/test_data/parquet/pk_table_with_alter_table.db/pk_table_with_alter_table/README index 132c32cfe..9c9431a98 100644 --- a/test/test_data/parquet/pk_table_with_alter_table.db/pk_table_with_alter_table/README +++ b/test/test_data/parquet/pk_table_with_alter_table.db/pk_table_with_alter_table/README @@ -1,4 +1,4 @@ -key0:int:0 key1:int:1 key2:int:2 a:int:3 b:int:4 c:int:5 d:int:6 k:string:7 +key0:int:0 key1:int:1 key2:int:2 a:int:3 b:int:4 c:int:5 d:int:6 k:string:7 partition key: key0, key1 primary key: key0, key1, key2 bucket count: 1 @@ -14,13 +14,13 @@ Add(1, 1, 22, 23, 24, 25, 26, "Bob") Add(1, 1, 32, 33, 34, 35, 36, "Emily") Add(1, 1, 42, 43, 44, 45, 46, "Tony") Add(1, 1, 52, 53, 54, 55, 56, "Alex") -Add(1, 1, 62, 63, 64, 65, 66, "David") +Add(1, 1, 62, 63, 64, 65, 66, "David") Add(1, 1, 72, 73, 74, 75, 76, "Whether I shall turn out to be the hero of my own life.") Add(1, 1, 82, 83, 84, 85, 86, "Lily") snapshot 3-4 DELETE(1, 1, 42, 43, 44, 45, 46, "Tony") -DELETE(1, 1, 82, 83, 84, 85, 86, "Lily") +DELETE(1, 1, 82, 83, 84, 85, 86, "Lily") UPDATE_AFTER(0, 1, 12, 93, 94, 95, 96, "Alice") schema evolution diff --git a/test/test_data/parquet/pk_table_with_dv_cardinality.db/pk_table_with_dv_cardinality/README b/test/test_data/parquet/pk_table_with_dv_cardinality.db/pk_table_with_dv_cardinality/README index c60c09671..485444ab0 100644 --- a/test/test_data/parquet/pk_table_with_dv_cardinality.db/pk_table_with_dv_cardinality/README +++ b/test/test_data/parquet/pk_table_with_dv_cardinality.db/pk_table_with_dv_cardinality/README @@ -16,7 +16,7 @@ Add: Bob, 10, 0, 12.1 Add: Emily, 10, 0, 13.1 Add: Tony, 10, 0, 14.1 Add: Alex, 10, 0, 16.1 -Add: David, 10, 0, 17.1 +Add: David, 10, 0, 17.1 Add: Whether I shall turn out to be the hero of my own life., 10, 0, 19.1 Add: Lily, 10, 0, 20.1 From a4673ba0ca6d695afccddcb810fb4103e3a2844a Mon Sep 17 00:00:00 2001 From: Zhang Jiawei <30893610+zjw1111@users.noreply.github.com> Date: Thu, 23 Jul 2026 14:01:51 +0800 Subject: [PATCH 2/2] chore: clean up license and notice attribution --- .devcontainer/Dockerfile.template | 2 +- .devcontainer/devcontainer.json.template | 2 +- .github/.rat-excludes | 15 +- .github/ISSUE_TEMPLATE/bug_report.yaml | 3 - .github/ISSUE_TEMPLATE/feature.yaml | 3 - .pre-commit-config.yaml | 2 +- CMakeLists.txt | 3 + LICENSE | 313 ++++++------------ NOTICE | 45 ++- cmake_modules/BuildUtils.cmake | 2 +- cmake_modules/DefineOptions.cmake | 2 +- docs/Makefile | 2 +- docs/make.bat | 2 +- docs/source/_static/theme_overrides.css | 2 +- docs/source/basic_concepts.rst | 2 +- docs/source/conf.py | 2 +- docs/source/user_guide/append_only_table.rst | 2 +- docs/source/user_guide/manifest.rst | 2 +- docs/source/user_guide/primary_key_table.rst | 2 +- docs/source/user_guide/schema.rst | 2 +- docs/source/user_guide/snapshot.rst | 2 +- include/paimon/arrow/abi.h | 2 +- include/paimon/compare.h | 2 +- include/paimon/macros.h | 2 +- include/paimon/status.h | 2 +- licenses/LICENSE-compiler-rt.txt | 41 +++ licenses/LICENSE-cppjieba.txt | 20 ++ licenses/LICENSE-leveldb.txt | 27 ++ licenses/LICENSE-llvm-ncsa.txt | 39 +++ licenses/LICENSE-pytorch.txt | 39 +++ licenses/LICENSE-xxhash.txt | 26 ++ src/paimon/common/metrics/histogram.h | 1 + .../common/metrics/histogram_windowing.h | 1 + src/paimon/common/utils/preconditions.h | 5 +- src/paimon/common/utils/status.cpp | 2 +- src/paimon/common/utils/status_test.cpp | 3 + .../format/avro/avro_direct_decoder.cpp | 2 +- src/paimon/format/avro/avro_direct_decoder.h | 2 +- .../format/avro/avro_direct_encoder.cpp | 2 +- src/paimon/format/avro/avro_direct_encoder.h | 2 +- .../format/avro/avro_input_stream_impl.cpp | 2 +- src/paimon/format/orc/orc_adapter.cpp | 2 +- src/paimon/format/orc/orc_adapter.h | 2 +- .../format/parquet/parquet_schema_util.cpp | 2 +- .../format/parquet/parquet_schema_util.h | 2 +- third_party/download_dependencies.sh | 2 +- third_party/versions.txt | 2 +- 47 files changed, 382 insertions(+), 264 deletions(-) create mode 100644 licenses/LICENSE-compiler-rt.txt create mode 100644 licenses/LICENSE-cppjieba.txt create mode 100644 licenses/LICENSE-leveldb.txt create mode 100644 licenses/LICENSE-llvm-ncsa.txt create mode 100644 licenses/LICENSE-pytorch.txt create mode 100644 licenses/LICENSE-xxhash.txt diff --git a/.devcontainer/Dockerfile.template b/.devcontainer/Dockerfile.template index 0f8acccea..00f1ee15b 100644 --- a/.devcontainer/Dockerfile.template +++ b/.devcontainer/Dockerfile.template @@ -16,7 +16,7 @@ # under the License. # Adapted from Apache Iceberg C++ -# https://github.com/apache/iceberg-cpp/blob/main/.devcontainer/Dockerfile.template +# https://github.com/apache/iceberg-cpp/blob/v0.2.0/.devcontainer/Dockerfile.template # # This Dockerfile is used to build a development container for Paimon C++. # Base: Ubuntu 24.04. Rust toolchain is installed via Dev Container diff --git a/.devcontainer/devcontainer.json.template b/.devcontainer/devcontainer.json.template index 68d8d43b4..f5a6c7424 100644 --- a/.devcontainer/devcontainer.json.template +++ b/.devcontainer/devcontainer.json.template @@ -18,7 +18,7 @@ */ // Adapted from Apache Iceberg C++ -// https://github.com/apache/iceberg-cpp/blob/main/.devcontainer/devcontainer.json.template +// https://github.com/apache/iceberg-cpp/blob/v0.2.0/.devcontainer/devcontainer.json.template // Default Paimon C++ Dev Container. // On Apple Silicon hosts this runs as native aarch64 Linux (fast). diff --git a/.github/.rat-excludes b/.github/.rat-excludes index b1fb2b8cf..c410eb9c1 100644 --- a/.github/.rat-excludes +++ b/.github/.rat-excludes @@ -1,11 +1,18 @@ build/* build-debug/* build-release/* +_build test_data/* -third_party/* -build_support/* -scripts/* -cmake_modules/* +xxhash\.c +xxhash\.h +asan_symbolize\.py +fix_includes\.py +lint_exclusions\.txt +iwyu_tool\.py +arrow\.diff +jieba\.diff +orc\.diff +licenses/* .codespell_ignore .gitignore rat-report.txt diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 10b816ce1..b5af44faf 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -16,9 +16,6 @@ # limitations under the License. ################################################################################ -# Adapted from Apache Paimon -# https://github.com/apache/paimon/blob/master/.github/ISSUE_TEMPLATE/bug-report.yml - name: Bug report description: Problems with the software title: "[Bug] " diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml index c17dcbd42..3da2e3c1e 100644 --- a/.github/ISSUE_TEMPLATE/feature.yaml +++ b/.github/ISSUE_TEMPLATE/feature.yaml @@ -16,9 +16,6 @@ # limitations under the License. ################################################################################ -# Adapted from Apache Paimon -# https://github.com/apache/paimon/blob/master/.github/ISSUE_TEMPLATE/feature.yml - name: Feature description: Add new feature, improve code, and more title: "[Feature] " diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ecc70171d..3aef83995 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,7 +16,7 @@ # under the License. # Adapted from Apache Iceberg C++ -# https://github.com/apache/iceberg-cpp/blob/main/.pre-commit-config.yaml +# https://github.com/apache/iceberg-cpp/blob/v0.2.0/.pre-commit-config.yaml # To use this, install the python package `pre-commit` and # run once `pre-commit install`. This will setup a git pre-commit-hook diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ae7a9ce0..d73e103c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Adapted from Apache Arrow: +# https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/CMakeLists.txt + cmake_minimum_required(VERSION 3.22) # 3.22 is the minimum required by Corrosion-rs (used for the Rust<->C++ FFI # integration, see crates/tantivy_ffi). Ubuntu 24.04 ships CMake 3.28 and diff --git a/LICENSE b/LICENSE index 79afe0122..fc64292e8 100644 --- a/LICENSE +++ b/LICENSE @@ -214,10 +214,82 @@ License: https://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- +This product includes code from Apache Iceberg C++. + +* Dev Container utilities: + * .devcontainer/Dockerfile.template + * .devcontainer/devcontainer.json.template +* CI utilities: + * .pre-commit-config.yaml +* Avro direct decoder/encoder: + * src/paimon/format/avro/avro_direct_decoder.cpp + * src/paimon/format/avro/avro_direct_decoder.h + * src/paimon/format/avro/avro_direct_encoder.cpp + * src/paimon/format/avro/avro_direct_encoder.h +* Avro input stream in src/paimon/format/avro/avro_input_stream_impl.cpp + +Copyright: 2024-2025 The Apache Software Foundation. +Home page: https://iceberg.apache.org/ +License: https://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- + +This product includes code based on Google Guava. + +* Preconditions utility in src/paimon/common/utils/preconditions.h + +Copyright (C) 2007 The Guava Authors +Home page: https://github.com/google/guava +License: https://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- + +This product includes code from LinkedIn PalDB. + +* Variable-length integer utility in src/paimon/common/utils/var_length_int_utils.h + +Copyright: 2015 LinkedIn Corp. All rights reserved. +Home page: https://github.com/linkedin/PalDB +License: https://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- + +This product includes code from RocksDB and LevelDB. + +* endian utility in src/paimon/common/utils/math.h +* uuid utility in src/paimon/common/utils/uuid.h +* Assert utilities in src/paimon/testing/utils/testharness.cpp and src/paimon/testing/utils/testharness.h +* histogram utilities in src/paimon/common/metrics/histogram.cpp and src/paimon/common/metrics/histogram.h (bucket mapping adapted from RocksDB) +* histogram windowing utilities in src/paimon/common/metrics/histogram_windowing.cpp and src/paimon/common/metrics/histogram_windowing.h (inspired by RocksDB) +* status utilities in include/paimon/status.h and src/paimon/common/utils/status.cpp (LevelDB-derived, via Apache Arrow) + +Copyright: 2011-present, Facebook, Inc. All rights reserved. +Copyright: 2011 The LevelDB Authors. All rights reserved. +RocksDB home page: https://rocksdb.org/ +LevelDB home page: https://github.com/google/leveldb +License: Apache License 2.0 and BSD-3-Clause. The LevelDB-derived code is +available under BSD-3-Clause; see licenses/LICENSE-leveldb.txt + +-------------------------------------------------------------------------------- + +This product includes code from LiteRT. + +* UniqueTestDirectory utility in src/paimon/testing/utils/testharness.cpp and src/paimon/testing/utils/testharness.h + +Copyright: 2024 Google LLC. +Home page: https://ai.google.dev/edge/litert +License: https://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- + This product includes code from Apache Arrow. * Core utilities: - * docs utilities in docs/ directory + * documentation utilities: + - docs/Makefile + - docs/make.bat + - docs/source/conf.py + - docs/source/_static/theme_overrides.css * orc adapter in src/paimon/format/orc/orc_adapter.cpp and src/paimon/format/orc/orc_adapter.h * parquet schema convertor in src/paimon/format/parquet/parquet_schema_util.cpp and src/paimon/format/parquet/parquet_schema_util.h * basic utilities in @@ -226,6 +298,7 @@ This product includes code from Apache Arrow. - include/paimon/status.h - include/paimon/string_builder.h - src/paimon/common/utils/status.cpp + - src/paimon/common/utils/status_test.cpp * Arrow C Data Interface in include/paimon/arrow/abi.h * Build support utilities: * build_support/asan-suppressions.txt @@ -242,12 +315,16 @@ This product includes code from Apache Arrow. * build_support/tsan-suppressions.txt * build_support/ubsan-suppressions.txt * Build system modules: + * CMakeLists.txt * cmake_modules/BuildUtils.cmake * cmake_modules/DefineOptions.cmake * cmake_modules/san-config.cmake * cmake_modules/SetupCxxFlags.cmake * cmake_modules/ThirdpartyToolchain.cmake * third_party/download_dependencies.sh + * third_party/versions.txt +* Upstream source patches: + * cmake_modules/arrow.diff Copyright: 2016-2024 The Apache Software Foundation. Home page: https://arrow.apache.org/ @@ -255,71 +332,35 @@ License: https://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- -This product includes code from LLVM compiler-rt. +This product includes code from LLVM compiler-rt, via Apache Arrow. * AddressSanitizer symbolization utility: - * build_support/asan_symbolize.py + * build_support/asan_symbolize.py -Copyright: University of Illinois / LLVM contributors. -License: University of Illinois/NCSA Open Source License. +Copyright: 2009-2012 by the contributors listed in compiler-rt's CREDITS.TXT. +License: University of Illinois/NCSA Open Source License, see +licenses/LICENSE-compiler-rt.txt -------------------------------------------------------------------------------- This product includes code from include-what-you-use. * IWYU driver utility: - * build_support/iwyu/iwyu_tool.py + * build_support/fix_includes.py + * build_support/iwyu/iwyu_tool.py (via Apache Arrow) Copyright: 2003-2010 University of Illinois at Urbana-Champaign. -License: University of Illinois/NCSA Open Source License. - -The University of Illinois/NCSA Open Source License - -Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign. -All rights reserved. - -Developed by: - - LLVM Team - - University of Illinois at Urbana-Champaign - - http://llvm.org - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. +License: University of Illinois/NCSA Open Source License, see +licenses/LICENSE-llvm-ncsa.txt -------------------------------------------------------------------------------- -This product includes code from Apache Kudu / Cloudera build support utilities. +This product includes code from Apache Kudu / Cloudera build support utilities, +via Apache Arrow. * Test and stacktrace utilities: - * build_support/run-test.sh - * build_support/stacktrace_addr2line.pl + * build_support/run-test.sh + * build_support/stacktrace_addr2line.pl Copyright: 2014 Cloudera, Inc. License: https://www.apache.org/licenses/LICENSE-2.0 @@ -328,12 +369,15 @@ License: https://www.apache.org/licenses/LICENSE-2.0 This product includes code from Apache ORC. -* Core utilities: - * basic utilities in - - include/paimon/utils/read_ahead_cache.h - - include/paimon/utils/byte_range_combiner.h - - src/paimon/common/utils/read_ahead_cache.cpp - - src/paimon/common/utils/byte_range_combiner.cpp +* Upstream source patches: + * cmake_modules/orc.diff +* Adapted read-ahead cache: + * include/paimon/utils/read_ahead_cache.h (adapted from Cache.hh) + * src/paimon/common/utils/read_ahead_cache.cpp (adapted from Cache.cc) +* Adapted byte range combiner: + * src/paimon/common/utils/byte_range_combiner.h (adapted from Cache.hh) + * src/paimon/common/utils/byte_range_combiner.cpp (adapted from Cache.cc) + * src/paimon/common/utils/byte_range_combiner_test.cpp (adapted from TestCache.cc) Copyright: 2013 and onwards The Apache Software Foundation. Home page: https://orc.apache.org/ @@ -341,81 +385,6 @@ License: https://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- -This product includes code from Apache Iceberg C++. - -* Dev Container utilities: - * .devcontainer/Dockerfile.template - * .devcontainer/devcontainer.json.template -* CI utilities: - * .pre-commit-config.yaml -* Avro direct decoder/encoder: - * src/paimon/format/avro/avro_direct_decoder.cpp - * src/paimon/format/avro/avro_direct_decoder.h - * src/paimon/format/avro/avro_direct_encoder.cpp - * src/paimon/format/avro/avro_direct_encoder.h -* Avro input stream in src/paimon/format/avro/avro_direct_decoder.cpp - -Copyright: 2024-2025 The Apache Software Foundation. -Home page: https://iceberg.apache.org/ -License: https://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - -This product includes code from RocksDB. - -* endian utility in src/paimon/common/utils/math.h -* uuid utility in src/paimon/common/utils/uuid.h -* Assert utilities in src/paimon/testing/utils/testharness.cpp and src/paimon/testing/utils/testharness.h -* histogram utilities in src/paimon/common/metrics/histogram.cpp and src/paimon/common/metrics/histogram.h (inspired by RocksDB) -* histogram windowing utilities in src/paimon/common/metrics/histogram_windowing.cpp and src/paimon/common/metrics/histogram_windowing.h (inspired by RocksDB) - -Copyright: 2011-present, Facebook, Inc. All rights reserved. -Copyright: 2011 The LevelDB Authors. All rights reserved. -Home page: https://rocksdb.org/ -License: https://www.apache.org/licenses/LICENSE-2.0 and https://opensource.org/license/bsd-3-clause - -This contains code that is from LevelDB, and that code is under the following license: - -Copyright (c) 2011 The LevelDB Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -This product includes code from LiteRT. - -* UniqueTestDirectory utility in src/paimon/testing/utils/testharness.cpp and src/paimon/testing/utils/testharness.h - -Copyright: 2024 Google LLC. -Home page: https://ai.google.dev/edge/litert -License: https://www.apache.org/licenses/LICENSE-2.0 - --------------------------------------------------------------------------------- - This product includes code from xxHash. * MMH_rotl32 utility in src/paimon/common/utils/murmurhash_utils.h @@ -423,32 +392,7 @@ This product includes code from xxHash. Copyright: 2012-2023 Yann Collet Home page: https://www.xxhash.com -License: https://opensource.org/license/bsd-2-clause - -BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +License: BSD-2-Clause, see licenses/LICENSE-xxhash.txt -------------------------------------------------------------------------------- @@ -489,64 +433,25 @@ Samy Bengio, Johnny Mariethoz) All rights reserved. -License: BSD-3-Clause - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the names of Facebook, Deepmind Technologies, NYU, NEC Laboratories -America and IDIAP Research Institute nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +License: BSD-3-Clause, see licenses/LICENSE-pytorch.txt -------------------------------------------------------------------------------- This product includes code from cppjieba. -* cppjieba utility in src/paimon/global_index/lucene/ directory +* cppjieba patch in cmake_modules/jieba.diff Copyright: 2013 Home page: https://github.com/yanyiwu/cppjieba -License: https://opensource.org/licenses/MIT - -The MIT License (MIT) +License: MIT, see licenses/LICENSE-cppjieba.txt -Copyright (c) 2013 +-------------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +This product bundles JindoSDK NextArch C++. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +* JindoSDK NextArch C++ source code in third_party/jindosdk-nextarch/ directory -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright: 2024-present Alibaba Cloud. +License: Apache License 2.0, see third_party/jindosdk-nextarch/LICENSE.txt -------------------------------------------------------------------------------- diff --git a/NOTICE b/NOTICE index 61eb0d373..05ed380b3 100644 --- a/NOTICE +++ b/NOTICE @@ -2,35 +2,48 @@ Paimon C++ Copyright 2024-present Alibaba Inc. This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). +The Apache Software Foundation (https://www.apache.org/). + +-------------------------------------------------------------------------------- Apache Arrow Copyright 2016-2024 The Apache Software Foundation +This product includes software from the LLVM project + * distributed under the University of Illinois Open Source + +This product includes software from the LevelDB project + * Copyright (c) 2011 The LevelDB Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * Moved from Kudu http://github.com/cloudera/kudu + +-------------------------------------------------------------------------------- + Apache Iceberg C++ Copyright 2024-2025 The Apache Software Foundation +-------------------------------------------------------------------------------- + Apache ORC Copyright 2013 and onwards The Apache Software Foundation. -This product includes software from Havenask project (Apache 2.0) -Copyright 2014-present Alibaba Inc. +This product includes software developed by Hewlett-Packard: +(c) Copyright [2014-2015] Hewlett-Packard Development Company, L.P + +-------------------------------------------------------------------------------- -This product includes software from RocksDB project (Apache 2.0 and BSD 3-clause) -Copyright (c) 2011-present, Facebook, Inc. All rights reserved. -Copyright (c) 2011 The LevelDB Authors. All rights reserved. +Apache Kudu +Copyright 2016 The Apache Software Foundation -This product includes software from LiteRT project (Apache 2.0) -Copyright 2024 Google LLC. +Portions of this software were developed at +Cloudera, Inc (http://www.cloudera.com/). -This product includes software from xxHash project (BSD 2-clause) -Copyright (C) 2012-2023 Yann Collet +-------------------------------------------------------------------------------- -This product includes software from CRoaring project (Apache 2.0) -Copyright 2016-2022 The CRoaring authors +PalDB +(c) 2015 LinkedIn Corp. All rights reserved. -This product includes software from LucenePlusPlus project (Apache 2.0) -Copyright 2009-2014 Alan Wright. +-------------------------------------------------------------------------------- -This product includes software from cppjieba project (MIT) -Copyright 2013 +JindoSDK NextArch C++ +Copyright 2024-present Alibaba Cloud. diff --git a/cmake_modules/BuildUtils.cmake b/cmake_modules/BuildUtils.cmake index 7b70ed7f9..0e4f73abf 100644 --- a/cmake_modules/BuildUtils.cmake +++ b/cmake_modules/BuildUtils.cmake @@ -16,7 +16,7 @@ # under the License. # Borrowed the file from Apache Arrow: -# https://github.com/apache/arrow/blob/main/cpp/cmake_modules/BuildUtils.cmake +# https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/cmake_modules/BuildUtils.cmake function(paimon_link_libraries_whole_archive OUT_VAR) set(_paimon_whole_archive_libs) diff --git a/cmake_modules/DefineOptions.cmake b/cmake_modules/DefineOptions.cmake index 7c500415c..4aacc33da 100644 --- a/cmake_modules/DefineOptions.cmake +++ b/cmake_modules/DefineOptions.cmake @@ -16,7 +16,7 @@ # under the License. # Borrowed the file from Apache Arrow: -# https://github.com/apache/arrow/blob/main/cpp/cmake_modules/DefineOptions.cmake +# https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/cmake_modules/DefineOptions.cmake macro(set_option_category name) set(PAIMON_OPTION_CATEGORY ${name}) diff --git a/docs/Makefile b/docs/Makefile index 779537a87..127e76b6a 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -16,7 +16,7 @@ # under the License. # Adapted from Apache Arrow -# https://github.com/apache/arrow/blob/main/docs/Makefile +# https://github.com/apache/arrow/blob/apache-arrow-17.0.0/docs/Makefile # # Makefile for Sphinx documentation diff --git a/docs/make.bat b/docs/make.bat index 187561b4c..d02de9506 100644 --- a/docs/make.bat +++ b/docs/make.bat @@ -16,7 +16,7 @@ @rem under the License. @rem Adapted from Apache Arrow -@rem https://github.com/apache/arrow/blob/main/docs/make.bat +@rem https://github.com/apache/arrow/blob/apache-arrow-17.0.0/docs/make.bat @ECHO OFF diff --git a/docs/source/_static/theme_overrides.css b/docs/source/_static/theme_overrides.css index 7b527060e..ef44a1746 100644 --- a/docs/source/_static/theme_overrides.css +++ b/docs/source/_static/theme_overrides.css @@ -18,7 +18,7 @@ */ /* Adapted from Apache Arrow */ -/* https://github.com/apache/arrow/blob/main/docs/source/_static/theme_overrides.css */ +/* https://github.com/apache/arrow/blob/apache-arrow-17.0.0/docs/source/_static/theme_overrides.css */ /* Customizing with theme CSS variables */ diff --git a/docs/source/basic_concepts.rst b/docs/source/basic_concepts.rst index fdd6cb1c1..eda7ac74b 100644 --- a/docs/source/basic_concepts.rst +++ b/docs/source/basic_concepts.rst @@ -15,7 +15,7 @@ .. specific language governing permissions and limitations .. under the License. -.. Borrowed the file from Apache Paimon: +.. Ported from the Paimon documentation: .. https://github.com/apache/paimon/blob/master/docs/content/concepts/basic-concepts.md Basic Concepts diff --git a/docs/source/conf.py b/docs/source/conf.py index 59e443d67..8067c7b20 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -19,7 +19,7 @@ # # Adapted from Apache Arrow -# https://github.com/apache/arrow/blob/main/docs/source/conf.py +# https://github.com/apache/arrow/blob/apache-arrow-17.0.0/docs/source/conf.py # Configuration file for the Sphinx documentation builder. # diff --git a/docs/source/user_guide/append_only_table.rst b/docs/source/user_guide/append_only_table.rst index 128053f77..e1320ede8 100644 --- a/docs/source/user_guide/append_only_table.rst +++ b/docs/source/user_guide/append_only_table.rst @@ -15,7 +15,7 @@ .. specific language governing permissions and limitations .. under the License. -.. Borrowed the file from Apache Paimon: +.. Ported from the Paimon documentation: .. https://github.com/apache/paimon/blob/master/docs/content/append-table/overview.md Append Only Table diff --git a/docs/source/user_guide/manifest.rst b/docs/source/user_guide/manifest.rst index 9b69ff592..4c1240da1 100644 --- a/docs/source/user_guide/manifest.rst +++ b/docs/source/user_guide/manifest.rst @@ -15,7 +15,7 @@ .. specific language governing permissions and limitations .. under the License. -.. Borrowed the file from Apache Paimon: +.. Ported from the Paimon documentation: .. https://github.com/apache/paimon/blob/master/docs/content/concepts/spec/manifest.md Manifest diff --git a/docs/source/user_guide/primary_key_table.rst b/docs/source/user_guide/primary_key_table.rst index 7a7e25a38..7fc2d613e 100644 --- a/docs/source/user_guide/primary_key_table.rst +++ b/docs/source/user_guide/primary_key_table.rst @@ -15,7 +15,7 @@ .. specific language governing permissions and limitations .. under the License. -.. Borrowed the file from Apache Paimon: +.. Ported from the Paimon documentation: .. https://github.com/apache/paimon/blob/master/docs/content/primary-key-table/overview.md Primary Key Table diff --git a/docs/source/user_guide/schema.rst b/docs/source/user_guide/schema.rst index 6c716afdb..0fe8e7207 100644 --- a/docs/source/user_guide/schema.rst +++ b/docs/source/user_guide/schema.rst @@ -15,7 +15,7 @@ .. specific language governing permissions and limitations .. under the License. -.. Borrowed the file from Apache Paimon: +.. Ported from the Paimon documentation: .. https://github.com/apache/paimon/blob/master/docs/content/concepts/spec/schema.md Schema diff --git a/docs/source/user_guide/snapshot.rst b/docs/source/user_guide/snapshot.rst index a2aa1e769..7d0665ae3 100644 --- a/docs/source/user_guide/snapshot.rst +++ b/docs/source/user_guide/snapshot.rst @@ -15,7 +15,7 @@ .. specific language governing permissions and limitations .. under the License. -.. Borrowed the file from Apache Paimon: +.. Ported from the Paimon documentation: .. https://github.com/apache/paimon/blob/master/docs/content/concepts/spec/snapshot.md Snapshot diff --git a/include/paimon/arrow/abi.h b/include/paimon/arrow/abi.h index 164084211..cfe0b4495 100644 --- a/include/paimon/arrow/abi.h +++ b/include/paimon/arrow/abi.h @@ -16,7 +16,7 @@ // under the License. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/arrow/c/abi.h +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/c/abi.h /// \file abi.h Arrow C Data Interface /// diff --git a/include/paimon/compare.h b/include/paimon/compare.h index 325cef800..324222d7c 100644 --- a/include/paimon/compare.h +++ b/include/paimon/compare.h @@ -16,7 +16,7 @@ // under the License. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/arrow/util/compare.h +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/util/compare.h #pragma once diff --git a/include/paimon/macros.h b/include/paimon/macros.h index e8ad3fdf8..ca1882c49 100755 --- a/include/paimon/macros.h +++ b/include/paimon/macros.h @@ -16,7 +16,7 @@ // under the License. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/arrow/util/macros.h +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/util/macros.h #pragma once diff --git a/include/paimon/status.h b/include/paimon/status.h index c739d91b4..9991a27b1 100644 --- a/include/paimon/status.h +++ b/include/paimon/status.h @@ -19,7 +19,7 @@ // found in the LICENSE file. See the AUTHORS file for names of contributors. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/arrow/status.h +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/status.h // A Status encapsulates the result of an operation. It may indicate success, // or it may indicate an error with an associated error message. diff --git a/licenses/LICENSE-compiler-rt.txt b/licenses/LICENSE-compiler-rt.txt new file mode 100644 index 000000000..775dc4d5e --- /dev/null +++ b/licenses/LICENSE-compiler-rt.txt @@ -0,0 +1,41 @@ +compiler_rt License + +University of Illinois/NCSA Open Source License + +Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT + +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. diff --git a/licenses/LICENSE-cppjieba.txt b/licenses/LICENSE-cppjieba.txt new file mode 100644 index 000000000..6308e939b --- /dev/null +++ b/licenses/LICENSE-cppjieba.txt @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013 + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/licenses/LICENSE-leveldb.txt b/licenses/LICENSE-leveldb.txt new file mode 100644 index 000000000..8e80208cd --- /dev/null +++ b/licenses/LICENSE-leveldb.txt @@ -0,0 +1,27 @@ +Copyright (c) 2011 The LevelDB Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/LICENSE-llvm-ncsa.txt b/licenses/LICENSE-llvm-ncsa.txt new file mode 100644 index 000000000..e233134d4 --- /dev/null +++ b/licenses/LICENSE-llvm-ncsa.txt @@ -0,0 +1,39 @@ +The University of Illinois/NCSA Open Source License + +Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign. +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. diff --git a/licenses/LICENSE-pytorch.txt b/licenses/LICENSE-pytorch.txt new file mode 100644 index 000000000..03d4aee8f --- /dev/null +++ b/licenses/LICENSE-pytorch.txt @@ -0,0 +1,39 @@ +Copyright (c) 2016- Facebook, Inc (Adam Paszke) +Copyright (c) 2014- Facebook, Inc (Soumith Chintala) +Copyright (c) 2011-2014 Idiap Research Institute (Ronan Collobert) +Copyright (c) 2012-2014 Deepmind Technologies (Koray Kavukcuoglu) +Copyright (c) 2011-2012 NEC Laboratories America (Koray Kavukcuoglu) +Copyright (c) 2011-2013 NYU (Clement Farabet) +Copyright (c) 2006-2010 NEC Laboratories America (Ronan Collobert, Leon Bottou, +Iain Melvin, Jason Weston) Copyright (c) 2006 Idiap Research Institute +(Samy Bengio) Copyright (c) 2001-2004 Idiap Research Institute (Ronan Collobert, +Samy Bengio, Johnny Mariethoz) + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the names of Facebook, Deepmind Technologies, NYU, NEC Laboratories +America and IDIAP Research Institute nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/LICENSE-xxhash.txt b/licenses/LICENSE-xxhash.txt new file mode 100644 index 000000000..589d63518 --- /dev/null +++ b/licenses/LICENSE-xxhash.txt @@ -0,0 +1,26 @@ +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Copyright (c) 2012-2023 Yann Collet + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/src/paimon/common/metrics/histogram.h b/src/paimon/common/metrics/histogram.h index 19dcf8342..c1dae1da4 100644 --- a/src/paimon/common/metrics/histogram.h +++ b/src/paimon/common/metrics/histogram.h @@ -43,6 +43,7 @@ class Histogram { // // The bucket boundaries are aligned with RocksDB's HistogramBucketMapper // (rocksdb/monitoring/histogram.cc). +// https://github.com/facebook/rocksdb/blob/main/monitoring/histogram.cc class HistogramImpl : public Histogram { public: HistogramImpl(); diff --git a/src/paimon/common/metrics/histogram_windowing.h b/src/paimon/common/metrics/histogram_windowing.h index 1e52c7ade..8ea37eebc 100644 --- a/src/paimon/common/metrics/histogram_windowing.h +++ b/src/paimon/common/metrics/histogram_windowing.h @@ -29,6 +29,7 @@ namespace paimon { // Window-based histogram implementation. // // Inspired by RocksDB's monitoring/histogram_windowing.h. +// https://github.com/facebook/rocksdb/blob/main/monitoring/histogram_windowing.h // Maintains multiple time windows and aggregates stats across the recent ones. class HistogramWindowingImpl : public Histogram { public: diff --git a/src/paimon/common/utils/preconditions.h b/src/paimon/common/utils/preconditions.h index 837d79d10..486e42c4b 100644 --- a/src/paimon/common/utils/preconditions.h +++ b/src/paimon/common/utils/preconditions.h @@ -28,9 +28,8 @@ namespace paimon { /// A collection of static utility methods to validate input. /// -/// This class is based on Google Guava's Preconditions class, and partly -/// takes code from that class. We add this code to the Paimon code base in order -/// to reduce external dependencies. +/// This class is modelled after Google Guava's Preconditions class and partly +/// takes code from that class to reduce external dependencies. class Preconditions { public: Preconditions() = delete; diff --git a/src/paimon/common/utils/status.cpp b/src/paimon/common/utils/status.cpp index 06e92fafd..2c2f1b2cc 100644 --- a/src/paimon/common/utils/status.cpp +++ b/src/paimon/common/utils/status.cpp @@ -27,7 +27,7 @@ // external synchronization. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/arrow/status.cc +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/status.cc #include "paimon/status.h" diff --git a/src/paimon/common/utils/status_test.cpp b/src/paimon/common/utils/status_test.cpp index 07fada58d..9fffb11d9 100644 --- a/src/paimon/common/utils/status_test.cpp +++ b/src/paimon/common/utils/status_test.cpp @@ -14,6 +14,9 @@ * limitations under the License. */ +// Adapted from Apache Arrow: +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/status_test.cc + #include "paimon/status.h" #include diff --git a/src/paimon/format/avro/avro_direct_decoder.cpp b/src/paimon/format/avro/avro_direct_decoder.cpp index bfcb34dbd..dbc1252a6 100644 --- a/src/paimon/format/avro/avro_direct_decoder.cpp +++ b/src/paimon/format/avro/avro_direct_decoder.cpp @@ -18,7 +18,7 @@ */ // Adapted from Apache Iceberg C++ -// https://github.com/apache/iceberg-cpp/blob/main/src/iceberg/avro/avro_direct_decoder.cc +// https://github.com/apache/iceberg-cpp/blob/v0.2.0/src/iceberg/avro/avro_direct_decoder.cc #include "paimon/format/avro/avro_direct_decoder.h" diff --git a/src/paimon/format/avro/avro_direct_decoder.h b/src/paimon/format/avro/avro_direct_decoder.h index 66576ac87..c507091a7 100644 --- a/src/paimon/format/avro/avro_direct_decoder.h +++ b/src/paimon/format/avro/avro_direct_decoder.h @@ -18,7 +18,7 @@ */ // Adapted from Apache Iceberg C++ -// https://github.com/apache/iceberg-cpp/blob/main/src/iceberg/avro/avro_direct_decoder_internal.h +// https://github.com/apache/iceberg-cpp/blob/v0.2.0/src/iceberg/avro/avro_direct_decoder_internal.h #pragma once diff --git a/src/paimon/format/avro/avro_direct_encoder.cpp b/src/paimon/format/avro/avro_direct_encoder.cpp index 8e81338c7..b371c27f5 100644 --- a/src/paimon/format/avro/avro_direct_encoder.cpp +++ b/src/paimon/format/avro/avro_direct_encoder.cpp @@ -18,7 +18,7 @@ */ // Adapted from Apache Iceberg C++ -// https://github.com/apache/iceberg-cpp/blob/main/src/iceberg/avro/avro_direct_encoder.cc +// https://github.com/apache/iceberg-cpp/blob/v0.2.0/src/iceberg/avro/avro_direct_encoder.cc #include "paimon/format/avro/avro_direct_encoder.h" diff --git a/src/paimon/format/avro/avro_direct_encoder.h b/src/paimon/format/avro/avro_direct_encoder.h index cd2c28a42..646e19e57 100644 --- a/src/paimon/format/avro/avro_direct_encoder.h +++ b/src/paimon/format/avro/avro_direct_encoder.h @@ -18,7 +18,7 @@ */ // Adapted from Apache Iceberg C++ -// https://github.com/apache/iceberg-cpp/blob/main/src/iceberg/avro/avro_direct_encoder_internal.h +// https://github.com/apache/iceberg-cpp/blob/v0.2.0/src/iceberg/avro/avro_direct_encoder_internal.h #pragma once diff --git a/src/paimon/format/avro/avro_input_stream_impl.cpp b/src/paimon/format/avro/avro_input_stream_impl.cpp index f5334cb01..f503d2337 100644 --- a/src/paimon/format/avro/avro_input_stream_impl.cpp +++ b/src/paimon/format/avro/avro_input_stream_impl.cpp @@ -15,7 +15,7 @@ */ // Adapted from Apache Iceberg C++ -// https://github.com/apache/iceberg-cpp/blob/main/src/iceberg/avro/avro_stream_internal.cc +// https://github.com/apache/iceberg-cpp/blob/v0.2.0/src/iceberg/avro/avro_stream_internal.cc #include "paimon/format/avro/avro_input_stream_impl.h" diff --git a/src/paimon/format/orc/orc_adapter.cpp b/src/paimon/format/orc/orc_adapter.cpp index b3c3bdd78..992387d15 100644 --- a/src/paimon/format/orc/orc_adapter.cpp +++ b/src/paimon/format/orc/orc_adapter.cpp @@ -16,7 +16,7 @@ // under the License. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/arrow/adapters/orc/util.cc +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/adapters/orc/util.cc #include "paimon/format/orc/orc_adapter.h" diff --git a/src/paimon/format/orc/orc_adapter.h b/src/paimon/format/orc/orc_adapter.h index 382c6f061..c4ecfb315 100644 --- a/src/paimon/format/orc/orc_adapter.h +++ b/src/paimon/format/orc/orc_adapter.h @@ -16,7 +16,7 @@ // under the License. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/arrow/adapters/orc/util.h +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/arrow/adapters/orc/util.h #pragma once diff --git a/src/paimon/format/parquet/parquet_schema_util.cpp b/src/paimon/format/parquet/parquet_schema_util.cpp index b94f32dbc..fdeb52902 100644 --- a/src/paimon/format/parquet/parquet_schema_util.cpp +++ b/src/paimon/format/parquet/parquet_schema_util.cpp @@ -16,7 +16,7 @@ // under the License. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/parquet/arrow/schema_internal.cc +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/parquet/arrow/schema_internal.cc #include "paimon/format/parquet/parquet_schema_util.h" diff --git a/src/paimon/format/parquet/parquet_schema_util.h b/src/paimon/format/parquet/parquet_schema_util.h index b8eea4e1a..07cff9b40 100644 --- a/src/paimon/format/parquet/parquet_schema_util.h +++ b/src/paimon/format/parquet/parquet_schema_util.h @@ -16,7 +16,7 @@ // under the License. // Adapted from Apache Arrow -// https://github.com/apache/arrow/blob/main/cpp/src/parquet/arrow/schema_internal.h +// https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/src/parquet/arrow/schema_internal.h #pragma once diff --git a/third_party/download_dependencies.sh b/third_party/download_dependencies.sh index 2f68da2b3..99cb87587 100755 --- a/third_party/download_dependencies.sh +++ b/third_party/download_dependencies.sh @@ -18,7 +18,7 @@ # under the License. # Adapted from Apache Arrow -# https://github.com/apache/arrow/blob/main/cpp/thirdparty/download_dependencies.sh +# https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/thirdparty/download_dependencies.sh # This script downloads all the thirdparty dependencies as a series of tarballs # that can be used for offline builds, etc. diff --git a/third_party/versions.txt b/third_party/versions.txt index 81f1c7769..17fa9b3a8 100644 --- a/third_party/versions.txt +++ b/third_party/versions.txt @@ -16,7 +16,7 @@ # under the License. # Adapted from Apache Arrow -# https://github.com/apache/arrow/blob/main/cpp/thirdparty/versions.txt +# https://github.com/apache/arrow/blob/apache-arrow-17.0.0/cpp/thirdparty/versions.txt # Toolchain library versions #