@@ -1051,8 +1051,26 @@ making sure that you maintain a proper JSON format.
10511051 }
10521052 },
10531053 "dependency" : {
1054- "key" : " index_method" ,
1055- "value" : " btree"
1054+ "type" : " and" ,
1055+ "values" : [
1056+ {
1057+ "key" : " index_method" ,
1058+ "value" : " btree"
1059+ },
1060+ {
1061+ "type" : " or" ,
1062+ "values" : [
1063+ {
1064+ "key" : " indxExpression" ,
1065+ "isEmpty" : true
1066+ },
1067+ {
1068+ "key" : " indxExpression" ,
1069+ "exist" : false
1070+ }
1071+ ]
1072+ }
1073+ ]
10561074 },
10571075 "validation" : {
10581076 "required" : true ,
@@ -1066,6 +1084,16 @@ making sure that you maintain a proper JSON format.
10661084 "template" : " orderedList" ,
10671085 "propertyTooltip" : " The name of a column of the table." ,
10681086 "attributeList" : {
1087+ "sortOrder" : {
1088+ "propertyType" : " select" ,
1089+ "options" : [" ASC" , " DESC" ],
1090+ "propertyTooltip" : " Specifies sort order"
1091+ },
1092+ "nullsOrder" : {
1093+ "propertyType" : " select" ,
1094+ "options" : [" " , " NULLS FIRST" , " NULLS LAST" ],
1095+ "propertyTooltip" : " Specifies that nulls sort order"
1096+ },
10691097 "collation" : {
10701098 "propertyType" : " text" ,
10711099 "placeholder" : " Collation" ,
@@ -1078,27 +1106,86 @@ making sure that you maintain a proper JSON format.
10781106 }
10791107 },
10801108 "dependency" : {
1081- "type" : " or " ,
1109+ "type" : " and " ,
10821110 "values" : [
10831111 {
10841112 "key" : " index_method" ,
1085- "value" : " hash"
1086- },
1087- {
1088- "key" : " index_method" ,
1089- "value" : " gist"
1113+ "value" : " btree"
10901114 },
10911115 {
1092- "key" : " index_method" ,
1093- "value" : " spgist"
1094- },
1116+ "type" : " and" ,
1117+ "values" : [
1118+ {
1119+ "key" : " indxExpression" ,
1120+ "isEmpty" : false
1121+ },
1122+ {
1123+ "key" : " indxExpression" ,
1124+ "exist" : true
1125+ }
1126+ ]
1127+ }
1128+ ]
1129+ }
1130+ },
1131+ {
1132+ "propertyName" : " Columns" ,
1133+ "propertyKeyword" : " columns" ,
1134+ "propertyType" : " fieldList" ,
1135+ "template" : " orderedList" ,
1136+ "propertyTooltip" : " The name of a column of the table." ,
1137+ "attributeList" : {
1138+ "collation" : {
1139+ "propertyType" : " text" ,
1140+ "placeholder" : " Collation" ,
1141+ "propertyTooltip" : " The name of the collation to use for the index."
1142+ },
1143+ "opclass" : {
1144+ "propertyType" : " text" ,
1145+ "placeholder" : " Opclass" ,
1146+ "propertyTooltip" : " The name of an operator class."
1147+ }
1148+ },
1149+ "dependency" : {
1150+ "type" : " and" ,
1151+ "values" : [
10951152 {
1096- "key" : " index_method" ,
1097- "value" : " gin"
1153+ "type" : " or" ,
1154+ "values" : [
1155+ {
1156+ "key" : " index_method" ,
1157+ "value" : " hash"
1158+ },
1159+ {
1160+ "key" : " index_method" ,
1161+ "value" : " gist"
1162+ },
1163+ {
1164+ "key" : " index_method" ,
1165+ "value" : " spgist"
1166+ },
1167+ {
1168+ "key" : " index_method" ,
1169+ "value" : " gin"
1170+ },
1171+ {
1172+ "key" : " index_method" ,
1173+ "value" : " brin"
1174+ }
1175+ ]
10981176 },
10991177 {
1100- "key" : " index_method" ,
1101- "value" : " brin"
1178+ "type" : " or" ,
1179+ "values" : [
1180+ {
1181+ "key" : " indxExpression" ,
1182+ "isEmpty" : true
1183+ },
1184+ {
1185+ "key" : " indxExpression" ,
1186+ "exist" : false
1187+ }
1188+ ]
11021189 }
11031190 ]
11041191 },
@@ -1107,6 +1194,68 @@ making sure that you maintain a proper JSON format.
11071194 "minLength" : 1
11081195 }
11091196 },
1197+ {
1198+ "propertyName" : " Columns" ,
1199+ "propertyKeyword" : " columns" ,
1200+ "propertyType" : " fieldList" ,
1201+ "template" : " orderedList" ,
1202+ "propertyTooltip" : " The name of a column of the table." ,
1203+ "attributeList" : {
1204+ "collation" : {
1205+ "propertyType" : " text" ,
1206+ "placeholder" : " Collation" ,
1207+ "propertyTooltip" : " The name of the collation to use for the index."
1208+ },
1209+ "opclass" : {
1210+ "propertyType" : " text" ,
1211+ "placeholder" : " Opclass" ,
1212+ "propertyTooltip" : " The name of an operator class."
1213+ }
1214+ },
1215+ "dependency" : {
1216+ "type" : " and" ,
1217+ "values" : [
1218+ {
1219+ "type" : " or" ,
1220+ "values" : [
1221+ {
1222+ "key" : " index_method" ,
1223+ "value" : " hash"
1224+ },
1225+ {
1226+ "key" : " index_method" ,
1227+ "value" : " gist"
1228+ },
1229+ {
1230+ "key" : " index_method" ,
1231+ "value" : " spgist"
1232+ },
1233+ {
1234+ "key" : " index_method" ,
1235+ "value" : " gin"
1236+ },
1237+ {
1238+ "key" : " index_method" ,
1239+ "value" : " brin"
1240+ }
1241+ ]
1242+ },
1243+ {
1244+ "type" : " and" ,
1245+ "values" : [
1246+ {
1247+ "key" : " indxExpression" ,
1248+ "isEmpty" : false
1249+ },
1250+ {
1251+ "key" : " indxExpression" ,
1252+ "exist" : true
1253+ }
1254+ ]
1255+ }
1256+ ]
1257+ }
1258+ },
11101259 {
11111260 "propertyName" : " Columns" ,
11121261 "propertyKeyword" : " columns" ,
@@ -1127,6 +1276,19 @@ making sure that you maintain a proper JSON format.
11271276 ]
11281277 }
11291278 },
1279+ {
1280+ "propertyName" : " Expressions" ,
1281+ "propertyKeyword" : " indxExpression" ,
1282+ "propertyType" : " group" ,
1283+ "propertyTooltip" : " Specify more detailed expression for index" ,
1284+ "structure" : [
1285+ {
1286+ "propertyName" : " value" ,
1287+ "propertyKeyword" : " value" ,
1288+ "propertyType" : " text"
1289+ }
1290+ ]
1291+ },
11301292 {
11311293 "propertyName" : " Include non-key columns" ,
11321294 "propertyKeyword" : " include" ,
0 commit comments