diff --git a/enginetest/join_op_tests.go b/enginetest/join_op_tests.go index 7eb5af32a2..377507bfad 100644 --- a/enginetest/join_op_tests.go +++ b/enginetest/join_op_tests.go @@ -1984,6 +1984,56 @@ SELECT SUM(x) FROM xy WHERE x IN ( }, }, }, + { + name: "string key test", + setup: [][]string{ + { + ` +CREATE TABLE testA ( + id int PRIMARY KEY, + supplierkey VARCHAR(100), + name VARCHAR(100), + product VARCHAR(100), + UNIQUE KEY unique_product_supplier_key (product, supplierKey) +);`, + ` +CREATE TABLE testB ( + id int PRIMARY KEY, + vendorkey VARCHAR(100), + name VARCHAR(100), + supplierkey VARCHAR(100), + product VARCHAR(100), + UNIQUE KEY unique_product_vendor_key (product,vendorKey) +);`, + "INSERT INTO testA VALUES (1, 'texwin-post-frame', 'Texwin (Post Frame)', 'carports');", + "INSERT INTO testA VALUES (2, 'texwin', 'Texwin', 'carports');", + "INSERT INTO testB VALUES (1, 'advancebldg', 'Test', 'texwin', 'carports');", + }, + }, + tests: []JoinOpTests{ + { + Query: ` +SELECT + v.vendorkey AS vendor, + v.product, + v.supplierkey, + s.name AS supplierName +FROM + testB AS v +INNER JOIN + testA AS s +ON + s.supplierkey = v.supplierkey AND + s.product = v.product +WHERE + v.vendorkey = 'advancebldg'; +`, + Expected: []sql.Row{ + {"advancebldg", "carports", "texwin", "Texwin"}, + }, + }, + }, + }, } var rangeJoinOpTests = []JoinOpTests{