@@ -20,6 +20,7 @@ import (
2020 "regexp"
2121 "sort"
2222 "strconv"
23+ "strings"
2324 "testing"
2425 "time"
2526
@@ -899,6 +900,66 @@ func TestExecuteStreamingSql_Success(t *testing.T) {
899900 {makeStringValue ("3" ), makeStringValue ("bbb" ), makeStringValue ("3" )},
900901 },
901902 },
903+ "CompositePrimaryKeys_Condition2" : {
904+ sql : fmt .Sprintf (`SELECT %s FROM CompositePrimaryKeys` ,
905+ strings .Join (strings .Split (strings .Repeat ("XYZ" , 10 ), "" ), ", " )),
906+ expected : [][]* structpb.Value {
907+ {
908+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
909+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
910+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
911+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
912+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
913+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
914+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
915+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
916+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
917+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
918+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
919+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
920+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
921+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
922+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
923+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
924+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
925+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
926+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
927+ makeStringValue ("x1" ), makeStringValue ("y2" ), makeStringValue ("z" ),
928+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
929+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
930+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
931+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
932+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
933+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
934+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
935+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
936+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
937+ makeStringValue ("x1" ), makeStringValue ("y3" ), makeStringValue ("z" ),
938+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
939+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
940+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
941+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
942+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
943+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
944+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
945+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
946+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
947+ makeStringValue ("x2" ), makeStringValue ("y4" ), makeStringValue ("z" ),
948+ },
949+ {
950+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
951+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
952+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
953+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
954+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
955+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
956+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
957+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
958+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
959+ makeStringValue ("x2" ), makeStringValue ("y5" ), makeStringValue ("z" ),
960+ },
961+ },
962+ },
902963 "ArrayOfStruct" : {
903964 sql : `SELECT ARRAY(SELECT STRUCT<Id int64, Value string>(1,"xx") x)` ,
904965 fields : []* spannerpb.StructType_Field {
0 commit comments