Skip to content

Commit f399ed5

Browse files
committed
WIP
1 parent 2e7d421 commit f399ed5

11 files changed

Lines changed: 19 additions & 13 deletions

docker/bin/trino_configure_and_start.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@ sed -i \
3535

3636
echo "[Trino] Starting server..."
3737
CATALOG_MANAGEMENT=static \
38-
./trino/bin/run.sh >/dev/null 2> >(sed 's/^/[Trino] /')
38+
./trino/bin/run.sh 2>&1 | sed 's/^/[Trino] /'
Binary file not shown.
Binary file not shown.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"format-version":2,"table-uuid":"2412fcf6-bba7-4564-82b7-12a18c0d277c","location":"s3://bemidb-us-west-1--dev/iceberg/postgres/test_table-bemidb-syncing-c35f2feac9664ab380ca3ae7a4fcefe2","last-sequence-number":4,"last-updated-ms":1755616365273,"last-column-id":44,"current-schema-id":0,"schemas":[{"type":"struct","schema-id":0,"fields":[{"id":1,"name":"id","required":false,"type":"int"},{"id":2,"name":"bit_column","required":false,"type":"int"},{"id":3,"name":"bool_column","required":false,"type":"boolean"},{"id":4,"name":"bpchar_column","required":false,"type":"string"},{"id":5,"name":"varchar_column","required":false,"type":"string"},{"id":6,"name":"text_column","required":false,"type":"string"},{"id":7,"name":"int2_column","required":false,"type":"int"},{"id":8,"name":"int4_column","required":false,"type":"int"},{"id":9,"name":"int8_column","required":false,"type":"decimal(20, 0)"},{"id":10,"name":"hugeint_column","required":false,"type":"decimal(20, 0)"},{"id":11,"name":"xid_column","required":false,"type":"long"},{"id":12,"name":"xid8_column","required":false,"type":"decimal(20, 0)"},{"id":13,"name":"float4_column","required":false,"type":"float"},{"id":14,"name":"float8_column","required":false,"type":"double"},{"id":15,"name":"numeric_column","required":false,"type":"decimal(38, 2)"},{"id":16,"name":"numeric_column_without_precision","required":false,"type":"decimal(38, 19)"},{"id":17,"name":"date_column","required":false,"type":"date"},{"id":18,"name":"time_column","required":false,"type":"time"},{"id":19,"name":"timemscolumn","required":false,"type":"time"},{"id":20,"name":"timetz_column","required":false,"type":"time"},{"id":21,"name":"timetz_ms_column","required":false,"type":"time"},{"id":22,"name":"timestamp_column","required":false,"type":"timestamp"},{"id":23,"name":"timestamp_ms_column","required":false,"type":"timestamp"},{"id":24,"name":"timestamptz_column","required":false,"type":"timestamptz"},{"id":25,"name":"timestamptz_ms_column","required":false,"type":"timestamptz"},{"id":26,"name":"uuid_column","required":false,"type":"string"},{"id":27,"name":"bytea_column","required":false,"type":"binary"},{"id":28,"name":"interval_column","required":false,"type":"string"},{"id":29,"name":"point_column","required":false,"type":"string"},{"id":30,"name":"inet_column","required":false,"type":"string"},{"id":31,"name":"json_column","required":false,"type":"string"},{"id":32,"name":"jsonb_column","required":false,"type":"string"},{"id":33,"name":"tsvector_column","required":false,"type":"string"},{"id":34,"name":"xml_column","required":false,"type":"string"},{"id":35,"name":"pg_snapshot_column","required":false,"type":"string"},{"id":36,"name":"array_text_column","required":false,"type":{"type":"list","element-id":41,"element":"string","element-required":false}},{"id":37,"name":"array_int_column","required":false,"type":{"type":"list","element-id":42,"element":"int","element-required":false}},{"id":38,"name":"array_jsonb_column","required":false,"type":{"type":"list","element-id":43,"element":"string","element-required":false}},{"id":39,"name":"array_ltree_column","required":false,"type":{"type":"list","element-id":44,"element":"string","element-required":false}},{"id":40,"name":"user_defined_column","required":false,"type":"string"}]}],"default-spec-id":0,"partition-specs":[{"spec-id":0,"fields":[]}],"last-partition-id":999,"default-sort-order-id":0,"sort-orders":[{"order-id":0,"fields":[]}],"properties":{"write.format.default":"PARQUET","write.parquet.compression-codec":"zstd","commit.retry.num-retries":"4"},"current-snapshot-id":4117982741288853649,"refs":{"main":{"snapshot-id":4117982741288853649,"type":"branch"}},"snapshots":[{"sequence-number":4,"snapshot-id":4117982741288853649,"parent-snapshot-id":4750718983626705147,"timestamp-ms":1755616364353,"summary":{"operation":"replace","manifests-created":"1","manifests-kept":"0","manifests-replaced":"2","entries-processed":"2","changed-partition-count":"0","total-records":"2","total-files-size":"13197","total-data-files":"2","total-delete-files":"0","total-position-deletes":"0","total-equality-deletes":"0","engine-version":"476","engine-name":"trino","iceberg-version":"Apache Iceberg 1.9.1 (commit f40208ae6fb2f33e578c2637d3dea1db18739f31)"},"manifest-list":"s3://bemidb-us-west-1--dev/iceberg/postgres/test_table-bemidb-syncing-c35f2feac9664ab380ca3ae7a4fcefe2/metadata/snap-4117982741288853649-1-ace50a17-644b-4801-98a3-b0491e620eda.avro","schema-id":0}],"statistics":[],"partition-statistics":[],"snapshot-log":[{"timestamp-ms":1755616364353,"snapshot-id":4117982741288853649}],"metadata-log":[{"timestamp-ms":1755616355823,"metadata-file":"s3://bemidb-us-west-1--dev/iceberg/postgres/test_table-bemidb-syncing-c35f2feac9664ab380ca3ae7a4fcefe2/metadata/00000-aa858843-a1b3-430a-83e0-b4a7d77dbbd4.metadata.json"},{"timestamp-ms":1755616358632,"metadata-file":"s3://bemidb-us-west-1--dev/iceberg/postgres/test_table-bemidb-syncing-c35f2feac9664ab380ca3ae7a4fcefe2/metadata/00001-88a52bfd-ce85-4946-b390-c65e0066792c.metadata.json"},{"timestamp-ms":1755616359770,"metadata-file":"s3://bemidb-us-west-1--dev/iceberg/postgres/test_table-bemidb-syncing-c35f2feac9664ab380ca3ae7a4fcefe2/metadata/00002-2908d54d-380e-4b84-a2d5-94477e846177.metadata.json"},{"timestamp-ms":1755616361297,"metadata-file":"s3://bemidb-us-west-1--dev/iceberg/postgres/test_table-bemidb-syncing-c35f2feac9664ab380ca3ae7a4fcefe2/metadata/00003-61f616c1-cb87-4250-ad28-104d83224d3e.metadata.json"},{"timestamp-ms":1755616362704,"metadata-file":"s3://bemidb-us-west-1--dev/iceberg/postgres/test_table-bemidb-syncing-c35f2feac9664ab380ca3ae7a4fcefe2/metadata/00004-ffa0adab-ca4b-4c48-8c2b-2c05f7b39fbb.metadata.json"},{"timestamp-ms":1755616364353,"metadata-file":"s3://bemidb-us-west-1--dev/iceberg/postgres/test_table-bemidb-syncing-c35f2feac9664ab380ca3ae7a4fcefe2/metadata/00005-3401e52a-280a-4807-9147-8014c6f8b0eb.metadata.json"}]}

