Comments (5)
Oh shoot--it should be removed. Let me see if I push anything else today that I can get a CI run in with the removal.
from materialize.
Spent a good bit of time thinking about this with the upcoming work of turning Kafka sources' outputs into TABLE
s.
In the case of Kafka, the options on the source affect the RelationDesc
of its single output, but it would be really obnoxious to envision a world in which all of the source options (envelopes, encoding, etc) move into CREATE TABLE
.
Using this same logic,then, options such as TEXT COLUMNS
and IGNORE COLUMNS
are the PG and MySQL version of encoding and more rightly belong on the source itself.
One way that I'm thinking about this is that a source should have a "catalog" of outputs available for subsources/ingestion exports/read-only tables to "pull from" and the ingestion export simply needs to be told what the RelationDesc
of that output collection is. The ingestion export should not be able to arrive with its own desires about the shape of the output––that gets into the realm where subsources become a kind of second-class materialized view.
This is also "great news," because the MySQL source bakes in the TEXT COLUMNS
, IGNORE COLUMNS
values into the definition of the tables it stores. If we wanted to move these encoding options onto the ingestion exports themselves, we might want to consider storing the native representation of the MySQL tables. This would be a lot of annoying work with very little yield that I think everyone will be happy to side step.
from materialize.
@benesch mentions on Slack that this is work we will likely want to do eventually. My question and conclusion here was one with more immediacy––i.e. I don't plan to do this work and wouldn't urge someone else to begin doing it immediately.
from materialize.
@sploiselle: We still have a TODO referencing this issue; how shall we proceed with it? (The "detect closed issues" step in CI complains.)
from materialize.
Reopening since there is still an open TODO regarding this issue: https://buildkite.com/materialize/nightly/builds/7664#018f504b-cbec-4f26-8755-7d73d4b303c2
from materialize.
Related Issues (20)
- storage: implement lightweight "suspendable scopes"
- storage: yield periodically in source operators
- storage: serialize rewinds and real data in pg/mysql sources
- storage: ensure tokio-postgres doesn't buffer replication data
- storage/persist: support multiple configurations of `BatchBuilder` HOT 7
- release: v0.100.1 required reviews HOT 2
- Antichain { ... } not past the handle's since Antichain HOT 6
- panic in cargo test "test_linearizability": Expected one of TABLE or VIEW or MATERIALIZED or SOURCE or SINK or INDEX or TYPE or ... HOT 3
- panic in cargo test "test_mz_sessions": Error { kind: RowCount, cause: None }
- compute: differently sized replicas can return different errors for the same queries HOT 2
- panic in cargo test "test_max_request_size" HOT 1
- [Epic] Metrics for lag behind upstream source
- sql: Keyword re-writing produces wrong behavior
- assertion failed: "alter_ingestion_source_desc should only be called when producing new SourceDesc" HOT 1
- Postgres inconsistency: bpchar in mz has different default length specification: bpchar(1) HOT 6
- Postgres inconsistency: array_agg on character not yet supported
- Postgres inconsistency: bpchar (and char) trim newline
- kafka-sink-statistics.td is flaky HOT 1
- docs: overview guide for configuration paramters
- adapter: add response size in bytes to the activity log
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from materialize.