Hi Martijn,

Thanks for the questions.

Current support. SedonaFlink exposes Geography through RAW with a
dedicated serializer and serializer snapshot. I verified that a
Geography-containing compiled plan can be serialized, reloaded, and
executed on Flink 1.19 with Sedona loaded. SQL Gateway supports
executing our functions and returning scalar outputs such as
ST_AsText, while direct RAW result serialization and native
Iceberg/Parquet geography mappings remain gaps.

Semantics and ownership. I’m open to either Sedona or Calcite
implementing the shared spatial type and SerDe. We should jointly
define CRS/SRID handling, spherical-edge semantics, validation, and
equality, involving Sedona contributors.

Integration path. We plan to change our internal SerDe format and
adopt a unified SRID-prefixed WKB SerDe format, which could benefit
Spark and Iceberg integration. I would prefer Flink to adopt a similar
implementation rather than develop a brand new spatial type and
serialization implementation. We could explore retaining RAW with
Sedona-maintained adapters, or integrating a Calcite-provided type and
SerDe. Either path would still require explicit Flink runtime and
connector mappings, with generic extension hooks where needed.

Thanks,
Jia

On Mon, Oct 26, 2026 at 3:49 AM Martijn Visser <[email protected]> wrote:
>
> Hi Jia,
>
> Thanks for joining the discussion. That's a fair point: Sedona came up
> several times in this thread, including how it might consume the proposed
> type, and involving the Sedona community directly would have been the right
> call. Glad you're here now.
>
> Your input would be valuable in three areas:
>
> 1. SedonaFlink's current Geography support. The FLIP describes Sedona as
> geometry-first and based on a RAW type that doesn't survive compiled plans,
> the SQL Gateway protocol, or connector schema mapping, and uses that as a
> key reason for adding a core type. Since that no longer seems accurate,
> could you share how Geography is represented in SedonaFlink today? In
> particular: is it still a RAW type, and can it be mapped from an Iceberg v3
> or Parquet geography column without the connector depending on Sedona? That
> answer matters a lot for the case for a native type in Flink.
>
> 2. Semantics. Following the discussion above, the direction is to define
> GEOGRAPHY in Calcite first and then bring it into Flink. Having Sedona
> involved there would help keep the semantics aligned with Iceberg v3 and
> SedonaFlink. There are certain choices being proposed in the FLIP where I
> think feedback would be valuable.
>
> 3. Scope. My understanding of the FLIP is that Flink would own the type and
> its interoperability (serialization, state, connectors/formats such as
> Iceberg and Parquet) with only constructor and conversion functions, while
> richer geospatial computation stays in projects like Sedona. Would
> SedonaFlink be able to build on a native Flink GEOGRAPHY type, and do you
> see parts of the proposal that would duplicate or conflict with what Sedona
> provides?
>
> @David, perhaps it makes sense to include Jia and the Sedona dev list when
> you start the Calcite discussion?
>
> Best regards,
>
> Martijn
>
> Op ma 26 okt 2026 om 05:34 schreef Jia Yu <[email protected]>:
>
> > Hi all,
> >
> > This is Jia Yu, the PMC chair of Apache Sedona. Thanks for mentioning
> > Sedona in this thread and the proposal. The Sedona community is the main
> > driving force that puts Geometry and Geography types into the Iceberg v3
> > spec.
> >
> > It is surprising to me that nobody in the Flink community ever reached out
> > to the Sedona community despise the comprehensive Flink support that Sedona
> > provides.
> >
> > BTW, Sedona is no longer a Geometry first system and we do have strong
> > Geography type and functions support in SedonaFlink. And it works with
> > Flink SQL Gateway.
> > https://sedona.apache.org/latest/api/flink/Geography-Functions/
> >
> > Thanks,
> > Jia
> >
> > On 2026/10/23 08:39:11 Maximilian Michels wrote:
> > > Hi David,
> > >
> > > Thank you for your patience. We would greatly value the support of
> > GEOGRAPHY!
> > >
> > > The usual process is:
> > >
> > > 1. File a JIRA issue for CALCITE:
> > https://issues.apache.org/jira/browse/CALCITE
> > > 2. Start a thread on the Calcite dev mailing list.
> > > 3. If there are no objections, raise the PR.
> > > 4. Once merged, copy over the relevant Calcite files into the Flink PR.
> > >
> > > As for the reviewers, the mailing list thread may help. We can also
> > > contact authors or reviewers of the existing Geometry implementation.
> > > If anybody else has a point of contact, please drop the name here.
> > >
> > > Cheers,
> > > Max
> > >
> > > On Tue, Oct 13, 2026 at 7:58 PM David Chaava via dev
> > > <[email protected]> wrote:
> > > >
> > > > Hi everyone,
> > > >
> > > > Following up on the Calcite contribution discussed above. We would
> > > > appreciate any guidance on the appropriate discussion and review path,
> > > > including whom it would be useful to involve.
> > > >
> > > > Best regards,
> > > > David
> > > >
> > > > On Tue, Oct 6, 2026 at 4:20 PM David Chaava <[email protected]>
> > wrote:
> > > >
> > > > > Hi Sergey,
> > > > >
> > > > > Thanks for explaining the longer-term concern. Adding GEOGRAPHY to
> > Calcite
> > > > > first should help avoid Flink-specific planner handling and make
> > future
> > > > > Calcite upgrades easier. We’re ready to prepare a Calcite
> > contribution and
> > > > > then bring the necessary changes into Flink.
> > > > >
> > > > > Could we count on your help with early technical feedback and review
> > on
> > > > > the Calcite side, and with bringing in other reviewers as needed?
> > > > >
> > > > > Thanks,
> > > > > David
> > > > >
> > > > > On Fri, Oct 2, 2026 at 10:35 PM Sergey Nuyanzin <[email protected]
> > >
> > > > > wrote:
> > > > >
> > > > >> Hi David
> > > > >>
> > > > >> I think implementation in Calcite including approval/merging should
> > be
> > > > >> fine (please raise in case of objections).
> > > > >> In this case the required changes might be copied as is to Flink.
> > > > >> And will be dropped together with Calcite upgrade.
> > > > >> If there is changes no changes in Flink's Calcite classes not
> > > > >> presented in Calcite it should be fine
> > > > >>
> > > > >> On Wed, Sep 30, 2026 at 10:48 AM David Chaava via dev
> > > > >> <[email protected]> wrote:
> > > > >> >
> > > > >> > Hi Max, Sergey, Dylan,
> > > > >> >
> > > > >> > Thank you for the thoughtful feedback.
> > > > >> >
> > > > >> > I understand the concern Sergey raised about long-term
> > Flink-specific
> > > > >> > planner handling, particularly in light of the BITMAP example. I
> > also
> > > > >> agree
> > > > >> > with Dylan that discussing GEOGRAPHY semantics with the Calcite
> > > > >> community
> > > > >> > early would help avoid divergence. Max’s question about how a
> > future
> > > > >> > transition to a Calcite type would work is important for the FLIP.
> > > > >> >
> > > > >> > Would you consider this sequence acceptable: first discuss and
> > document
> > > > >> > GEOGRAPHY semantics with the Calcite community; then, if the
> > Flink FLIP
> > > > >> > reaches consensus and the PR passes review, allow the core Flink
> > > > >> GEOGRAPHY
> > > > >> > type to be merged without waiting for a Calcite implementation or
> > > > >> release?
> > > > >> > Calcite implementation and any subsequent Flink migration would be
> > > > >> > discussed separately.
> > > > >> >
> > > > >> > If you would not consider that sequence safe, what specific
> > Calcite
> > > > >> > milestone would you see as a prerequisite for merging the Flink
> > PR? What
> > > > >> > compatibility requirements should we address in the FLIP?
> > > > >> >
> > > > >> > Thanks,
> > > > >> > David
> > > > >> >
> > > > >> > On Tue, Sep 29, 2026 at 9:25 AM dylanhz <[email protected]> wrote:
> > > > >> >
> > > > >> > > +1 for discussing with Calcite first.
> > > > >> > >
> > > > >> > > Whether each project adopts the type is a separate decision, but
> > > > >> > > discussing the semantics early should make any future switch to
> > native
> > > > >> > > Calcite support easier.
> > > > >> > >
> > > > >> > > New types touch many parts of the system, and fixes will be
> > needed
> > > > >> over
> > > > >> > > time. RAW has been in Flink for years and still has a similar
> > > > >> problem. I
> > > > >> > > also found another issue involving UNION and nullability.
> > > > >> > >
> > > > >> > > I'd suggest putting together a guide for adding new types: what
> > to
> > > > >> check,
> > > > >> > > which SQL cases to test, and what pitfalls we've already found.
> > We
> > > > >> can keep
> > > > >> > > updating it as more issues come up. This would help with both
> > > > >> > > Calcite-native and Flink-specific types.
> > > > >> > >
> > > > >> > > ----------
> > > > >> > > Best regards,
> > > > >> > > dylanhz
> > > > >> > >
> > > > >> > >
> > > > >> > >
> > > > >> > >
> > > > >> > > > 2026年9月29日 04:55,Sergey Nuyanzin <[email protected]> 写道:
> > > > >> > > >
> > > > >> > > > The problem of skipping Calcite for now will bite later
> > > > >> > > >
> > > > >> > > > Earlier there was mentioned BitMap type
> > > > >> > > > And now it appears that we need to hack Calcite classes to
> > support
> > > > >> edge
> > > > >> > > cases
> > > > >> > > > for instance [1].
> > > > >> > > > To be honest I'd like to avoid this with other types
> > > > >> > > >
> > > > >> > > > [1] https://issues.apache.org/jira/browse/FLINK-40839
> > > > >> > > >
> > > > >> > > > On Mon, Sep 28, 2026 at 3:41 PM Maximilian Michels <
> > [email protected]>
> > > > >> > > wrote:
> > > > >> > > >>
> > > > >> > > >> Thanks for looking into adding GEOGRAPHY support! I think it
> > comes
> > > > >> > > >> down to how hard it would be to swap the built-in GEOGRAPHY
> > with a
> > > > >> > > >> future Calcite GEOGRAPHY. If we keep the implementation
> > around
> > > > >> > > >> GEOMETRY slim and only add basic functions, it may be
> > feasible to
> > > > >> skip
> > > > >> > > >> Calcite for now. Modeling GEOGRAPHY as defined in the
> > Iceberg table
> > > > >> > > >> spec looks like a pretty safe bet.
> > > > >> > > >>
> > > > >> > > >> -Max
> > > > >> > > >>
> > > > >> > > >> On Wed, Sep 23, 2026 at 2:41 PM David Chaava via dev
> > > > >> > > >> <[email protected]> wrote:
> > > > >> > > >>>
> > > > >> > > >>> Hi everyone,
> > > > >> > > >>>
> > > > >> > > >>>
> > > > >> > > >>> Just bringing the GEOGRAPHY FLIP back to the list in case
> > it got
> > > > >> > > buried.
> > > > >> > > >>> The discussion has been quiet for a while, and we’d still
> > > > >> appreciate
> > > > >> > > the
> > > > >> > > >>> community’s feedback on the proposal and the open
> > > > >> implementation-path
> > > > >> > > >>> question.
> > > > >> > > >>>
> > > > >> > > >>>
> > > > >> > > >>> If you have a chance, please share your thoughts on the
> > proposal.
> > > > >> Any
> > > > >> > > >>> feedback on what we should address to move the discussion
> > forward
> > > > >> > > would be
> > > > >> > > >>> very helpful.
> > > > >> > > >>>
> > > > >> > > >>>
> > > > >> > > >>> Thanks,
> > > > >> > > >>> David
> > > > >> > > >>>
> > > > >> > > >>> On Fri, Jul 17, 2026 at 8:03 PM David Chaava <
> > > > >> [email protected]>
> > > > >> > > >>> wrote:
> > > > >> > > >>>
> > > > >> > > >>>> Hi everyone,
> > > > >> > > >>>>
> > > > >> > > >>>> We would like to ask for help moving the Geography type
> > support
> > > > >> FLIP
> > > > >> > > >>>> forward.
> > > > >> > > >>>>
> > > > >> > > >>>> The discussion has been open for some time, and we have now
> > > > >> prepared
> > > > >> > > the
> > > > >> > > >>>> first PR for the core GEOGRAPHY logical type support so the
> > > > >> proposal
> > > > >> > > can be
> > > > >> > > >>>> reviewed against concrete implementation work [1].
> > > > >> > > >>>>
> > > > >> > > >>>> This PR focuses on the base logical type support and
> > wiring,
> > > > >> while
> > > > >> > > keeping
> > > > >> > > >>>> unrelated dependency and format-specific changes separate
> > to
> > > > >> make the
> > > > >> > > >>>> review easier.
> > > > >> > > >>>>
> > > > >> > > >>>> Best regards,
> > > > >> > > >>>> David
> > > > >> > > >>>>
> > > > >> > > >>>> [1] https://github.com/apache/flink/pull/28740
> > > > >> > > >>>>
> > > > >> > > >
> > > > >> > > >
> > > > >> > > >
> > > > >> > > > --
> > > > >> > > > Best regards,
> > > > >> > > > Sergey
> > > > >> > >
> > > > >> > >
> > > > >>
> > > > >>
> > > > >>
> > > > >> --
> > > > >> Best regards,
> > > > >> Sergey
> > > > >>
> > > > >
> > >
> >

Reply via email to