I suppose you're thinking from a memory/performance perspective right?
Allocating a dot character is a lot better than allocating multiple arrays

Yeah I don't see why not -- this could even be a library internal where the
fact that it's dotted is an implementation detail
Then in the Java implementation or whatnot, you can call
".getFullyQualifiedTableName()" which will do the allocating parse to a
List<String> for you, or whatnot

The array was mostly for convenience's sake (our API is JSON and not
particularly performance-oriented)

On Thu, Sep 22, 2022 at 1:40 PM David Li <lidav...@apache.org> wrote:

> Ah, interesting…
>
> A self-recursive schema wouldn't work in Arrow's schema system, so it'd
> have to be the latter solution. Or, would it work to have a dotted name in
> the schema name column? Would parsing that back out (for applications that
> want to work with the full hierarchy) be too much trouble?
>
> On Thu, Sep 22, 2022, at 13:14, Gavin Ray wrote:
> > Antoine, I can't comment on the Go code (not qualified) but to me, the
> > "verification" test
> > examples look like a mixture between JDBC and Java FlightSQL driver
> usage,
> > and seem solid.
> >
> > There was one reservation I had about the ability to handle datasource
> > namespacing that I brought up early on in the proposal discussions
> > (David responded to it but I got busy and forgot to reply again)
> >
> > If you have a datasource which provides possibly arbitrary levels of
> schema
> > namespace (something like Apache Calcite, for example)
> > How do you represent the table/schema names?
> >
> > Suppose I have a service with a DB layout like this:
> >
> > / foo
> >     / bar
> >         / baz
> >             /qux
> >               / table1
> >                 - column1
> >
> > At my dayjob, we have a technology which is very similar to
> > ADBC/FlightSQL
> > (would be great to adopt Substrait + ADBC once they're mature enough)
> > -
> >
> https://github.com/hasura/graphql-engine/blob/master/dc-agents/README.md#data-connectors
> > -
> >
> https://techcrunch.com/2022/06/28/hasura-now-lets-developers-turn-any-data-source-into-a-graphql-api/
> >
> > We wound up having to redesign the specification to handle datasources
> that
> > don't fit the "database-schema-table" or "database-table" mould
> >
> > In the ADBC schema for schema metadata, it looks like it expects a
> > single
> > "schema" struct:
> >
> https://github.com/apache/arrow-adbc/blob/7866a566f5b7b635267bfb7a87ea49b01dfe89fa/java/core/src/main/java/org/apache/arrow/adbc/core/StandardSchemas.java#L132-L152
> >
> > If you want to be flexible, IMO it would be good to either:
> >
> > 1. Have DB_SCHEMA_SCHEMA be self-recursive, so that schemas (with or
> > without tables) can be nested arbitrarily deep underneath each other
> >       - Fully-Qualified-Table-Name (FQTN) can then be computed by walking
> > up from a table and concating the schema name until the root schema is
> > reached
> >
> > 2. Make "catalog" and "schema" go away entirely, and tables just have a
> > FQTN that is an array, a database is a collection of tables
> >      - You can compute what would have been the catalog + schema
> hierarchy
> > by doing a .reduce() over the list of tables and
> >
> > Or maybe there is another, better way. But that's my $0.02 and the only
> > real concern about the API I have, without actually trying to build
> > something with it.
> >
> >
> >
> >
> >
> > On Thu, Sep 22, 2022 at 5:40 AM Antoine Pitrou <anto...@python.org>
> wrote:
> >
> >>
> >> Hello,
> >>
> >> I would urge people to review the proposed ADBC APIs, especially the Go
> >> and Java APIs which probably benefitted from less feedback than the C
> one.
> >>
> >> Regards
> >>
> >> Antoine.
> >>
> >>
> >> Le 21/09/2022 à 17:40, David Li a écrit :
> >> > Hello,
> >> >
> >> > We have been discussing [1] standard interfaces for Arrow-based
> database
> >> access and have been working on implementations of the proposed
> interfaces
> >> [2], all under the name "ADBC". This proposal aims to provide a unified
> >> client abstraction across Arrow-native database protocols (like Flight
> SQL)
> >> and non-Arrow database protocols, which can then be used by Arrow
> projects
> >> like Dataset/Acero and ecosystem projects like Ibis.
> >> >
> >> > For details, see the RFC here:
> >> https://github.com/apache/arrow/pull/14079
> >> >
> >> > I would like to propose that the Arrow project adopt this RFC, along
> >> with apache/arrow-adbc commit 7866a56 [3], as version 1.0.0 of the ADBC
> API
> >> standard.
> >> >
> >> > Please vote to adopt the specification as described above. (This is
> not
> >> a vote to release any components.)
> >> >
> >> > This vote will be open for at least 72 hours.
> >> >
> >> > [ ] +1 Adopt the ADBC specification
> >> > [ ]  0
> >> > [ ] -1 Do not adopt the specification because...
> >> >
> >> > Thanks to the DuckDB and R DBI projects for providing feedback on and
> >> implementations of the proposal.
> >> >
> >> > [1]: https://lists.apache.org/thread/cq7t9s5p7dw4vschylhwsfgqwkr5fmf2
> >> > [2]: https://github.com/apache/arrow-adbc
> >> > [3]:
> >>
> https://github.com/apache/arrow-adbc/commit/7866a566f5b7b635267bfb7a87ea49b01dfe89fa
> >> >
> >> > Thank you,
> >> > David
> >>
>

Reply via email to