graphql-engine/server/tests-py/queries/graphql_query/mysql/mysql-ddl-dml.sql
Chris Done 459a7adbfb Add Types/FromIr changes for MySQL to work with the DataLoader
While it looks like a lot of work in FromIr.hs, you can rather review the type changes in `Hasura.Backends.MySQL.Types.Internal` and the changes to FromIr are only to reflect that. Essentially we're simplifying the FromIr code to not think about SQL-based joins: instead, FromIr produces fields necessary for the dataloader Plan/Execute to do their job properly.

I've done my best to ensure that all the hunks in the diff in this PR are minimal for slightly easier perusing.

I think future PRs will be more intentionally well structured, rather than created retroactively.

**Preceding PR:** #2549

**Next PR**: #2367

The tests have been run like this on my machine. I don't know more beyond that.

```
docker run -i -e "PYTEST_ADDOPTS=--color=yes" -e "TERM=xterm-256color" --net=host -v`pwd`:`pwd` -w`pwd`/server/tests-py chrisdone/hasura-pytest:b0f26f615 pytest  --hge-urls="http://localhost:8080"  --pg-urls="postgres://chinook:chinook@localhost:5432/chinook"  --backend mysql -k MySQL
```

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2608
Co-authored-by: Abby Sassel <3883855+sassela@users.noreply.github.com>
GitOrigin-RevId: a6483335c3036963360dde7d7d7eaf10859351cb
2021-10-21 23:51:17 +00:00

43 lines
1.1 KiB
SQL

DROP PROCEDURE IF EXISTS search_author_mviewf;
DROP TABLE IF EXISTS article;
DROP TABLE IF EXISTS author;
CREATE TABLE author
(
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(45) UNIQUE KEY,
createdAt DATETIME
);
INSERT INTO author
(name, createdAt)
VALUES
( 'Author 1', '2017-09-21 09:39:44' ),
( 'Author 2', '2017-09-21 09:50:44' );
CREATE TABLE article (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title TEXT,
content TEXT,
is_published BIT,
published_on TIMESTAMP,
author_id INT UNSIGNED,
co_author_id INT UNSIGNED,
FOREIGN KEY (author_id) REFERENCES author(id),
FOREIGN KEY (co_author_id) REFERENCES author(id)
);
INSERT INTO article
(title, content, author_id, is_published)
VALUES
( 'Article 1', 'Sample article content 1', 1, 0 ),
( 'Article 2', 'Sample article content 2', 1, 1 ),
( 'Article 3', 'Sample article content 3', 2, 1 );
CREATE OR REPLACE VIEW search_author_view AS
SELECT * FROM author;
CREATE PROCEDURE search_author_viewf (query TEXT)
SELECT * FROM search_author_view WHERE name = query;