iceberg-test/metadata/ace50a17-644b-4801-98a3-b0491e620eda-m0.avro

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Obj schema�.{"type":"struct","schema-id":0,"fields":[{"id":1,"name":"id","required":false,"type":"int"},{"id":2,"name":"bit_column","required":false,"type":"int"},{"id":3,"name":"bool_column","required":false,"type":"boolean"},{"id":4,"name":"bpchar_column","required":false,"type":"string"},{"id":5,"name":"varchar_column","required":false,"type":"string"},{"id":6,"name":"text_column","required":false,"type":"string"},{"id":7,"name":"int2_column","required":false,"type":"int"},{"id":8,"name":"int4_column","required":false,"type":"int"},{"id":9,"name":"int8_column","required":false,"type":"decimal(20, 0)"},{"id":10,"name":"hugeint_column","required":false,"type":"decimal(20, 0)"},{"id":11,"name":"xid_column","required":false,"type":"long"},{"id":12,"name":"xid8_column","required":false,"type":"decimal(20, 0)"},{"id":13,"name":"float4_column","required":false,"type":"float"},{"id":14,"name":"float8_column","required":false,"type":"double"},{"id":15,"name":"numeric_column","required":false,"type":"decimal(38, 2)"},{"id":16,"name":"numeric_column_without_precision","required":false,"type":"decimal(38, 19)"},{"id":17,"name":"date_column","required":false,"type":"date"},{"id":18,"name":"time_column","required":false,"type":"time"},{"id":19,"name":"timemscolumn","required":false,"type":"time"},{"id":20,"name":"timetz_column","required":false,"type":"time"},{"id":21,"name":"timetz_ms_column","required":false,"type":"time"},{"id":22,"name":"timestamp_column","required":false,"type":"timestamp"},{"id":23,"name":"timestamp_ms_column","required":false,"type":"timestamp"},{"id":24,"name":"timestamptz_column","required":false,"type":"timestamptz"},{"id":25,"name":"timestamptz_ms_column","required":false,"type":"timestamptz"},{"id":26,"name":"uuid_column","required":false,"type":"string"},{"id":27,"name":"bytea_column","required":false,"type":"binary"},{"id":28,"name":"interval_column","required":false,"type":"string"},{"id":29,"name":"point_column","required":false,"type":"string"},{"id":30,"name":"inet_column","required":false,"type":"string"},{"id":31,"name":"json_column","required":false,"type":"string"},{"id":32,"name":"jsonb_column","required":false,"type":"string"},{"id":33,"name":"tsvector_column","required":false,"type":"string"},{"id":34,"name":"xml_column","required":false,"type":"string"},{"id":35,"name":"pg_snapshot_column","required":false,"type":"string"},{"id":36,"name":"array_text_column","required":false,"type":{"type":"list","element-id":41,"element":"string","element-required":false}},{"id":37,"name":"array_int_column","required":false,"type":{"type":"list","element-id":42,"element":"int","element-required":false}},{"id":38,"name":"array_jsonb_column","required":false,"type":{"type":"list","element-id":43,"element":"string","element-required":false}},{"id":39,"name":"array_ltree_column","required":false,"type":{"type":"list","element-id":44,"element":"string","element-required":false}},{"id":40,"name":"user_defined_column","required":false,"type":"string"}]}avro.schema�8{"type":"record","name":"manifest_entry","fields":[{"name":"status","type":"int","field-id":0},{"name":"snapshot_id","type":["null","long"],"default":null,"field-id":1},{"name":"sequence_number","type":["null","long"],"default":null,"field-id":3},{"name":"file_sequence_number","type":["null","long"],"default":null,"field-id":4},{"name":"data_file","type":{"type":"record","name":"r2","fields":[{"name":"content","type":"int","doc":"Contents of the file: 0=data, 1=position deletes, 2=equality deletes","field-id":134},{"name":"file_path","type":"string","doc":"Location URI with FS scheme","field-id":100},{"name":"file_format","type":"string","doc":"File format name: avro, orc, or parquet","field-id":101},{"name":"partition","type":{"type":"record","name":"r102","fields":[]},"doc":"Partition data tuple, schema based on the partition spec","field-id":102},{"name":"record_count","type":"long","doc":"Number of records in the file","field-id":103},{"name":"file_size_in_bytes","type":"long","doc":"Total file size in bytes","field-id":104},{"name":"column_sizes","type":["null",{"type":"array","items":{"type":"record","name":"k117_v118","fields":[{"name":"key","type":"int","field-id":117},{"name":"value","type":"long","field-id":118}]},"logicalType":"map"}],"doc":"Map of column id to total size on disk","default":null,"field-id":108},{"name":"value_counts","type":["null",{"type":"array","items":{"type":"record","name":"k119_v120","fields":[{"name":"key","type":"int","field-id":119},{"name":"value","type":"long","field-id":120}]},"logicalType":"map"}],"doc":"Map of column id to total count, including null and NaN","default":null,"field-id":109},{"name":"null_value_counts","type":["null",{"type":"array","items":{"type":"record","name":"k121_v122","fields":[{"name":"key","type":"int","field-id":121},{"name":"value","type":"long","field-id":122}]},"logicalType":"map"}],"doc":"Map of column id to null value count","default":null,"field-id":110},{"name":"nan_value_counts","type":["null",{"type":"array","items":{"type":"record","name":"k138_v139","fields":[{"name":"key","type":"int","field-id":138},{"name":"value","type":"long","field-id":139}]},"logicalType":"map"}],"doc":"Map of column id to number of NaN values in the column","default":null,"field-id":137},{"name":"lower_bounds","type":["null",{"type":"array","items":{"type":"record","name":"k126_v127","fields":[{"name":"key","type":"int","field-id":126},{"name":"value","type":"bytes","field-id":127}]},"logicalType":"map"}],"doc":"Map of column id to lower bound","default":null,"field-id":125},{"name":"upper_bounds","type":["null",{"type":"array","items":{"type":"record","name":"k129_v130","fields":[{"name":"key","type":"int","field-id":129},{"name":"value","type":"bytes","field-id":130}]},"logicalType":"map"}],"doc":"Map of column id to upper bound","default":null,"field-id":128},{"name":"key_metadata","type":["null","bytes"],"doc":"Encryption key metadata blob","default":null,"field-id":131},{"name":"split_offsets","type":["null",{"type":"array","items":"long","element-id":133}],"doc":"Splittable offsets","default":null,"field-id":132},{"name":"equality_ids","type":["null",{"type":"array","items":"int","element-id":136}],"doc":"Equality comparison field IDs","default":null,"field-id":135},{"name":"sort_order_id","type":["null","int"],"doc":"Sort order ID","default":null,"field-id":140},{"name":"referenced_data_file","type":["null","string"],"doc":"Fully qualified location (URI with FS scheme) of a data file that all deletes reference","default":null,"field-id":143}]},"field-id":2}]}avro.codecdeflateformat-version2"partition-spec-id0iceberg.schema�.{"type":"struct","schema-id":0,"fields":[{"id":0,"name":"status","required":true,"type":"int"},{"id":1,"name":"snapshot_id","required":false,"type":"long"},{"id":3,"name":"sequence_number","required":false,"type":"long"},{"id":4,"name":"file_sequence_number","required":false,"type":"long"},{"id":2,"name":"data_file","required":true,"type":{"type":"struct","fields":[{"id":134,"name":"content","required":true,"type":"int","doc":"Contents of the file: 0=data, 1=position deletes, 2=equality deletes"},{"id":100,"name":"file_path","required":true,"type":"string","doc":"Location URI with FS scheme"},{"id":101,"name":"file_format","required":true,"type":"string","doc":"File format name: avro, orc, or parquet"},{"id":102,"name":"partition","required":true,"type":{"type":"struct","fields":[]},"doc":"Partition data tuple, schema based on the partition spec"},{"id":103,"name":"record_count","required":true,"type":"long","doc":"Number of records in the file"},{"id":104,"name":"file_size_in_bytes","required":true,"type":"long","doc":"Total file size in bytes"},{"id":108,"name":"column_sizes","required":false,"type":{"type":"map","key-id":117,"key":"int","value-id":118,"value":"long","value-required":true},"doc":"Map of column id to total size on disk"},{"id":109,"name":"value_counts","required":false,"type":{"type":"map","key-id":119,"key":"int","value-id":120,"value":"long","value-required":true},"doc":"Map of column id to total count, including null and NaN"},{"id":110,"name":"null_value_counts","required":false,"type":{"type":"map","key-id":121,"key":"int","value-id":122,"value":"long","value-required":true},"doc":"Map of column id to null value count"},{"id":137,"name":"nan_value_counts","required":false,"type":{"type":"map","key-id":138,"key":"int","value-id":139,"value":"long","value-required":true},"doc":"Map of column id to number of NaN values in the column"},{"id":125,"name":"lower_bounds","required":false,"type":{"type":"map","key-id":126,"key":"int","value-id":127,"value":"binary","value-required":true},"doc":"Map of column id to lower bound"},{"id":128,"name":"upper_bounds","required":false,"type":{"type":"map","key-id":129,"key":"int","value-id":130,"value":"binary","value-required":true},"doc":"Map of column id to upper bound"},{"id":131,"name":"key_metadata","required":false,"type":"binary","doc":"Encryption key metadata blob"},{"id":132,"name":"split_offsets","required":false,"type":{"type":"list","element-id":133,"element":"long","element-required":true},"doc":"Splittable offsets"},{"id":135,"name":"equality_ids","required":false,"type":{"type":"list","element-id":136,"element":"int","element-required":true},"doc":"Equality comparison field IDs"},{"id":140,"name":"sort_order_id","required":false,"type":"int","doc":"Sort order ID"},{"id":143,"name":"referenced_data_file","required":false,"type":"string","doc":"Fully qualified location (URI with FS scheme) of a data file that all deletes reference"}]}}]}partition-spec[]contentdata����@�3%e���l�gk���k#U��#�1�B��1�6[2��df: !>C�9hC E�v'�7m�mb�vS��EAWO˞<,�(��<,(]��
2+
E��Ⱥ����e�C|��U,�=�����}gx�����ǟܾs�ƧG��w��+d�-���nI;}��$E��t7�����e���`�G��[\حM*Mw������5����R���f�r���9�.ښ�P��ٶ=����격�W]Qsƪ�"�J�-Ցd�ըm�%W�s�fP]��
3+
�\U�5�ѕ���t��k;t������3<<��|5�o�A+Tj�z��b�xm�J4ij�ڬ5g��+me,�R-�g�5���\�Li�\��or��\u�z��m�͋��+��� ���1��1�Q�ag0�"&q�0� �� ʨ���X�"��`+Xe6u���-�Ɩ�?�� �@�0D
4+
1�� $@�$���`ҐT��
5+
P�(C�`AЄe�!�������V�Y�{�Ю�� ?��A��h4: �ID����'}o��
6+
� ��0L�Gq���jdF�I��O<J��7o����{w��|x��O=0+��ǡ�;' /MTJ �_=bjA~1Qi�\=��c~�Ï&Jȏ���S�0�~�4Q7�E��t�v%M3b+C�4t�a�k&TS6TYW���� "ӓ'�bTY�J^�(���3JI�O�J��1�ko���y�ϙtY���[����"ΏOl�"{�ΠTt�76�%6W�(f�(x�N5:����s���A���&A:��ԉ$��[�w����O7�w��:��0)���)�Sg﷩�9�-im;'�U�-���S��b�R�厚��\-@�5F9�(G�$F��#�Ȕrģ1�I
7+
�HJ�<W&R%�/5��K�K�%߰�M\� ���z|CƷ��o���|C�o�����"��g��5�f�<wa4
8+
� �~g\K��O�俾�f��W WN}���Wp���N+��ۯ��*�Z7��X=��ޯ�?����@�3%e���l�gk
Binary file not shown.

scripts/build-docker.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,5 @@ if [ -z "$VERSION" ]; then
66
exit 1
77
fi
88

9-
echo "Building bemidb version $VERSION for linux/amd64"
10-
docker buildx build --build-arg PLATFORM=linux/amd64 -t ghcr.io/bemihq/bemidb:$VERSION-amd64 .
11-
129
echo "Building bemidb version $VERSION for linux/arm64"
1310
docker buildx build --build-arg PLATFORM=linux/arm64 -t ghcr.io/bemihq/bemidb:$VERSION-arm64 .

src/server/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
)
99

1010
const (
11-
VERSION = "1.0.0-beta.1"
11+
VERSION = "trino"
1212

1313
ENV_PORT = "BEMIDB_PORT"
1414
ENV_DATABASE = "BEMIDB_DATABASE"

src/syncer-common/base_config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package common
22

33
const (
4-
VERSION = "1.0.0-beta.1"
4+
VERSION = "trino"
55

66
ENV_LOG_LEVEL = "BEMIDB_LOG_LEVEL"
77
ENV_DISABLE_ANONYMOUS_ANALYTICS = "BEMIDB_DISABLE_ANONYMOUS_ANALYTICS"

src/syncer-common/trino.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,13 @@ func (trino *Trino) QueryRowContext(ctx context.Context, query string, args ...i
6161
func (trino *Trino) CompactTable(quotedTrinoTablePath string) {
6262
ctx := context.Background()
6363

64-
_, err := trino.ExecContext(ctx, "ALTER TABLE "+quotedTrinoTablePath+" EXECUTE optimize")
65-
PanicIfError(trino.Config, err)
66-
67-
_, err = trino.ExecContext(ctx, "ALTER TABLE "+quotedTrinoTablePath+" EXECUTE remove_orphan_files(retention_threshold => '0m')")
68-
PanicIfError(trino.Config, err)
64+
// _, err := trino.ExecContext(ctx, "ALTER TABLE "+quotedTrinoTablePath+" EXECUTE optimize")
65+
// PanicIfError(trino.Config, err)
66+
//
67+
// _, err = trino.ExecContext(ctx, "ALTER TABLE "+quotedTrinoTablePath+" EXECUTE remove_orphan_files(retention_threshold => '0m')")
68+
// PanicIfError(trino.Config, err)
6969

70-
_, err = trino.ExecContext(ctx, "ALTER TABLE "+quotedTrinoTablePath+" EXECUTE optimize_manifests")
70+
_, err := trino.ExecContext(ctx, "ALTER TABLE "+quotedTrinoTablePath+" EXECUTE optimize_manifests")
7171
PanicIfError(trino.Config, err)
7272

7373
_, err = trino.ExecContext(ctx, "ALTER TABLE "+quotedTrinoTablePath+" EXECUTE expire_snapshots(retention_threshold => '0m')")

0 commit comments

Comments
 (0)