ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703084453
##
core/src/main/java/org/apache/iceberg/encryption/StandardEncryptionManager.java:
##
@@ -20,28 +20,46 @@
import java.nio.ByteBuffer;
import java.security.Secu
munendrasn commented on PR #10872:
URL: https://github.com/apache/iceberg/pull/10872#issuecomment-2267372549
@nastra FYI
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703083929
##
core/src/main/java/org/apache/iceberg/encryption/KeyEncryptionKey.java:
##
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703083688
##
core/src/main/java/org/apache/iceberg/encryption/EncryptionUtil.java:
##
@@ -70,31 +76,105 @@ public static KeyManagementClient
createKmsClient(Map catalogPro
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703083458
##
core/src/main/java/org/apache/iceberg/encryption/EncryptionUtil.java:
##
@@ -70,31 +76,105 @@ public static KeyManagementClient
createKmsClient(Map catalogPro
ZENOTME commented on PR #373:
URL: https://github.com/apache/iceberg-rust/pull/373#issuecomment-2267362756
> Hey @ZENOTME! Sure. If you check out my `perf-suite` branch from [my other
PR](https://github.com/apache/iceberg-rust/pull/497), this is branched off main
and can be used to get a ba
ZENOTME commented on code in PR #411:
URL: https://github.com/apache/iceberg-rust/pull/411#discussion_r1703074661
##
crates/iceberg/src/avro/schema.rs:
##
@@ -826,7 +914,117 @@ mod tests {
.unwrap()
};
-check_schema_conversion(avro_schema, ice
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703043635
##
core/src/main/java/org/apache/iceberg/BaseManifestListFile.java:
##
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or m
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703073153
##
core/src/main/java/org/apache/iceberg/BaseManifestListFile.java:
##
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or m
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703072964
##
core/src/main/java/org/apache/iceberg/BaseManifestListFile.java:
##
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or m
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703043635
##
core/src/main/java/org/apache/iceberg/BaseManifestListFile.java:
##
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or m
shanielh commented on PR #10736:
URL: https://github.com/apache/iceberg/pull/10736#issuecomment-2267354955
@RussellSpitzer, @amogh-jahagirdar Any chance to merge this? All checks have
passed and two approvals 😄
--
This is an automated message from the Apache Git Service.
To respond to th
munendrasn opened a new pull request, #10872:
URL: https://github.com/apache/iceberg/pull/10872
When `ResolvingFileIo` is invoked without conf set (which can happen when
catalog or fileIo is explicitly created), it throws NPE.
```
java.lang.NullPointerException
at
org.apa
amogh-jahagirdar commented on issue #10828:
URL: https://github.com/apache/iceberg/issues/10828#issuecomment-2267352623
Thanks for the repro steps, I did some debugging with it and it seems this
has to do with vectorized reads not being supported for nested fields.
https://github.com/apache
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703043635
##
core/src/main/java/org/apache/iceberg/BaseManifestListFile.java:
##
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or m
ggershinsky commented on code in PR #7770:
URL: https://github.com/apache/iceberg/pull/7770#discussion_r1703041928
##
api/src/main/java/org/apache/iceberg/ManifestListFile.java:
##
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more co
dependabot[bot] opened a new pull request, #10870:
URL: https://github.com/apache/iceberg/pull/10870
Bumps [com.azure:azure-sdk-bom](https://github.com/azure/azure-sdk-for-java)
from 1.2.25 to 1.2.26.
Release notes
Sourced from https://github.com/azure/azure-sdk-for-java/releases";
dependabot[bot] opened a new pull request, #10871:
URL: https://github.com/apache/iceberg/pull/10871
Bumps [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) from
3.46.0.0 to 3.46.0.1.
Release notes
Sourced from https://github.com/xerial/sqlite-jdbc/releases";>org.xeri
dependabot[bot] opened a new pull request, #10869:
URL: https://github.com/apache/iceberg/pull/10869
Bumps `nessie` from 0.94.2 to 0.94.4.
Updates `org.projectnessie.nessie:nessie-client` from 0.94.2 to 0.94.4
Updates `org.projectnessie.nessie:nessie-jaxrs-testextension` from 0.94.2
dependabot[bot] opened a new pull request, #10868:
URL: https://github.com/apache/iceberg/pull/10868
Bumps org.apache.commons:commons-compress from 1.26.0 to 1.26.2.
[
from 1.20.0 to 1.20.1.
Release notes
Sourced from https://github.com/testcontainers
dependabot[bot] opened a new pull request, #10864:
URL: https://github.com/apache/iceberg/pull/10864
Bumps
[com.palantir.baseline:gradle-baseline-java](https://github.com/palantir/gradle-baseline)
from 5.58.0 to 5.61.0.
Release notes
Sourced from https://github.com/palantir/gradle
dependabot[bot] opened a new pull request, #10863:
URL: https://github.com/apache/iceberg/pull/10863
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from
9.5.30 to 9.5.31.
Release notes
Sourced from https://github.com/squidfunk/mkdocs-material/releases";>mkdoc
Fokko merged PR #967:
URL: https://github.com/apache/iceberg-python/pull/967
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscr...@iceberg.
Fokko merged PR #990:
URL: https://github.com/apache/iceberg-python/pull/990
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscr...@iceberg.
liurenjie1024 commented on issue #519:
URL: https://github.com/apache/iceberg-rust/issues/519#issuecomment-2267279537
Hi, @fqaiser94 Thanks for raising this, and I'm definitely +1 for this
proposal to avoid duplicate codes!
About the overall design, inspired by your design, I think ma
sl255051 commented on code in PR #10678:
URL: https://github.com/apache/iceberg/pull/10678#discussion_r1702998105
##
api/src/main/java/org/apache/iceberg/PartitionSpec.java:
##
@@ -442,9 +456,10 @@ private Types.NestedField findSourceColumn(String
sourceName) {
Builder ide
sl255051 commented on code in PR #10678:
URL: https://github.com/apache/iceberg/pull/10678#discussion_r1702992594
##
api/src/main/java/org/apache/iceberg/types/TypeUtil.java:
##
@@ -182,11 +181,10 @@ public static Map indexQuotedNameById(
}
public static Map indexByLower
sl255051 commented on code in PR #10678:
URL: https://github.com/apache/iceberg/pull/10678#discussion_r1702994679
##
api/src/main/java/org/apache/iceberg/types/TypeUtil.java:
##
@@ -182,11 +181,10 @@ public static Map indexQuotedNameById(
}
public static Map indexByLower
sl255051 commented on code in PR #10678:
URL: https://github.com/apache/iceberg/pull/10678#discussion_r1702992594
##
api/src/main/java/org/apache/iceberg/types/TypeUtil.java:
##
@@ -182,11 +181,10 @@ public static Map indexQuotedNameById(
}
public static Map indexByLower
sl255051 commented on code in PR #10678:
URL: https://github.com/apache/iceberg/pull/10678#discussion_r1702977668
##
core/src/test/java/org/apache/iceberg/TestPartitionSpecBuilderCaseSensitivity.java:
##
@@ -0,0 +1,697 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF)
sl255051 commented on code in PR #10678:
URL: https://github.com/apache/iceberg/pull/10678#discussion_r1702976107
##
core/src/test/java/org/apache/iceberg/TestPartitionSpecInfo.java:
##
@@ -95,6 +96,30 @@ public void testSpecInfoPartitionedTable() {
.doesNotContainKey(I
FANNG1 commented on PR #10862:
URL: https://github.com/apache/iceberg/pull/10862#issuecomment-2267235372
ci failure is unrelated, see #10599
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the s
ndrluis commented on PR #994:
URL: https://github.com/apache/iceberg-python/pull/994#issuecomment-2267228648
@sungwy Awesome work!
Do you know if these changes could impact the multi-level namespace case? I
believe it would be nice for us to have some integration tests with Polaris. I
github-actions[bot] commented on issue #357:
URL: https://github.com/apache/iceberg-python/issues/357#issuecomment-2267211188
This issue has been automatically marked as stale because it has been open
for 180 days with no activity. It will be closed in next 14 days if no further
activity oc
github-actions[bot] commented on issue #310:
URL: https://github.com/apache/iceberg-python/issues/310#issuecomment-2267211195
This issue has been automatically marked as stale because it has been open
for 180 days with no activity. It will be closed in next 14 days if no further
activity oc
github-actions[bot] closed pull request #3208: Remove duplicate calls
URL: https://github.com/apache/iceberg/pull/3208
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubs
github-actions[bot] commented on issue #3042:
URL: https://github.com/apache/iceberg/issues/3042#issuecomment-2267210405
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] commented on PR #3200:
URL: https://github.com/apache/iceberg/pull/3200#issuecomment-2267210502
This pull request has been closed due to lack of activity. This is not a
judgement on the merit of the PR in any way. It is just a way of keeping the PR
queue manageable. If y
github-actions[bot] closed issue #3088: Can't create partitioned tables with
pyspark DataFrameWriterV2
URL: https://github.com/apache/iceberg/issues/3088
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to g
github-actions[bot] commented on issue #3077:
URL: https://github.com/apache/iceberg/issues/3077#issuecomment-2267210439
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] commented on issue #3088:
URL: https://github.com/apache/iceberg/issues/3088#issuecomment-2267210445
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3063: Documentation of partitioned write has
a wrong order by expression in the example
URL: https://github.com/apache/iceberg/issues/3063
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use
github-actions[bot] commented on issue #3062:
URL: https://github.com/apache/iceberg/issues/3062#issuecomment-2267210424
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] commented on issue #3054:
URL: https://github.com/apache/iceberg/issues/3054#issuecomment-2267210417
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] commented on issue #3055:
URL: https://github.com/apache/iceberg/issues/3055#issuecomment-2267210422
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3054: RemoveOrphanFiles - Does not work /
Error when try to remove orphan files from s3 with glue catalog run from EMR
URL: https://github.com/apache/iceberg/issues/3054
--
This is an automated message from the Apache Git Service.
To respond to the message, p
github-actions[bot] closed issue #3055: Concurrent append hangs in Spark 3
URL: https://github.com/apache/iceberg/issues/3055
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To
github-actions[bot] closed issue #3042: Help needed in migrating parquet file
to iceberg table.
URL: https://github.com/apache/iceberg/issues/3042
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the
github-actions[bot] closed issue #3028: i can't import class which start with
org.apache.iceberg.relocated
URL: https://github.com/apache/iceberg/issues/3028
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above t
github-actions[bot] closed issue #3033:
HiveTableTest#testDropWithoutPurgeLeavesTableData seems to be flaky on CI
URL: https://github.com/apache/iceberg/issues/3033
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL
github-actions[bot] commented on issue #3028:
URL: https://github.com/apache/iceberg/issues/3028#issuecomment-2267210393
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3011: Core: How to store the data of a table
two months ago to oss
URL: https://github.com/apache/iceberg/issues/3011
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go
github-actions[bot] commented on PR #3208:
URL: https://github.com/apache/iceberg/pull/3208#issuecomment-2267210521
This pull request has been closed due to lack of activity. This is not a
judgement on the merit of the PR in any way. It is just a way of keeping the PR
queue manageable. If y
github-actions[bot] closed pull request #3200: CodeStyle: Single blank line
around method in interface
URL: https://github.com/apache/iceberg/pull/3200
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go t
github-actions[bot] commented on issue #3009:
URL: https://github.com/apache/iceberg/issues/3009#issuecomment-2267210370
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3009: How do I realize the upsert of flink
sql through setting, in iceberg 0.12.0
URL: https://github.com/apache/iceberg/issues/3009
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
UR
github-actions[bot] commented on issue #3003:
URL: https://github.com/apache/iceberg/issues/3003#issuecomment-2267210359
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3003: GitHub Actions Run Twice on Initial
Push in Forks
URL: https://github.com/apache/iceberg/issues/3003
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the speci
github-actions[bot] commented on issue #3092:
URL: https://github.com/apache/iceberg/issues/3092#issuecomment-2267210447
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3092: hive shell can not read iceberg table
created by flink sql shell ?
URL: https://github.com/apache/iceberg/issues/3092
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above t
github-actions[bot] commented on issue #3026:
URL: https://github.com/apache/iceberg/issues/3026#issuecomment-2267210386
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3064: `AppendFile` can add duplicated data
files
URL: https://github.com/apache/iceberg/issues/3064
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific com
github-actions[bot] closed issue #3077: Support writing ZSTD compressed ORC data
URL: https://github.com/apache/iceberg/issues/3077
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific commen
github-actions[bot] commented on issue #3064:
URL: https://github.com/apache/iceberg/issues/3064#issuecomment-2267210438
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3062: Report I/O metrics to Spark
URL: https://github.com/apache/iceberg/issues/3062
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubs
github-actions[bot] commented on issue #3063:
URL: https://github.com/apache/iceberg/issues/3063#issuecomment-2267210429
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] commented on issue #3045:
URL: https://github.com/apache/iceberg/issues/3045#issuecomment-2267210410
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3045: Try to unify usage of Locale.ROOT and
Locale.ENGLISH to just one
URL: https://github.com/apache/iceberg/issues/3045
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to
github-actions[bot] commented on issue #3033:
URL: https://github.com/apache/iceberg/issues/3033#issuecomment-2267210401
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3026: Is Iceberg support ranger partition?
URL: https://github.com/apache/iceberg/issues/3026
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
github-actions[bot] commented on issue #3011:
URL: https://github.com/apache/iceberg/issues/3011#issuecomment-2267210377
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #3005: AvroSchemaUtil.buildAvroProjection
produces duplicate "rnull" record schemas for optional fields
URL: https://github.com/apache/iceberg/issues/3005
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to
github-actions[bot] commented on issue #3005:
URL: https://github.com/apache/iceberg/issues/3005#issuecomment-2267210364
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] commented on issue #2993:
URL: https://github.com/apache/iceberg/issues/2993#issuecomment-2267210350
This issue has been closed because it has not received any activity in the
last 14 days since being marked as 'stale'
--
This is an automated message from the Apache Gi
github-actions[bot] closed issue #2993: truncate's width (W) , W (width) Only
supports integer , Why not supported long type
URL: https://github.com/apache/iceberg/issues/2993
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and
sungwy commented on PR #963:
URL: https://github.com/apache/iceberg-python/pull/963#issuecomment-2267201384
I opened up the mail list discussion:
https://lists.apache.org/thread/9zr19hxnbt3hg7lt55t6dfg6otv7zjz2
Unfortunately, there hasn't been a lot of community engagement on the mail
sungwy opened a new pull request, #994:
URL: https://github.com/apache/iceberg-python/pull/994
Today in PyIceberg, we have support for identifier parsing in public APIs
belonging to two different classes:
- Catalog class: load_table, purge_table, drop_table
- Table class: sca
laksh-krishna-sharma commented on PR #991:
URL: https://github.com/apache/iceberg-python/pull/991#issuecomment-2267108327
Sir, is there any new or further update?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL
stevenzwu commented on code in PR #10678:
URL: https://github.com/apache/iceberg/pull/10678#discussion_r1702860252
##
core/src/test/java/org/apache/iceberg/TestPartitionSpecBuilderCaseSensitivity.java:
##
@@ -0,0 +1,697 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF)
Fokko merged PR #993:
URL: https://github.com/apache/iceberg-python/pull/993
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscr...@iceberg.
Fokko merged PR #968:
URL: https://github.com/apache/iceberg-python/pull/968
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscr...@iceberg.
Xuanwo commented on code in PR #503:
URL: https://github.com/apache/iceberg-rust/pull/503#discussion_r1702853428
##
crates/catalog/sql/src/catalog.rs:
##
@@ -0,0 +1,2111 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.
Xuanwo commented on code in PR #503:
URL: https://github.com/apache/iceberg-rust/pull/503#discussion_r1702852669
##
crates/catalog/sql/src/catalog.rs:
##
@@ -0,0 +1,2111 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.
fqaiser94 commented on PR #503:
URL: https://github.com/apache/iceberg-rust/pull/503#issuecomment-2267084086
> Hi @fqaiser94, do you think it would be a good idea to create a new crate
named `catalog_integration_tests` for those tests, so that all catalogs can use
them? I imagine that each
Xuanwo commented on PR #503:
URL: https://github.com/apache/iceberg-rust/pull/503#issuecomment-2267076323
> I recommend you accept each of these suggestions blindly (just click on
the `Commit suggestion` button next to each one).
> These suggestions add ~1500 lines of code defining 59 tes
findepi commented on code in PR #10835:
URL: https://github.com/apache/iceberg/pull/10835#discussion_r1702807638
##
format/spec.md:
##
@@ -241,7 +245,14 @@ Struct evolution requires the following rules for default
values:
Column Projection
-Columns in Iceberg data fil
callum-ryan commented on PR #503:
URL: https://github.com/apache/iceberg-rust/pull/503#issuecomment-2266670947
> Hi @callum-ryan 👋
>
> I can help with reviewing this PR since I recently completed the [Memory
Catalog](https://github.com/apache/iceberg-rust/pull/475) implementation for
Xuanwo commented on PR #518:
URL: https://github.com/apache/iceberg-rust/pull/518#issuecomment-2266649395
Hitting some CI issues on macOS, I'm working on it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL abov
91 matches
Mail list logo