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]

Reply via email to