Giter Club home page Giter Club logo

Comments (9)

fmarczin avatar fmarczin commented on June 18, 2024

+1

from sqlalchemy-exasol.

jank avatar jank commented on June 18, 2024

The implementation of the mysql dialect might give some hints on how to achieve this:
https://github.com/zzzeek/sqlalchemy/blob/c3d898e8d06c7e549bb273fc8654f5d24fab2204/lib/sqlalchemy/dialects/mysql/base.py#L1887

Looks like table constraints are the way to go: http://docs.sqlalchemy.org/en/rel_0_9/core/constraints.html

from sqlalchemy-exasol.

jank avatar jank commented on June 18, 2024

DISTRIBUTE BY (D_B) according to EXASOL spec allowed in:

ALTER TABLE <name> DISTRIBUTE BY col 
CREATE TABLE <name> ( col_specs, DISTRIBUTE BY a,b )

Implementation is ready when:

  • D_B spec can be added via create table or alter table
  • D_B spec is correctly reflected into table meta data when inspecting tables via SQLA

from sqlalchemy-exasol.

jank avatar jank commented on June 18, 2024

Implementation idea:

from sqlalchemy-exasol.

jank avatar jank commented on June 18, 2024

The branch distribute_by contains a basic version that renders DISTRIBUTE BY as table constraint. As part of that implementation, the generation of FOREIGN KEY was redone as it was a bit awkward (copy & paste of super class implementation of create_table_contraints).

Missing is:

  • Support ALTER TABLE for DistributeByConstraints via AddConstraint and DropConstraint. Requires test case and implementation.

from sqlalchemy-exasol.

jank avatar jank commented on June 18, 2024

I had another look at making Table reflection recreate DistributeByConstraints. The way to go seems to be via dialect specific table options (as done for the mysql Dialect). However, this looks like wading through quite some SQLA framework code. I am not signing up for this right now. @fmarczin: are you willing to explore?
Otherwise, if the ALTER TABLE stuff is implemented we could merge into master.

from sqlalchemy-exasol.

jank avatar jank commented on June 18, 2024

all done

from sqlalchemy-exasol.

fmarczin avatar fmarczin commented on June 18, 2024

@BY-jk You're fast!! 😮
Awesome!!

from sqlalchemy-exasol.

jank avatar jank commented on June 18, 2024

Released with 0.9.1

from sqlalchemy-exasol.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.