alamb commented on code in PR #7160:
URL: https://github.com/apache/arrow-datafusion/pull/7160#discussion_r1281110897
##########
datafusion/sql/tests/sql_integration.rs:
##########
@@ -233,6 +233,25 @@ fn plan_create_table_with_pk() {
let sql = "create table person (id int, name string, primary key(id))";
let plan = r#"
CreateMemoryTable: Bare { table: "person" } constraints=[PrimaryKey([0])]
+ EmptyRelation
+ "#
+ .trim();
+ quick_test(sql, plan);
+
+ let sql = "create table person (id int primary key, name string)";
+ let plan = r#"
+CreateMemoryTable: Bare { table: "person" } constraints=[PrimaryKey([0])]
+ EmptyRelation
+ "#
+ .trim();
+ quick_test(sql, plan);
+}
+
+#[test]
+fn plan_create_table_with_multi_pk() {
+ let sql = "create table person (id int, name string primary key, primary
key(id))";
Review Comment:
I am not sure this means a multi part primary key -- postgres errors on this
syntax
```sql
postgres=# create table person (id int, name varchar primary key, primary
key(id));
ERROR: multiple primary keys for table "person" are not allowed
LINE 1: ...e table person (id int, name varchar primary key, primary ke...
```
I think the way this is supposed to be expressed is like
```sql
create table person (id int, name varchar, primary key(name, id));
```
##########
datafusion/sql/tests/sql_integration.rs:
##########
@@ -233,6 +233,25 @@ fn plan_create_table_with_pk() {
let sql = "create table person (id int, name string, primary key(id))";
let plan = r#"
CreateMemoryTable: Bare { table: "person" } constraints=[PrimaryKey([0])]
+ EmptyRelation
+ "#
+ .trim();
+ quick_test(sql, plan);
+
+ let sql = "create table person (id int primary key, name string)";
Review Comment:
What do you think about adding unique constraints as well
```sql
create table person (id int unique, name string)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]