table partitioning stuff

This commit is contained in:
nate smith 2024-04-30 21:19:40 -07:00
parent 25147572f8
commit 92a35eb823
2 changed files with 15 additions and 13 deletions

View File

@ -57,12 +57,12 @@ func Ingest(o IngestOpts) error {
corpusid := db.StrToID(o.Corpus) corpusid := db.StrToID(o.Corpus)
tablename := fmt.Sprintf("phrases_%s", corpusid) tablename := fmt.Sprintf("phrases_%s", corpusid)
_, err = conn.Exec(context.Background(), _, err = conn.Exec(context.Background(),
`CREATE TABLE $1 ( fmt.Sprintf(`CREATE TABLE %s (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
sourceid char(7) NOT NULL, sourceid char(7) NOT NULL,
phrase TEXT, phrase TEXT,
FOREIGN KEY (sourceid) REFERENCES sources(id) FOREIGN KEY (sourceid) REFERENCES sources(id)
)`, tablename) )`, tablename))
if err != nil { if err != nil {
return fmt.Errorf("could not create table '%s': %w", tablename, err) return fmt.Errorf("could not create table '%s': %w", tablename, err)
} }

View File

@ -1,6 +1,8 @@
DROP TABLE phrases; DROP SCHEMA public CASCADE;
DROP TABLE sources; CREATE SCHEMA public;
DROP TABLE CORPORA;
--GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO public;
CREATE TABLE IF NOT EXISTS corpora ( CREATE TABLE IF NOT EXISTS corpora (
id char(7) PRIMARY KEY, id char(7) PRIMARY KEY,
@ -12,14 +14,14 @@ CREATE TABLE IF NOT EXISTS sources (
corpusid char(7) NOT NULL, corpusid char(7) NOT NULL,
name TEXT UNIQUE, name TEXT UNIQUE,
FOREIGN KEY (corpusid) REFERENCES corpora(id) ON DELETE CASCADE FOREIGN KEY (corpusid) REFERENCES corpora(id)
); );
CREATE TABLE IF NOT EXISTS phrases ( -- CREATE TABLE IF NOT EXISTS phrases (
id SERIAL PRIMARY KEY, -- id SERIAL PRIMARY KEY,
sourceid char(7) NOT NULL, -- sourceid char(7) NOT NULL,
phrase TEXT, -- phrase TEXT,
--
FOREIGN KEY (sourceid) REFERENCES sources(id) ON DELETE CASCADE -- FOREIGN KEY (sourceid) REFERENCES sources(id) ON DELETE CASCADE
); --);