diff --git a/.gitignore b/.gitignore index da1f1d87904a..72571bec1f06 100644 --- a/.gitignore +++ b/.gitignore @@ -56,5 +56,7 @@ build/Railroad.jar pkg/roachprod/vm/aws/embedded.go pkg/security/securitytest/embedded.go +pkg/sql/logictest/testdata/logic_test/__test +.idea/ # Temporary directories during gomock generate **/gomock_reflect_* diff --git a/pkg/sql/catalog/bootstrap/testdata/testdata b/pkg/sql/catalog/bootstrap/testdata/testdata index dc1ed0c515b1..519e716d7f68 100644 --- a/pkg/sql/catalog/bootstrap/testdata/testdata +++ b/pkg/sql/catalog/bootstrap/testdata/testdata @@ -34,7 +34,7 @@ system hash=ee4948433fe6f52eb605592ea5e05129f74c0a66f9151f649531e8d4ad454db3 ,{"key":"8b89af8a89","value":"030ad3030a0b73716c6c6976656e6573731827200128013a00422f0a0a73657373696f6e5f696410011a0c0808100018003000501160002000300068007000780080010088010098010042300a0a65787069726174696f6e10021a0d080310001800300050a40d60002000300068007000780080010088010098010042300a0b637264625f726567696f6e10031a0c0808100018003000501160002000300068007000780080010088010098010048045280010a077072696d61727910021801220b637264625f726567696f6e220a73657373696f6e5f69642a0a65787069726174696f6e30033001400040004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201380a077072696d61727910001a0b637264625f726567696f6e1a0a73657373696f6e5f69641a0a65787069726174696f6e2003200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300"} ,{"key":"8b89b08a89","value":"030ac0040a0a6d6967726174696f6e731828200128013a00422a0a056d616a6f7210011a0c08011040180030005014600020003000680070007800800100880100980100422a0a056d696e6f7210021a0c08011040180030005014600020003000680070007800800100880100980100422a0a05706174636810031a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e7465726e616c10041a0c0801104018003000501460002000300068007000780080010088010098010042320a0c636f6d706c657465645f617410051a0d080910001800300050a00960002000300068007000780080010088010098010048065290010a077072696d6172791001180122056d616a6f7222056d696e6f72220570617463682208696e7465726e616c2a0c636f6d706c657465645f6174300130023003300440004000400040004a10080010001a00200028003000380040005a0070057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201440a077072696d61727910001a056d616a6f721a056d696e6f721a0570617463681a08696e7465726e616c1a0c636f6d706c657465645f6174200120022003200420052805b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300"} ,{"key":"8b89b18a89","value":"030aaa030a0b6a6f696e5f746f6b656e731829200128013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422b0a0673656372657410021a0c0808100018003000501160002000300068007000780080010088010098010042300a0a65787069726174696f6e10031a0d080910001800300050a009600020003000680070007800800100880100980100480452710a077072696d61727910011801220269642a067365637265742a0a65787069726174696f6e300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b2012b0a077072696d61727910001a0269641a067365637265741a0a65787069726174696f6e2001200220032800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300"} -,{"key":"8b89b28a89","value":"030aa5270a1473746174656d656e745f73746174697374696373182a200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410061a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10071a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110081a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310091a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e100a1a0d081210001800300050da1d600020003000680070007800800100880100980100429c020a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38100b1a0c080110201800300050176000200030015a8c016d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f69642c20706c616e5f686173682c207472616e73616374696f6e5f66696e6765727072696e745f696429292c20383a3a3a494e543829680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100c1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d3000680070007800800100880100980100426c0a0d696e64657865735f7573616765100d1a0d081210001800300050da1d6000200130005a3728737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27696e6465786573273a3a3a535452494e4768007000780080010188010098010042710a0f657865637574696f6e5f636f756e74100e1a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100f1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f7310101a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d6510111a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6510121a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e637910131a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100481452b8050a077072696d617279100118012268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e6379300b30013002300330043005300640004000400040004000400040004a10080010001a00200028003000380040005a00700770087009700a700c700e700f70107011701270137a0408002000800100880100900104980101a201c70108011268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f69642209706c616e5f68617368221a7472616e73616374696f6e5f66696e6765727072696e745f6964a80100b20100ba0100c00100c80100d00101e001005a9d010a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380b3801380438053806400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e001005a7f0a11696e64657865735f75736167655f69647810031800220d696e64657865735f7573616765300d380b38013802380338043805380640004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80100e001005ac5010a13657865637574696f6e5f636f756e745f69647810041800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e7430013005300e380b38023803380438064000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac7010a13736572766963655f6c6174656e63795f69647810051800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013005300f380b38023803380438064000400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac3010a116370755f73716c5f6e616e6f735f69647810061800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f73300130053010380b38023803380438064000400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac7010a13636f6e74656e74696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d65300130053011380b38023803380438064000400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ae5010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810081800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65300130053012380b38023803380438064000400040014a10080010001a00200028003000380040005a0068127a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005abf010a0f7039395f6c6174656e63795f69647810091800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e6379300130053013380b38023803380438064000400040014a10080010001a00200028003000380040005a0068137a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100600a6a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100a201b9020abc01637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e543829126e636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381800280b300038014002b201a4030a077072696d61727910001a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200b200120022003200420052006200720082009200a200c200e200f20102011201220132800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300"} +,{"key":"8b89b28a89","value":"030aa8270a1473746174656d656e745f73746174697374696373182a200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410061a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10071a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110081a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310091a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e100a1a0d081210001800300050da1d600020003000680070007800800100880100980100429c020a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38100b1a0c080110201800300050176000200030015a8c016d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f69642c20706c616e5f686173682c207472616e73616374696f6e5f66696e6765727072696e745f696429292c20383a3a3a494e543829680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100c1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d3000680070007800800100880100980100426c0a0d696e64657865735f7573616765100d1a0d081210001800300050da1d6000200130005a3728737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27696e6465786573273a3a3a535452494e4768007000780080010188010098010042710a0f657865637574696f6e5f636f756e74100e1a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100f1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f7310101a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d6510111a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6510121a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e637910131a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100481452b8050a077072696d617279100118012268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e6379300b30013002300330043005300640004000400040004000400040004a10080010001a00200028003000380040005a00700770087009700a700c700e700f70107011701270137a0408002000800100880100900104980101a201c70108011268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f69642209706c616e5f68617368221a7472616e73616374696f6e5f66696e6765727072696e745f6964a80100b20100ba0100c00100c80100d00101e001005a9d010a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380b3801380438053806400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e001005a81010a11696e64657865735f75736167655f69647810031800220d696e64657865735f7573616765300d380b38013802380338043805380640004a10080010001a00200028003000380040005a00680d7a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80100e001005ac5010a13657865637574696f6e5f636f756e745f69647810041800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e7430013005300e380b38023803380438064000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac7010a13736572766963655f6c6174656e63795f69647810051800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013005300f380b38023803380438064000400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac3010a116370755f73716c5f6e616e6f735f69647810061800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f73300130053010380b38023803380438064000400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac7010a13636f6e74656e74696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d65300130053011380b38023803380438064000400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ae5010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810081800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65300130053012380b38023803380438064000400040014a10080010001a00200028003000380040005a0068127a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005abf010a0f7039395f6c6174656e63795f69647810091800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e6379300130053013380b38023803380438064000400040014a10080010001a00200028003000380040005a0068137a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100600a6a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100a201b9020abc01637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e543829126e636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381800280b300038014002b201a4030a077072696d61727910001a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200b200120022003200420052006200720082009200a200c200e200f20102011201220132800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300"} ,{"key":"8b89b38a89","value":"030ab51f0a167472616e73616374696f6e5f73746174697374696373182b200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510031a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410041a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10051a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110061a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310071a0d081210001800300050da1d60002000300068007000780080010088010098010042cf010a43637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3810081a0c080110201800300050176000200030015a656d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f696429292c20383a3a3a494e54382968007000780080010088010098010042710a0f657865637574696f6e5f636f756e7410091a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100a1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f73100b1a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d65100c1a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65100d1a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e6379100e1a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100480f52f6030a077072696d617279100118012243637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f696422086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e637930083001300230033004400040004000400040004a10080010001a00200028003000380040005a007005700670077009700a700b700c700d700e7a0408002000800100880100900104980101a2017b08011243637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f6964a80100b20100ba0100c00100c80100d00101e001005a7b0a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f69643002380838013803380440004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e001005ac1010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e743001300330093808380238044000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac3010a13736572766963655f6c6174656e63795f69647810041800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013003300a3808380238044000400040014a10080010001a00200028003000380040005a00680a7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005abf010a116370755f73716c5f6e616e6f735f69647810051800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f7330013003300b3808380238044000400040014a10080010001a00200028003000380040005a00680b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac3010a13636f6e74656e74696f6e5f74696d655f69647810061800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d6530013003300c3808380238044000400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ae1010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6530013003300d3808380238044000400040014a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005abb010a0f7039395f6c6174656e63795f69647810081800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e637930013003300e3808380238044000400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e0010060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100a201ef010a9701637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e5438291249636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3818002808300038014002b201b3020a077072696d61727910001a43637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200820012002200320042005200620072009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300"} ,{"key":"8b89b48a89","value":"030ad0050a1664617461626173655f726f6c655f73657474696e6773182c200128013a0042300a0b64617461626173655f696410011a0c080c100018003000501a600020003000680070007800800100880100980100422e0a09726f6c655f6e616d6510021a0c08071000180030005019600020003000680070007800800100880100980100423e0a0873657474696e677310031a1d080f100018003000380750f1075a0c080710001800300050196000600020003000680070007800800100880100980100422c0a07726f6c655f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055288010a077072696d61727910011801220b64617461626173655f69642209726f6c655f6e616d652a0873657474696e67732a07726f6c655f696430013002400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e001005aa4010a2e64617461626173655f726f6c655f73657474696e67735f64617461626173655f69645f726f6c655f69645f6b657910021801220b64617461626173655f69642207726f6c655f69642a0873657474696e6773300130043802400040004a10080010001a00200028003000380040005a0070037a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201400a077072696d61727910001a0b64617461626173655f69641a09726f6c655f6e616d651a0873657474696e67731a07726f6c655f696420012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300"} ,{"key":"8b89b58a89","value":"030a840a0a0c74656e616e745f7573616765182d200128013a00422e0a0974656e616e745f696410011a0c0801104018003000501460002000300068007000780080010088010098010042300a0b696e7374616e63655f696410021a0c0801104018003000501460002000300068007000780080010088010098010042350a106e6578745f696e7374616e63655f696410031a0c0801104018003000501460002000300068007000780080010088010098010042310a0b6c6173745f75706461746510041a0d080510001800300050da0860002000300068007000780080010088010098010042340a0e72755f62757273745f6c696d697410051a0d080210401800300050bd0560002001300068007000780080010088010098010042340a0e72755f726566696c6c5f7261746510061a0d080210401800300050bd0560002001300068007000780080010088010098010042300a0a72755f63757272656e7410071a0d080210401800300050bd0560002001300068007000780080010088010098010042370a1163757272656e745f73686172655f73756d10081a0d080210401800300050bd0560002001300068007000780080010088010098010042360a11746f74616c5f636f6e73756d7074696f6e10091a0c0808100018003000501160002001300068007000780080010088010098010042330a0e696e7374616e63655f6c65617365100a1a0c0808100018003000501160002001300068007000780080010088010098010042310a0c696e7374616e63655f736571100b1a0c0801104018003000501460002001300068007000780080010088010098010042350a0f696e7374616e63655f736861726573100c1a0d080210401800300050bd05600020013000680070007800800100880100980100480d52a5020a077072696d61727910011801220974656e616e745f6964220b696e7374616e63655f69642a106e6578745f696e7374616e63655f69642a0b6c6173745f7570646174652a0e72755f62757273745f6c696d69742a0e72755f726566696c6c5f726174652a0a72755f63757272656e742a1163757272656e745f73686172655f73756d2a11746f74616c5f636f6e73756d7074696f6e2a0e696e7374616e63655f6c656173652a0c696e7374616e63655f7365712a0f696e7374616e63655f73686172657330013002400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a700b700c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201dd010a077072696d61727910001a0974656e616e745f69641a0b696e7374616e63655f69641a106e6578745f696e7374616e63655f69641a0b6c6173745f7570646174651a0e72755f62757273745f6c696d69741a0e72755f726566696c6c5f726174651a0a72755f63757272656e741a1163757272656e745f73686172655f73756d1a11746f74616c5f636f6e73756d7074696f6e1a0e696e7374616e63655f6c656173651a0c696e7374616e63655f7365711a0f696e7374616e63655f736861726573200120022003200420052006200720082009200a200b200c2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300"} @@ -209,7 +209,7 @@ tenant hash=f7f9033233d9f3fceb0b94f886a03173d0c81b318c7efc6b5254f56e7011e4fa ,{"key":"8b89af8a89","value":"030ad3030a0b73716c6c6976656e6573731827200128013a00422f0a0a73657373696f6e5f696410011a0c0808100018003000501160002000300068007000780080010088010098010042300a0a65787069726174696f6e10021a0d080310001800300050a40d60002000300068007000780080010088010098010042300a0b637264625f726567696f6e10031a0c0808100018003000501160002000300068007000780080010088010098010048045280010a077072696d61727910021801220b637264625f726567696f6e220a73657373696f6e5f69642a0a65787069726174696f6e30033001400040004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201380a077072696d61727910001a0b637264625f726567696f6e1a0a73657373696f6e5f69641a0a65787069726174696f6e2003200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300"} ,{"key":"8b89b08a89","value":"030ac0040a0a6d6967726174696f6e731828200128013a00422a0a056d616a6f7210011a0c08011040180030005014600020003000680070007800800100880100980100422a0a056d696e6f7210021a0c08011040180030005014600020003000680070007800800100880100980100422a0a05706174636810031a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e7465726e616c10041a0c0801104018003000501460002000300068007000780080010088010098010042320a0c636f6d706c657465645f617410051a0d080910001800300050a00960002000300068007000780080010088010098010048065290010a077072696d6172791001180122056d616a6f7222056d696e6f72220570617463682208696e7465726e616c2a0c636f6d706c657465645f6174300130023003300440004000400040004a10080010001a00200028003000380040005a0070057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201440a077072696d61727910001a056d616a6f721a056d696e6f721a0570617463681a08696e7465726e616c1a0c636f6d706c657465645f6174200120022003200420052805b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300"} ,{"key":"8b89b18a89","value":"030aaa030a0b6a6f696e5f746f6b656e731829200128013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422b0a0673656372657410021a0c0808100018003000501160002000300068007000780080010088010098010042300a0a65787069726174696f6e10031a0d080910001800300050a009600020003000680070007800800100880100980100480452710a077072696d61727910011801220269642a067365637265742a0a65787069726174696f6e300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b2012b0a077072696d61727910001a0269641a067365637265741a0a65787069726174696f6e2001200220032800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300"} -,{"key":"8b89b28a89","value":"030aa5270a1473746174656d656e745f73746174697374696373182a200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410061a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10071a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110081a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310091a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e100a1a0d081210001800300050da1d600020003000680070007800800100880100980100429c020a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38100b1a0c080110201800300050176000200030015a8c016d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f69642c20706c616e5f686173682c207472616e73616374696f6e5f66696e6765727072696e745f696429292c20383a3a3a494e543829680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100c1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d3000680070007800800100880100980100426c0a0d696e64657865735f7573616765100d1a0d081210001800300050da1d6000200130005a3728737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27696e6465786573273a3a3a535452494e4768007000780080010188010098010042710a0f657865637574696f6e5f636f756e74100e1a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100f1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f7310101a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d6510111a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6510121a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e637910131a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100481452b8050a077072696d617279100118012268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e6379300b30013002300330043005300640004000400040004000400040004a10080010001a00200028003000380040005a00700770087009700a700c700e700f70107011701270137a0408002000800100880100900104980101a201c70108011268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f69642209706c616e5f68617368221a7472616e73616374696f6e5f66696e6765727072696e745f6964a80100b20100ba0100c00100c80100d00101e001005a9d010a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380b3801380438053806400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e001005a7f0a11696e64657865735f75736167655f69647810031800220d696e64657865735f7573616765300d380b38013802380338043805380640004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80100e001005ac5010a13657865637574696f6e5f636f756e745f69647810041800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e7430013005300e380b38023803380438064000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac7010a13736572766963655f6c6174656e63795f69647810051800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013005300f380b38023803380438064000400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac3010a116370755f73716c5f6e616e6f735f69647810061800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f73300130053010380b38023803380438064000400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac7010a13636f6e74656e74696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d65300130053011380b38023803380438064000400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ae5010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810081800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65300130053012380b38023803380438064000400040014a10080010001a00200028003000380040005a0068127a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005abf010a0f7039395f6c6174656e63795f69647810091800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e6379300130053013380b38023803380438064000400040014a10080010001a00200028003000380040005a0068137a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100600a6a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100a201b9020abc01637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e543829126e636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381800280b300038014002b201a4030a077072696d61727910001a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200b200120022003200420052006200720082009200a200c200e200f20102011201220132800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300"} +,{"key":"8b89b28a89","value":"030aa8270a1473746174656d656e745f73746174697374696373182a200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410061a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10071a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110081a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310091a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e100a1a0d081210001800300050da1d600020003000680070007800800100880100980100429c020a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38100b1a0c080110201800300050176000200030015a8c016d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f69642c20706c616e5f686173682c207472616e73616374696f6e5f66696e6765727072696e745f696429292c20383a3a3a494e543829680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100c1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d3000680070007800800100880100980100426c0a0d696e64657865735f7573616765100d1a0d081210001800300050da1d6000200130005a3728737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27696e6465786573273a3a3a535452494e4768007000780080010188010098010042710a0f657865637574696f6e5f636f756e74100e1a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100f1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f7310101a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d6510111a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6510121a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e637910131a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100481452b8050a077072696d617279100118012268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e6379300b30013002300330043005300640004000400040004000400040004a10080010001a00200028003000380040005a00700770087009700a700c700e700f70107011701270137a0408002000800100880100900104980101a201c70108011268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f69642209706c616e5f68617368221a7472616e73616374696f6e5f66696e6765727072696e745f6964a80100b20100ba0100c00100c80100d00101e001005a9d010a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380b3801380438053806400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e001005a81010a11696e64657865735f75736167655f69647810031800220d696e64657865735f7573616765300d380b38013802380338043805380640004a10080010001a00200028003000380040005a00680d7a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80100e001005ac5010a13657865637574696f6e5f636f756e745f69647810041800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e7430013005300e380b38023803380438064000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac7010a13736572766963655f6c6174656e63795f69647810051800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013005300f380b38023803380438064000400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac3010a116370755f73716c5f6e616e6f735f69647810061800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f73300130053010380b38023803380438064000400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac7010a13636f6e74656e74696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d65300130053011380b38023803380438064000400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ae5010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810081800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65300130053012380b38023803380438064000400040014a10080010001a00200028003000380040005a0068127a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005abf010a0f7039395f6c6174656e63795f69647810091800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e6379300130053013380b38023803380438064000400040014a10080010001a00200028003000380040005a0068137a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100600a6a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100a201b9020abc01637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e543829126e636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381800280b300038014002b201a4030a077072696d61727910001a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200b200120022003200420052006200720082009200a200c200e200f20102011201220132800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300"} ,{"key":"8b89b38a89","value":"030ab51f0a167472616e73616374696f6e5f73746174697374696373182b200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510031a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410041a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10051a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110061a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310071a0d081210001800300050da1d60002000300068007000780080010088010098010042cf010a43637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3810081a0c080110201800300050176000200030015a656d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f696429292c20383a3a3a494e54382968007000780080010088010098010042710a0f657865637574696f6e5f636f756e7410091a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100a1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f73100b1a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d65100c1a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65100d1a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e6379100e1a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100480f52f6030a077072696d617279100118012243637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f696422086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e637930083001300230033004400040004000400040004a10080010001a00200028003000380040005a007005700670077009700a700b700c700d700e7a0408002000800100880100900104980101a2017b08011243637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f6964a80100b20100ba0100c00100c80100d00101e001005a7b0a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f69643002380838013803380440004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e001005ac1010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e743001300330093808380238044000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac3010a13736572766963655f6c6174656e63795f69647810041800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013003300a3808380238044000400040014a10080010001a00200028003000380040005a00680a7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005abf010a116370755f73716c5f6e616e6f735f69647810051800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f7330013003300b3808380238044000400040014a10080010001a00200028003000380040005a00680b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ac3010a13636f6e74656e74696f6e5f74696d655f69647810061800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d6530013003300c3808380238044000400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005ae1010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6530013003300d3808380238044000400040014a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e001005abb010a0f7039395f6c6174656e63795f69647810081800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e637930013003300e3808380238044000400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e0010060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651802800101880103980100a201ef010a9701637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e5438291249636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3818002808300038014002b201b3020a077072696d61727910001a43637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200820012002200320042005200620072009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300"} ,{"key":"8b89b48a89","value":"030ad0050a1664617461626173655f726f6c655f73657474696e6773182c200128013a0042300a0b64617461626173655f696410011a0c080c100018003000501a600020003000680070007800800100880100980100422e0a09726f6c655f6e616d6510021a0c08071000180030005019600020003000680070007800800100880100980100423e0a0873657474696e677310031a1d080f100018003000380750f1075a0c080710001800300050196000600020003000680070007800800100880100980100422c0a07726f6c655f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055288010a077072696d61727910011801220b64617461626173655f69642209726f6c655f6e616d652a0873657474696e67732a07726f6c655f696430013002400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e001005aa4010a2e64617461626173655f726f6c655f73657474696e67735f64617461626173655f69645f726f6c655f69645f6b657910021801220b64617461626173655f69642207726f6c655f69642a0873657474696e6773300130043802400040004a10080010001a00200028003000380040005a0070037a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201400a077072696d61727910001a0b64617461626173655f69641a09726f6c655f6e616d651a0873657474696e67731a07726f6c655f696420012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300"} ,{"key":"8b89b68a89","value":"030adf050a0d73716c5f696e7374616e636573182e200128013a0042270a02696410011a0c0801104018003000501460002000300068007000780080010088010098010042290a046164647210021a0c08071000180030005019600020013000680070007800800100880100980100422f0a0a73657373696f6e5f696410031a0c08081000180030005011600020013000680070007800800100880100980100422e0a086c6f63616c69747910041a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0873716c5f6164647210051a0c0807100018003000501960002001300068007000780080010088010098010042300a0b637264625f726567696f6e10061a0c0808100018003000501160002000300068007000780080010088010098010042330a0e62696e6172795f76657273696f6e10071a0c08071000180030005019600020013000680070007800800100880100980100480852aa010a077072696d61727910021801220b637264625f726567696f6e220269642a04616464722a0a73657373696f6e5f69642a086c6f63616c6974792a0873716c5f616464722a0e62696e6172795f76657273696f6e30063001400040004a10080010001a00200028003000380040005a00700270037004700570077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e0010060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651802800101880103980100b201620a077072696d61727910001a0269641a04616464721a0a73657373696f6e5f69641a086c6f63616c6974791a0873716c5f616464721a0b637264625f726567696f6e1a0e62696e6172795f76657273696f6e20012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300"} diff --git a/pkg/sql/catalog/systemschema/system.go b/pkg/sql/catalog/systemschema/system.go index f2f545e30a62..565ad43b16ed 100644 --- a/pkg/sql/catalog/systemschema/system.go +++ b/pkg/sql/catalog/systemschema/system.go @@ -2674,6 +2674,7 @@ var ( Version: descpb.StrictIndexColumnIDGuaranteesVersion, Type: descpb.IndexDescriptor_INVERTED, InvertedColumnKinds: []catpb.InvertedIndexColumnKind{catpb.InvertedIndexColumnKind_DEFAULT}, + CompositeColumnIDs: []descpb.ColumnID{13}, }, descpb.IndexDescriptor{ Name: "execution_count_idx", diff --git a/pkg/sql/catalog/systemschema_test/testdata/bootstrap b/pkg/sql/catalog/systemschema_test/testdata/bootstrap index bd22f0eee5a7..d6dcc40430f8 100644 --- a/pkg/sql/catalog/systemschema_test/testdata/bootstrap +++ b/pkg/sql/catalog/systemschema_test/testdata/bootstrap @@ -590,7 +590,7 @@ schema_telemetry {"table":{"name":"statement_bundle_chunks","id":34,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"description","id":2,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"data","id":3,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":4,"families":[{"name":"primary","columnNames":["id","description","data"],"columnIds":[1,2,3]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["description","data"],"keyColumnIds":[1],"storeColumnIds":[2,3],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} {"table":{"name":"statement_diagnostics","id":36,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"statement_fingerprint","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"statement","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"collected_at","id":4,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"trace","id":5,"type":{"family":"JsonFamily","oid":3802},"nullable":true},{"name":"bundle_chunks","id":6,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}},"nullable":true},{"name":"error","id":7,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["id","statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["statement_fingerprint","statement","collected_at","trace","bundle_chunks","error"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} {"table":{"name":"statement_diagnostics_requests","id":35,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"completed","id":2,"type":{"oid":16},"defaultExpr":"false"},{"name":"statement_fingerprint","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"statement_diagnostics_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true},{"name":"requested_at","id":5,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"min_execution_latency","id":6,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}},"nullable":true},{"name":"expires_at","id":7,"type":{"family":"TimestampTZFamily","oid":1184},"nullable":true},{"name":"sampling_probability","id":8,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true}],"nextColumnId":9,"families":[{"name":"primary","columnNames":["id","completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability"],"columnIds":[1,2,3,4,5,6,7,8]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["completed","statement_fingerprint","statement_diagnostics_id","requested_at","min_execution_latency","expires_at","sampling_probability"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"completed_idx","id":2,"version":3,"keyColumnNames":["completed","id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["statement_fingerprint","min_execution_latency","expires_at","sampling_probability"],"keyColumnIds":[2,1],"storeColumnIds":[3,6,7,8],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"sampling_probability BETWEEN _:::FLOAT8 AND _:::FLOAT8","name":"check_sampling_probability","columnIds":[8],"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} -{"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} +{"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} {"table":{"name":"table_statistics","id":20,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tableID","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"statisticID","id":2,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"unique_rowid()"},{"name":"name","id":3,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"columnIDs","id":4,"type":{"family":"ArrayFamily","width":64,"arrayElemType":"IntFamily","oid":1016,"arrayContents":{"family":"IntFamily","width":64,"oid":20}}},{"name":"createdAt","id":5,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"rowCount","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"distinctCount","id":7,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"nullCount","id":8,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"histogram","id":9,"type":{"family":"BytesFamily","oid":17},"nullable":true},{"name":"avgSize","id":10,"type":{"family":"IntFamily","width":64,"oid":20},"defaultExpr":"_:::INT8"},{"name":"partialPredicate","id":11,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"fullStatisticID","id":12,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true}],"nextColumnId":13,"families":[{"name":"fam_0_tableID_statisticID_name_columnIDs_createdAt_rowCount_distinctCount_nullCount_histogram","columnNames":["tableID","statisticID","name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"columnIds":[1,2,3,4,5,6,7,8,9,10,11,12]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tableID","statisticID"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["name","columnIDs","createdAt","rowCount","distinctCount","nullCount","histogram","avgSize","partialPredicate","fullStatisticID"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6,7,8,9,10,11,12],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} {"table":{"name":"task_payloads","id":58,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"created","id":2,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"owner","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"owner_id","id":4,"type":{"family":"OidFamily","oid":26}},{"name":"min_version","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"description","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true},{"name":"type","id":7,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":8,"type":{"family":"BytesFamily","oid":17}}],"nextColumnId":9,"families":[{"name":"primary","columnNames":["id","created","owner","owner_id","min_version","description","type","value"],"columnIds":[1,2,3,4,5,6,7,8]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["created","owner","owner_id","min_version","description","type","value"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5,6,7,8],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} {"table":{"name":"tenant_settings","id":50,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tenant_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"name","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"value","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"last_updated","id":4,"type":{"family":"TimestampFamily","oid":1114},"defaultExpr":"now():::TIMESTAMP"},{"name":"value_type","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"reason","id":6,"type":{"family":"StringFamily","oid":25},"nullable":true}],"nextColumnId":7,"families":[{"name":"fam_0_tenant_id_name_value_last_updated_value_type_reason","columnNames":["tenant_id","name","value","last_updated","value_type","reason"],"columnIds":[1,2,3,4,5,6]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tenant_id","name"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["value","last_updated","value_type","reason"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} @@ -614,7 +614,7 @@ schema_telemetry snapshot_id=7cd8a9ae-f35c-4cd2-970a-757174600874 max_records=10 {"table":{"name":"replication_stats","id":27,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"zone_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"subzone_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"report_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"total_ranges","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"unavailable_ranges","id":5,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"under_replicated_ranges","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"over_replicated_ranges","id":7,"type":{"family":"IntFamily","width":64,"oid":20}}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["zone_id","subzone_id","report_id","total_ranges","unavailable_ranges","under_replicated_ranges","over_replicated_ranges"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["zone_id","subzone_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["report_id","total_ranges","unavailable_ranges","under_replicated_ranges","over_replicated_ranges"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} {"table":{"name":"role_members","id":23,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"role","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"member","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"isAdmin","id":3,"type":{"oid":16}},{"name":"role_id","id":4,"type":{"family":"OidFamily","oid":26}},{"name":"member_id","id":5,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["role","member"],"columnIds":[1,2]},{"name":"fam_3_isAdmin","id":3,"columnNames":["isAdmin"],"columnIds":[3],"defaultColumnId":3},{"name":"fam_4_role_id","id":4,"columnNames":["role_id"],"columnIds":[4],"defaultColumnId":4},{"name":"fam_5_member_id","id":5,"columnNames":["member_id"],"columnIds":[5],"defaultColumnId":5}],"nextFamilyId":6,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["role","member"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["isAdmin","role_id","member_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"role_members_role_idx","id":2,"version":3,"keyColumnNames":["role"],"keyColumnDirections":["ASC"],"keyColumnIds":[1],"keySuffixColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"role_members_member_idx","id":3,"version":3,"keyColumnNames":["member"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"role_members_role_id_idx","id":4,"version":3,"keyColumnNames":["role_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"role_members_member_id_idx","id":5,"version":3,"keyColumnNames":["member_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[5],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"role_members_role_id_member_id_key","id":6,"unique":true,"version":3,"keyColumnNames":["role_id","member_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[4,5],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":7,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} {"table":{"name":"span_stats_buckets","id":55,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"sample_id","id":2,"type":{"family":"UuidFamily","oid":2950}},{"name":"start_key_id","id":3,"type":{"family":"UuidFamily","oid":2950}},{"name":"end_key_id","id":4,"type":{"family":"UuidFamily","oid":2950}},{"name":"requests","id":5,"type":{"family":"IntFamily","width":64,"oid":20}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["id","sample_id","start_key_id","end_key_id","requests"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["sample_id","start_key_id","end_key_id","requests"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"buckets_sample_id_idx","id":2,"version":3,"keyColumnNames":["sample_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} -{"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} +{"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} {"table":{"name":"tenant_tasks","id":59,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tenant_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"issuer","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"task_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"created","id":4,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"payload_id","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"owner","id":6,"type":{"family":"StringFamily","oid":25}},{"name":"owner_id","id":7,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["tenant_id","issuer","task_id","created","payload_id","owner","owner_id"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tenant_id","issuer","task_id"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["created","payload_id","owner","owner_id"],"keyColumnIds":[1,2,3],"storeColumnIds":[4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} {"table":{"name":"transaction_statistics","id":43,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":5,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":6,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":7,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","id":8,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), _:::INT8)"},{"name":"execution_count","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":10,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":11,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":12,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":13,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":14,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":15,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id","agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[8,1,2,3,4,5,6,7,9,10,11,12,13,14]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[8,1,2,3,4],"storeColumnIds":[5,6,7,9,10,11,12,13,14],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[8,1,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":3,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,9],"keySuffixColumnIds":[8,2,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,10],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,11],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[11],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,12],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[12],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,13],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,14],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[14],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":9,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","columnIds":[8],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} @@ -626,6 +626,6 @@ schema_telemetry snapshot_id=7cd8a9ae-f35c-4cd2-970a-757174600874 max_records=10 {"table":{"name":"replication_stats","id":27,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"zone_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"subzone_id","id":2,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"report_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"total_ranges","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"unavailable_ranges","id":5,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"under_replicated_ranges","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"over_replicated_ranges","id":7,"type":{"family":"IntFamily","width":64,"oid":20}}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["zone_id","subzone_id","report_id","total_ranges","unavailable_ranges","under_replicated_ranges","over_replicated_ranges"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["zone_id","subzone_id"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["report_id","total_ranges","unavailable_ranges","under_replicated_ranges","over_replicated_ranges"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} {"table":{"name":"role_members","id":23,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"role","id":1,"type":{"family":"StringFamily","oid":25}},{"name":"member","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"isAdmin","id":3,"type":{"oid":16}},{"name":"role_id","id":4,"type":{"family":"OidFamily","oid":26}},{"name":"member_id","id":5,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["role","member"],"columnIds":[1,2]},{"name":"fam_3_isAdmin","id":3,"columnNames":["isAdmin"],"columnIds":[3],"defaultColumnId":3},{"name":"fam_4_role_id","id":4,"columnNames":["role_id"],"columnIds":[4],"defaultColumnId":4},{"name":"fam_5_member_id","id":5,"columnNames":["member_id"],"columnIds":[5],"defaultColumnId":5}],"nextFamilyId":6,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["role","member"],"keyColumnDirections":["ASC","ASC"],"storeColumnNames":["isAdmin","role_id","member_id"],"keyColumnIds":[1,2],"storeColumnIds":[3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":2},"indexes":[{"name":"role_members_role_idx","id":2,"version":3,"keyColumnNames":["role"],"keyColumnDirections":["ASC"],"keyColumnIds":[1],"keySuffixColumnIds":[2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"role_members_member_idx","id":3,"version":3,"keyColumnNames":["member"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"role_members_role_id_idx","id":4,"version":3,"keyColumnNames":["role_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[4],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"role_members_member_id_idx","id":5,"version":3,"keyColumnNames":["member_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[5],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"role_members_role_id_member_id_key","id":6,"unique":true,"version":3,"keyColumnNames":["role_id","member_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[4,5],"keySuffixColumnIds":[1,2],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"constraintId":1}],"nextIndexId":7,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} {"table":{"name":"span_stats_buckets","id":55,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"id","id":1,"type":{"family":"UuidFamily","oid":2950},"defaultExpr":"gen_random_uuid()"},{"name":"sample_id","id":2,"type":{"family":"UuidFamily","oid":2950}},{"name":"start_key_id","id":3,"type":{"family":"UuidFamily","oid":2950}},{"name":"end_key_id","id":4,"type":{"family":"UuidFamily","oid":2950}},{"name":"requests","id":5,"type":{"family":"IntFamily","width":64,"oid":20}}],"nextColumnId":6,"families":[{"name":"primary","columnNames":["id","sample_id","start_key_id","end_key_id","requests"],"columnIds":[1,2,3,4,5]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["id"],"keyColumnDirections":["ASC"],"storeColumnNames":["sample_id","start_key_id","end_key_id","requests"],"keyColumnIds":[1],"storeColumnIds":[2,3,4,5],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"indexes":[{"name":"buckets_sample_id_idx","id":2,"version":3,"keyColumnNames":["sample_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[1],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}}],"nextIndexId":3,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} -{"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} +{"table":{"name":"statement_statistics","id":42,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"transaction_fingerprint_id","id":3,"type":{"family":"BytesFamily","oid":17}},{"name":"plan_hash","id":4,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":6,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":7,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":8,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":9,"type":{"family":"JsonFamily","oid":3802}},{"name":"plan","id":10,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","id":11,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), _:::INT8)"},{"name":"index_recommendations","id":12,"type":{"family":"ArrayFamily","arrayElemType":"StringFamily","oid":1009,"arrayContents":{"family":"StringFamily","oid":25}},"defaultExpr":"ARRAY[]:::STRING[]"},{"name":"indexes_usage","id":13,"type":{"family":"JsonFamily","oid":3802},"nullable":true,"computeExpr":"(statistics-\u003e'_':::STRING)-\u003e'_':::STRING","virtual":true},{"name":"execution_count","id":14,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":15,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":16,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":17,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":18,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":19,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":20,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id","agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[11,1,2,3,4,5,6,7,8,9,10,12,14,15,16,17,18,19]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","aggregated_ts","fingerprint_id","transaction_fingerprint_id","plan_hash","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","plan","index_recommendations","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[11,1,2,3,4,5,6],"storeColumnIds":[7,8,9,10,12,14,15,16,17,18,19],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id","plan_hash","transaction_fingerprint_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id","transaction_fingerprint_id"],"keyColumnDirections":["ASC","ASC"],"keyColumnIds":[2,3],"keySuffixColumnIds":[11,1,4,5,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"indexes_usage_idx","id":3,"version":3,"keyColumnNames":["indexes_usage"],"keyColumnDirections":["ASC"],"invertedColumnKinds":["DEFAULT"],"keyColumnIds":[13],"keySuffixColumnIds":[11,1,2,3,4,5,6],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"type":"INVERTED","sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,14],"keySuffixColumnIds":[11,2,3,4,6],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,15],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[15],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,16],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[16],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,17],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[17],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,18],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[18],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":9,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,5,19],"keySuffixColumnIds":[11,2,3,4,6],"compositeColumnIds":[19],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":10,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8","columnIds":[11],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} {"table":{"name":"tenant_tasks","id":59,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"tenant_id","id":1,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"issuer","id":2,"type":{"family":"StringFamily","oid":25}},{"name":"task_id","id":3,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"created","id":4,"type":{"family":"TimestampTZFamily","oid":1184},"defaultExpr":"now():::TIMESTAMPTZ"},{"name":"payload_id","id":5,"type":{"family":"StringFamily","oid":25}},{"name":"owner","id":6,"type":{"family":"StringFamily","oid":25}},{"name":"owner_id","id":7,"type":{"family":"OidFamily","oid":26}}],"nextColumnId":8,"families":[{"name":"primary","columnNames":["tenant_id","issuer","task_id","created","payload_id","owner","owner_id"],"columnIds":[1,2,3,4,5,6,7]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["tenant_id","issuer","task_id"],"keyColumnDirections":["ASC","ASC","ASC"],"storeColumnNames":["created","payload_id","owner","owner_id"],"keyColumnIds":[1,2,3],"storeColumnIds":[4,5,6,7],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{},"geoConfig":{},"constraintId":1},"nextIndexId":2,"privileges":{"users":[{"userProto":"admin","privileges":"480","withGrantOption":"480"},{"userProto":"root","privileges":"480","withGrantOption":"480"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":2}} {"table":{"name":"transaction_statistics","id":43,"version":"1","modificationTime":{"wallTime":"0"},"parentId":1,"unexposedParentSchemaId":29,"columns":[{"name":"aggregated_ts","id":1,"type":{"family":"TimestampTZFamily","oid":1184}},{"name":"fingerprint_id","id":2,"type":{"family":"BytesFamily","oid":17}},{"name":"app_name","id":3,"type":{"family":"StringFamily","oid":25}},{"name":"node_id","id":4,"type":{"family":"IntFamily","width":64,"oid":20}},{"name":"agg_interval","id":5,"type":{"family":"IntervalFamily","oid":1186,"intervalDurationField":{}}},{"name":"metadata","id":6,"type":{"family":"JsonFamily","oid":3802}},{"name":"statistics","id":7,"type":{"family":"JsonFamily","oid":3802}},{"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","id":8,"type":{"family":"IntFamily","width":32,"oid":23},"hidden":true,"computeExpr":"mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), _:::INT8)"},{"name":"execution_count","id":9,"type":{"family":"IntFamily","width":64,"oid":20},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)::INT8"},{"name":"service_latency","id":10,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"cpu_sql_nanos","id":11,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"contention_time","id":12,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"},{"name":"total_estimated_execution_time","id":13,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"((statistics-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8 * (((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e\u003e'_':::STRING)::FLOAT8"},{"name":"p99_latency","id":14,"type":{"family":"FloatFamily","width":64,"oid":701},"nullable":true,"computeExpr":"(((statistics-\u003e'_':::STRING)-\u003e'_':::STRING)-\u003e'_':::STRING)::FLOAT8"}],"nextColumnId":15,"families":[{"name":"primary","columnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id","agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"columnIds":[8,1,2,3,4,5,6,7,9,10,11,12,13,14]}],"nextFamilyId":1,"primaryIndex":{"name":"primary","id":1,"unique":true,"version":4,"keyColumnNames":["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","aggregated_ts","fingerprint_id","app_name","node_id"],"keyColumnDirections":["ASC","ASC","ASC","ASC","ASC"],"storeColumnNames":["agg_interval","metadata","statistics","execution_count","service_latency","cpu_sql_nanos","contention_time","total_estimated_execution_time","p99_latency"],"keyColumnIds":[8,1,2,3,4],"storeColumnIds":[5,6,7,9,10,11,12,13,14],"foreignKey":{},"interleave":{},"partitioning":{},"encodingType":1,"sharded":{"isSharded":true,"name":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","shardBuckets":8,"columnNames":["aggregated_ts","app_name","fingerprint_id","node_id"]},"geoConfig":{},"constraintId":1},"indexes":[{"name":"fingerprint_stats_idx","id":2,"version":3,"keyColumnNames":["fingerprint_id"],"keyColumnDirections":["ASC"],"keyColumnIds":[2],"keySuffixColumnIds":[8,1,3,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{}},{"name":"execution_count_idx","id":3,"version":3,"keyColumnNames":["aggregated_ts","app_name","execution_count"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,9],"keySuffixColumnIds":[8,2,4],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"service_latency_idx","id":4,"version":3,"keyColumnNames":["aggregated_ts","app_name","service_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,10],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[10],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"cpu_sql_nanos_idx","id":5,"version":3,"keyColumnNames":["aggregated_ts","app_name","cpu_sql_nanos"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,11],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[11],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"contention_time_idx","id":6,"version":3,"keyColumnNames":["aggregated_ts","app_name","contention_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,12],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[12],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"total_estimated_execution_time_idx","id":7,"version":3,"keyColumnNames":["aggregated_ts","app_name","total_estimated_execution_time"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,13],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[13],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"},{"name":"p99_latency_idx","id":8,"version":3,"keyColumnNames":["aggregated_ts","app_name","p99_latency"],"keyColumnDirections":["ASC","ASC","DESC"],"keyColumnIds":[1,3,14],"keySuffixColumnIds":[8,2,4],"compositeColumnIds":[14],"foreignKey":{},"interleave":{},"partitioning":{},"sharded":{},"geoConfig":{},"predicate":"app_name NOT LIKE '_':::STRING"}],"nextIndexId":9,"privileges":{"users":[{"userProto":"admin","privileges":"32","withGrantOption":"32"},{"userProto":"root","privileges":"32","withGrantOption":"32"}],"ownerProto":"node","version":2},"nextMutationId":1,"formatVersion":3,"checks":[{"expr":"crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 IN (_:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8, _:::INT8)","name":"check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8","columnIds":[8],"fromHashShardedColumn":true,"constraintId":2}],"replacementOf":{"time":{}},"createAsOfTime":{"wallTime":"0"},"nextConstraintId":3}} diff --git a/pkg/sql/catalog/tabledesc/index_test.go b/pkg/sql/catalog/tabledesc/index_test.go index 5bfe69d0949f..a2d062327815 100644 --- a/pkg/sql/catalog/tabledesc/index_test.go +++ b/pkg/sql/catalog/tabledesc/index_test.go @@ -252,15 +252,23 @@ func TestIndexInterface(t *testing.T) { errMsgFmt := "Unexpected %s result for index '%s'." // Check index methods on features not tested here. - for _, idx := range indexes { + for pos, idx := range indexes { require.False(t, idx.IsDisabled(), errMsgFmt, "IsDisabled", idx.GetName()) require.False(t, idx.IsCreatedExplicitly(), errMsgFmt, "IsCreatedExplicitly", idx.GetName()) require.False(t, idx.HasOldStoredColumns(), errMsgFmt, "HasOldStoredColumns", idx.GetName()) - require.Equalf(t, 0, idx.NumCompositeColumns(), - errMsgFmt, "NumCompositeColumns", idx.GetName()) + if pos != 2 { + require.Equalf(t, 0, idx.NumCompositeColumns(), + errMsgFmt, "NumCompositeColumns", idx.GetName()) + } else { + // The secondary index "s2" is an inverted index on the JSONB + // column, and we thus expect one composite column for this + // index and 0 for all the others. + require.Equalf(t, 1, idx.NumCompositeColumns(), + errMsgFmt, "NumCompositeColumns", idx.GetName()) + } } // Check particular index features. diff --git a/pkg/sql/colencoding/BUILD.bazel b/pkg/sql/colencoding/BUILD.bazel index 5f118f41be10..f72b384a0a57 100644 --- a/pkg/sql/colencoding/BUILD.bazel +++ b/pkg/sql/colencoding/BUILD.bazel @@ -17,11 +17,13 @@ go_library( "//pkg/sql/rowenc/keyside", "//pkg/sql/rowenc/valueside", "//pkg/sql/sem/tree", + "//pkg/sql/sessiondatapb", "//pkg/sql/types", "//pkg/util/buildutil", "//pkg/util/duration", "//pkg/util/encoding", "//pkg/util/intsets", + "//pkg/util/json", "//pkg/util/uuid", "@com_github_cockroachdb_apd_v3//:apd", "@com_github_cockroachdb_errors//:errors", diff --git a/pkg/sql/logictest/testdata/logic_test/array b/pkg/sql/logictest/testdata/logic_test/array index cd8ad75174de..9133ec44f131 100644 --- a/pkg/sql/logictest/testdata/logic_test/array +++ b/pkg/sql/logictest/testdata/logic_test/array @@ -1428,6 +1428,7 @@ SELECT x FROM t WHERE x < ARRAY[1, 4, 3] ORDER BY x {1} {1,NULL,10} + query T SELECT x FROM t WHERE x > ARRAY [1, NULL] ORDER BY x DESC ---- diff --git a/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog b/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog index 0b0d7de279c9..e46b67b324a9 100644 --- a/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog +++ b/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog @@ -137,7 +137,7 @@ SELECT id, strip_volatile(descriptor) FROM crdb_internal.kv_catalog_descriptor 39 {"table": {"columns": [{"id": 1, "name": "session_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 2, "name": "expiration", "type": {"family": "DecimalFamily", "oid": 1700}}, {"id": 3, "name": "crdb_region", "type": {"family": "BytesFamily", "oid": 17}}], "formatVersion": 3, "id": 39, "name": "sqlliveness", "nextColumnId": 4, "nextConstraintId": 2, "nextIndexId": 3, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC", "ASC"], "keyColumnIds": [3, 1], "keyColumnNames": ["crdb_region", "session_id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2], "storeColumnNames": ["expiration"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 40 {"table": {"columns": [{"id": 1, "name": "major", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 2, "name": "minor", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 3, "name": "patch", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 4, "name": "internal", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 5, "name": "completed_at", "type": {"family": "TimestampTZFamily", "oid": 1184}}], "formatVersion": 3, "id": 40, "name": "migrations", "nextColumnId": 6, "nextConstraintId": 2, "nextIndexId": 2, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "ASC", "ASC"], "keyColumnIds": [1, 2, 3, 4], "keyColumnNames": ["major", "minor", "patch", "internal"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [5], "storeColumnNames": ["completed_at"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 41 {"table": {"columns": [{"id": 1, "name": "id", "type": {"family": "UuidFamily", "oid": 2950}}, {"id": 2, "name": "secret", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 3, "name": "expiration", "type": {"family": "TimestampTZFamily", "oid": 1184}}], "formatVersion": 3, "id": 41, "name": "join_tokens", "nextColumnId": 4, "nextConstraintId": 2, "nextIndexId": 2, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2, 3], "storeColumnNames": ["secret", "expiration"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} -42 {"table": {"checks": [{"columnIds": [11], "constraintId": 2, "expr": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8)", "fromHashShardedColumn": true, "name": "check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8"}], "columns": [{"id": 1, "name": "aggregated_ts", "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 2, "name": "fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 3, "name": "transaction_fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 4, "name": "plan_hash", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 5, "name": "app_name", "type": {"family": "StringFamily", "oid": 25}}, {"id": 6, "name": "node_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 7, "name": "agg_interval", "type": {"family": "IntervalFamily", "intervalDurationField": {}, "oid": 1186}}, {"id": 8, "name": "metadata", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 9, "name": "statistics", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 10, "name": "plan", "type": {"family": "JsonFamily", "oid": 3802}}, {"computeExpr": "mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), 8:::INT8)", "hidden": true, "id": 11, "name": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8", "type": {"family": "IntFamily", "oid": 23, "width": 32}}, {"defaultExpr": "ARRAY[]:::STRING[]", "id": 12, "name": "index_recommendations", "type": {"arrayContents": {"family": "StringFamily", "oid": 25}, "arrayElemType": "StringFamily", "family": "ArrayFamily", "oid": 1009}}, {"computeExpr": "(statistics->'statistics':::STRING)->'indexes':::STRING", "id": 13, "name": "indexes_usage", "nullable": true, "type": {"family": "JsonFamily", "oid": 3802}, "virtual": true}, {"computeExpr": "((statistics->'statistics':::STRING)->'cnt':::STRING)::INT8", "id": 14, "name": "execution_count", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"computeExpr": "(((statistics->'statistics':::STRING)->'svcLat':::STRING)->'mean':::STRING)::FLOAT8", "id": 15, "name": "service_latency", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'execution_statistics':::STRING)->'cpuSQLNanos':::STRING)->'mean':::STRING)::FLOAT8", "id": 16, "name": "cpu_sql_nanos", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'execution_statistics':::STRING)->'contentionTime':::STRING)->'mean':::STRING)::FLOAT8", "id": 17, "name": "contention_time", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "((statistics->'statistics':::STRING)->>'cnt':::STRING)::FLOAT8 * (((statistics->'statistics':::STRING)->'svcLat':::STRING)->>'mean':::STRING)::FLOAT8", "id": 18, "name": "total_estimated_execution_time", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'statistics':::STRING)->'latencyInfo':::STRING)->'p99':::STRING)::FLOAT8", "id": 19, "name": "p99_latency", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}], "formatVersion": 3, "id": 42, "indexes": [{"foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC", "ASC"], "keyColumnIds": [2, 3], "keyColumnNames": ["fingerprint_id", "transaction_fingerprint_id"], "keySuffixColumnIds": [11, 1, 4, 5, 6], "name": "fingerprint_stats_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 3, "interleave": {}, "invertedColumnKinds": ["DEFAULT"], "keyColumnDirections": ["ASC"], "keyColumnIds": [13], "keyColumnNames": ["indexes_usage"], "keySuffixColumnIds": [11, 1, 2, 3, 4, 5, 6], "name": "indexes_usage_idx", "partitioning": {}, "sharded": {}, "type": "INVERTED", "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 4, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 14], "keyColumnNames": ["aggregated_ts", "app_name", "execution_count"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "execution_count_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [15], "foreignKey": {}, "geoConfig": {}, "id": 5, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 15], "keyColumnNames": ["aggregated_ts", "app_name", "service_latency"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "service_latency_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [16], "foreignKey": {}, "geoConfig": {}, "id": 6, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 16], "keyColumnNames": ["aggregated_ts", "app_name", "cpu_sql_nanos"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "cpu_sql_nanos_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [17], "foreignKey": {}, "geoConfig": {}, "id": 7, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 17], "keyColumnNames": ["aggregated_ts", "app_name", "contention_time"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "contention_time_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [18], "foreignKey": {}, "geoConfig": {}, "id": 8, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 18], "keyColumnNames": ["aggregated_ts", "app_name", "total_estimated_execution_time"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "total_estimated_execution_time_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [19], "foreignKey": {}, "geoConfig": {}, "id": 9, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 19], "keyColumnNames": ["aggregated_ts", "app_name", "p99_latency"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "p99_latency_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}], "name": "statement_statistics", "nextColumnId": 20, "nextConstraintId": 3, "nextIndexId": 10, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "ASC", "ASC", "ASC", "ASC", "ASC"], "keyColumnIds": [11, 1, 2, 3, 4, 5, 6], "keyColumnNames": ["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8", "aggregated_ts", "fingerprint_id", "transaction_fingerprint_id", "plan_hash", "app_name", "node_id"], "name": "primary", "partitioning": {}, "sharded": {"columnNames": ["aggregated_ts", "app_name", "fingerprint_id", "node_id", "plan_hash", "transaction_fingerprint_id"], "isSharded": true, "name": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8", "shardBuckets": 8}, "storeColumnIds": [7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19], "storeColumnNames": ["agg_interval", "metadata", "statistics", "plan", "index_recommendations", "execution_count", "service_latency", "cpu_sql_nanos", "contention_time", "total_estimated_execution_time", "p99_latency"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "32", "userProto": "admin", "withGrantOption": "32"}, {"privileges": "32", "userProto": "root", "withGrantOption": "32"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} +42 {"table": {"checks": [{"columnIds": [11], "constraintId": 2, "expr": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8)", "fromHashShardedColumn": true, "name": "check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8"}], "columns": [{"id": 1, "name": "aggregated_ts", "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 2, "name": "fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 3, "name": "transaction_fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 4, "name": "plan_hash", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 5, "name": "app_name", "type": {"family": "StringFamily", "oid": 25}}, {"id": 6, "name": "node_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 7, "name": "agg_interval", "type": {"family": "IntervalFamily", "intervalDurationField": {}, "oid": 1186}}, {"id": 8, "name": "metadata", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 9, "name": "statistics", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 10, "name": "plan", "type": {"family": "JsonFamily", "oid": 3802}}, {"computeExpr": "mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id, plan_hash, transaction_fingerprint_id)), 8:::INT8)", "hidden": true, "id": 11, "name": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8", "type": {"family": "IntFamily", "oid": 23, "width": 32}}, {"defaultExpr": "ARRAY[]:::STRING[]", "id": 12, "name": "index_recommendations", "type": {"arrayContents": {"family": "StringFamily", "oid": 25}, "arrayElemType": "StringFamily", "family": "ArrayFamily", "oid": 1009}}, {"computeExpr": "(statistics->'statistics':::STRING)->'indexes':::STRING", "id": 13, "name": "indexes_usage", "nullable": true, "type": {"family": "JsonFamily", "oid": 3802}, "virtual": true}, {"computeExpr": "((statistics->'statistics':::STRING)->'cnt':::STRING)::INT8", "id": 14, "name": "execution_count", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"computeExpr": "(((statistics->'statistics':::STRING)->'svcLat':::STRING)->'mean':::STRING)::FLOAT8", "id": 15, "name": "service_latency", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'execution_statistics':::STRING)->'cpuSQLNanos':::STRING)->'mean':::STRING)::FLOAT8", "id": 16, "name": "cpu_sql_nanos", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'execution_statistics':::STRING)->'contentionTime':::STRING)->'mean':::STRING)::FLOAT8", "id": 17, "name": "contention_time", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "((statistics->'statistics':::STRING)->>'cnt':::STRING)::FLOAT8 * (((statistics->'statistics':::STRING)->'svcLat':::STRING)->>'mean':::STRING)::FLOAT8", "id": 18, "name": "total_estimated_execution_time", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'statistics':::STRING)->'latencyInfo':::STRING)->'p99':::STRING)::FLOAT8", "id": 19, "name": "p99_latency", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}], "formatVersion": 3, "id": 42, "indexes": [{"foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC", "ASC"], "keyColumnIds": [2, 3], "keyColumnNames": ["fingerprint_id", "transaction_fingerprint_id"], "keySuffixColumnIds": [11, 1, 4, 5, 6], "name": "fingerprint_stats_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"compositeColumnIds": [13], "foreignKey": {}, "geoConfig": {}, "id": 3, "interleave": {}, "invertedColumnKinds": ["DEFAULT"], "keyColumnDirections": ["ASC"], "keyColumnIds": [13], "keyColumnNames": ["indexes_usage"], "keySuffixColumnIds": [11, 1, 2, 3, 4, 5, 6], "name": "indexes_usage_idx", "partitioning": {}, "sharded": {}, "type": "INVERTED", "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 4, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 14], "keyColumnNames": ["aggregated_ts", "app_name", "execution_count"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "execution_count_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [15], "foreignKey": {}, "geoConfig": {}, "id": 5, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 15], "keyColumnNames": ["aggregated_ts", "app_name", "service_latency"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "service_latency_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [16], "foreignKey": {}, "geoConfig": {}, "id": 6, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 16], "keyColumnNames": ["aggregated_ts", "app_name", "cpu_sql_nanos"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "cpu_sql_nanos_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [17], "foreignKey": {}, "geoConfig": {}, "id": 7, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 17], "keyColumnNames": ["aggregated_ts", "app_name", "contention_time"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "contention_time_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [18], "foreignKey": {}, "geoConfig": {}, "id": 8, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 18], "keyColumnNames": ["aggregated_ts", "app_name", "total_estimated_execution_time"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "total_estimated_execution_time_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [19], "foreignKey": {}, "geoConfig": {}, "id": 9, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 5, 19], "keyColumnNames": ["aggregated_ts", "app_name", "p99_latency"], "keySuffixColumnIds": [11, 2, 3, 4, 6], "name": "p99_latency_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}], "name": "statement_statistics", "nextColumnId": 20, "nextConstraintId": 3, "nextIndexId": 10, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "ASC", "ASC", "ASC", "ASC", "ASC"], "keyColumnIds": [11, 1, 2, 3, 4, 5, 6], "keyColumnNames": ["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8", "aggregated_ts", "fingerprint_id", "transaction_fingerprint_id", "plan_hash", "app_name", "node_id"], "name": "primary", "partitioning": {}, "sharded": {"columnNames": ["aggregated_ts", "app_name", "fingerprint_id", "node_id", "plan_hash", "transaction_fingerprint_id"], "isSharded": true, "name": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_plan_hash_transaction_fingerprint_id_shard_8", "shardBuckets": 8}, "storeColumnIds": [7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19], "storeColumnNames": ["agg_interval", "metadata", "statistics", "plan", "index_recommendations", "execution_count", "service_latency", "cpu_sql_nanos", "contention_time", "total_estimated_execution_time", "p99_latency"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "32", "userProto": "admin", "withGrantOption": "32"}, {"privileges": "32", "userProto": "root", "withGrantOption": "32"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 43 {"table": {"checks": [{"columnIds": [8], "constraintId": 2, "expr": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8 IN (0:::INT8, 1:::INT8, 2:::INT8, 3:::INT8, 4:::INT8, 5:::INT8, 6:::INT8, 7:::INT8)", "fromHashShardedColumn": true, "name": "check_crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8"}], "columns": [{"id": 1, "name": "aggregated_ts", "type": {"family": "TimestampTZFamily", "oid": 1184}}, {"id": 2, "name": "fingerprint_id", "type": {"family": "BytesFamily", "oid": 17}}, {"id": 3, "name": "app_name", "type": {"family": "StringFamily", "oid": 25}}, {"id": 4, "name": "node_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 5, "name": "agg_interval", "type": {"family": "IntervalFamily", "intervalDurationField": {}, "oid": 1186}}, {"id": 6, "name": "metadata", "type": {"family": "JsonFamily", "oid": 3802}}, {"id": 7, "name": "statistics", "type": {"family": "JsonFamily", "oid": 3802}}, {"computeExpr": "mod(fnv32(crdb_internal.datums_to_bytes(aggregated_ts, app_name, fingerprint_id, node_id)), 8:::INT8)", "hidden": true, "id": 8, "name": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8", "type": {"family": "IntFamily", "oid": 23, "width": 32}}, {"computeExpr": "((statistics->'statistics':::STRING)->'cnt':::STRING)::INT8", "id": 9, "name": "execution_count", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"computeExpr": "(((statistics->'statistics':::STRING)->'svcLat':::STRING)->'mean':::STRING)::FLOAT8", "id": 10, "name": "service_latency", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'execution_statistics':::STRING)->'cpuSQLNanos':::STRING)->'mean':::STRING)::FLOAT8", "id": 11, "name": "cpu_sql_nanos", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'execution_statistics':::STRING)->'contentionTime':::STRING)->'mean':::STRING)::FLOAT8", "id": 12, "name": "contention_time", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "((statistics->'statistics':::STRING)->>'cnt':::STRING)::FLOAT8 * (((statistics->'statistics':::STRING)->'svcLat':::STRING)->>'mean':::STRING)::FLOAT8", "id": 13, "name": "total_estimated_execution_time", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"computeExpr": "(((statistics->'statistics':::STRING)->'latencyInfo':::STRING)->'p99':::STRING)::FLOAT8", "id": 14, "name": "p99_latency", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}], "formatVersion": 3, "id": 43, "indexes": [{"foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [2], "keyColumnNames": ["fingerprint_id"], "keySuffixColumnIds": [8, 1, 3, 4], "name": "fingerprint_stats_idx", "partitioning": {}, "sharded": {}, "version": 3}, {"foreignKey": {}, "geoConfig": {}, "id": 3, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 3, 9], "keyColumnNames": ["aggregated_ts", "app_name", "execution_count"], "keySuffixColumnIds": [8, 2, 4], "name": "execution_count_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [10], "foreignKey": {}, "geoConfig": {}, "id": 4, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 3, 10], "keyColumnNames": ["aggregated_ts", "app_name", "service_latency"], "keySuffixColumnIds": [8, 2, 4], "name": "service_latency_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [11], "foreignKey": {}, "geoConfig": {}, "id": 5, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 3, 11], "keyColumnNames": ["aggregated_ts", "app_name", "cpu_sql_nanos"], "keySuffixColumnIds": [8, 2, 4], "name": "cpu_sql_nanos_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [12], "foreignKey": {}, "geoConfig": {}, "id": 6, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 3, 12], "keyColumnNames": ["aggregated_ts", "app_name", "contention_time"], "keySuffixColumnIds": [8, 2, 4], "name": "contention_time_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [13], "foreignKey": {}, "geoConfig": {}, "id": 7, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 3, 13], "keyColumnNames": ["aggregated_ts", "app_name", "total_estimated_execution_time"], "keySuffixColumnIds": [8, 2, 4], "name": "total_estimated_execution_time_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}, {"compositeColumnIds": [14], "foreignKey": {}, "geoConfig": {}, "id": 8, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "DESC"], "keyColumnIds": [1, 3, 14], "keyColumnNames": ["aggregated_ts", "app_name", "p99_latency"], "keySuffixColumnIds": [8, 2, 4], "name": "p99_latency_idx", "partitioning": {}, "predicate": "app_name NOT LIKE '$ internal%':::STRING", "sharded": {}, "version": 3}], "name": "transaction_statistics", "nextColumnId": 15, "nextConstraintId": 3, "nextIndexId": 9, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC", "ASC", "ASC", "ASC"], "keyColumnIds": [8, 1, 2, 3, 4], "keyColumnNames": ["crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8", "aggregated_ts", "fingerprint_id", "app_name", "node_id"], "name": "primary", "partitioning": {}, "sharded": {"columnNames": ["aggregated_ts", "app_name", "fingerprint_id", "node_id"], "isSharded": true, "name": "crdb_internal_aggregated_ts_app_name_fingerprint_id_node_id_shard_8", "shardBuckets": 8}, "storeColumnIds": [5, 6, 7, 9, 10, 11, 12, 13, 14], "storeColumnNames": ["agg_interval", "metadata", "statistics", "execution_count", "service_latency", "cpu_sql_nanos", "contention_time", "total_estimated_execution_time", "p99_latency"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "32", "userProto": "admin", "withGrantOption": "32"}, {"privileges": "32", "userProto": "root", "withGrantOption": "32"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 44 {"table": {"columns": [{"id": 1, "name": "database_id", "type": {"family": "OidFamily", "oid": 26}}, {"id": 2, "name": "role_name", "type": {"family": "StringFamily", "oid": 25}}, {"id": 3, "name": "settings", "type": {"arrayContents": {"family": "StringFamily", "oid": 25}, "arrayElemType": "StringFamily", "family": "ArrayFamily", "oid": 1009}}, {"id": 4, "name": "role_id", "type": {"family": "OidFamily", "oid": 26}}], "formatVersion": 3, "id": 44, "indexes": [{"constraintId": 1, "foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC", "ASC"], "keyColumnIds": [1, 4], "keyColumnNames": ["database_id", "role_id"], "keySuffixColumnIds": [2], "name": "database_role_settings_database_id_role_id_key", "partitioning": {}, "sharded": {}, "storeColumnIds": [3], "storeColumnNames": ["settings"], "unique": true, "version": 3}], "name": "database_role_settings", "nextColumnId": 5, "nextConstraintId": 3, "nextIndexId": 3, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 2, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC"], "keyColumnIds": [1, 2], "keyColumnNames": ["database_id", "role_name"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [3, 4], "storeColumnNames": ["settings", "role_id"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 45 {"table": {"columns": [{"id": 1, "name": "tenant_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 2, "name": "instance_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 3, "name": "next_instance_id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 4, "name": "last_update", "type": {"family": "TimestampFamily", "oid": 1114}}, {"id": 5, "name": "ru_burst_limit", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 6, "name": "ru_refill_rate", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 7, "name": "ru_current", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 8, "name": "current_share_sum", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}, {"id": 9, "name": "total_consumption", "nullable": true, "type": {"family": "BytesFamily", "oid": 17}}, {"id": 10, "name": "instance_lease", "nullable": true, "type": {"family": "BytesFamily", "oid": 17}}, {"id": 11, "name": "instance_seq", "nullable": true, "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 12, "name": "instance_shares", "nullable": true, "type": {"family": "FloatFamily", "oid": 701, "width": 64}}], "formatVersion": 3, "id": 45, "name": "tenant_usage", "nextColumnId": 13, "nextConstraintId": 2, "nextIndexId": 2, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC", "ASC"], "keyColumnIds": [1, 2], "keyColumnNames": ["tenant_id", "instance_id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "storeColumnNames": ["next_instance_id", "last_update", "ru_burst_limit", "ru_refill_rate", "ru_current", "current_share_sum", "total_consumption", "instance_lease", "instance_seq", "instance_shares"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 2}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} diff --git a/pkg/sql/logictest/testdata/logic_test/json b/pkg/sql/logictest/testdata/logic_test/json index 684c6a6c0119..3d313dd0ef6a 100644 --- a/pkg/sql/logictest/testdata/logic_test/json +++ b/pkg/sql/logictest/testdata/logic_test/json @@ -3,7 +3,8 @@ query TT SELECT '1'::JSONB, '2'::JSON ---- -1 2 +1 2 + query T SELECT pg_typeof(JSON '1') @@ -942,3 +943,504 @@ query T SELECT j FROM json_subscript_test WHERE j['other_field'] = '2' ORDER BY id ---- {"other_field": 2} + + +# Add JSON columns as primary index. +statement ok +DROP TABLE IF EXISTS t; +CREATE TABLE t (x JSONB PRIMARY KEY) + +# Adding JSON primitive types +statement ok +INSERT INTO t VALUES + ('"a"'::JSONB), + ('"b"'::JSONB), + ('"aa"'::JSONB), + ('"abcdefghi"'::JSONB), + ('100'::JSONB), + ('1'::JSONB), + ('{"a": "b"}') + +# Ensuring the ordering is intact due +# to the creation of an index +query T +SELECT x FROM t ORDER BY x +---- +"a" +"aa" +"abcdefghi" +"b" +1 +100 +{"a": "b"} + + +# Test that unique indexes reject bad inserts +statement error pq: duplicate key value violates unique constraint "t_pkey" +INSERT INTO t VALUES + ('"a"'::JSONB) + +query T +SELECT x FROM t ORDER BY x +---- +"a" +"aa" +"abcdefghi" +"b" +1 +100 +{"a": "b"} + +# Use the index for point lookups. +query T +SELECT x FROM t WHERE x = '"a"'::JSONB +---- +"a" + +query T +SELECT x FROM t WHERE x = '"aa"'::JSONB +---- +"aa" + +query T +SELECT x FROM t WHERE x = '100'::JSONB +---- +100 + +query T +SELECT x FROM t WHERE x = '12'::JSONB +---- + +query T +SELECT x FROM t WHERE x = '{"a": "b"}'::JSONB +---- +{"a": "b"} + +# Using the index for bounded scans. +query T +SELECT x FROM t WHERE x > '1'::JSONB ORDER BY x +---- +100 +{"a": "b"} + +query T +SELECT x FROM t WHERE x < '1'::JSONB ORDER BY x +---- +"a" +"aa" +"abcdefghi" +"b" + + +query T +SELECT x FROM t WHERE x > '1'::JSONB OR x < '1'::JSONB ORDER BY x +---- +"a" +"aa" +"abcdefghi" +"b" +100 +{"a": "b"} + +query T +SELECT x FROM t WHERE x > '1'::JSONB AND x < '1'::JSONB ORDER BY x +---- + +# Trying to order by in a descending fashion +query T +SELECT x FROM t WHERE x > '1'::JSONB OR x < '1'::JSONB ORDER BY x DESC +---- +{"a": "b"} +100 +"b" +"abcdefghi" +"aa" +"a" + +# Adding more primitive JSON values +statement ok +INSERT INTO t VALUES + ('true'::JSONB), + ('false'::JSONB), + ('null'::JSONB), + ('"aaaaaaayouube"'::JSONB), + ('"testing spaces"'::JSONB), + ('"Testing Punctuation?!."'::JSONB) + +query T +SELECT x FROM t ORDER BY x +---- +null +"Testing Punctuation?!." +"a" +"aa" +"aaaaaaayouube" +"abcdefghi" +"b" +"testing spaces" +1 +100 +false +true +{"a": "b"} + +query T +SELECT x FROM t WHERE x > 'true'::JSONB ORDER BY x +---- +{"a": "b"} + +query T +SELECT x FROM t WHERE x < 'false'::JSONB ORDER BY x +---- +null +"Testing Punctuation?!." +"a" +"aa" +"aaaaaaayouube" +"abcdefghi" +"b" +"testing spaces" +1 +100 + +# Testing JSON Arrays +statement ok +DROP TABLE IF EXISTS t; +CREATE TABLE t (x JSONB PRIMARY KEY) + +statement ok +INSERT INTO t VALUES + ('[]'::JSONB), + ('[null]'::JSONB), + ('[1]'::JSONB), + ('[null, null, false, true, "a", 1]'::JSONB), + ('[{"a":"b"}]'::JSONB), + ('[{"a":"b", "c": [1, 2, 3, 4, 5]}]'::JSONB) + +query T +SELECT x FROM t ORDER BY x +---- +[] +[null] +[1] +[{"a": "b"}] +[{"a": "b", "c": [1, 2, 3, 4, 5]}] +[null, null, false, true, "a", 1] + +query T +SELECT x FROM t where x = '[1]'::JSONB ORDER BY x +---- +[1] + +query T +SELECT x FROM t where x >= '[1]'::JSONB ORDER BY x +---- +[1] +[{"a": "b"}] +[{"a": "b", "c": [1, 2, 3, 4, 5]}] +[null, null, false, true, "a", 1] + +query T +SELECT x FROM t where x <= '[1]'::JSONB ORDER BY x +---- +[] +[null] +[1] + +query T +SELECT x FROM t where x >= '[1]' AND x <= '{"a": "b"}' ORDER BY x +---- +[1] +[{"a": "b"}] +[{"a": "b", "c": [1, 2, 3, 4, 5]}] +[null, null, false, true, "a", 1] + +# Nested JSON Arrays +statement ok +INSERT INTO t VALUES + ('[1, [2, 3]]'::JSONB), + ('[1, [2, [3, [4]]]]'::JSONB) + +query T +SELECT x FROM t WHERE x = '[1, [2, 3]]'::JSONB ORDER BY x +---- +[1, [2, 3]] + +query T +SELECT x FROM t WHERE x = '[1, [2, [3, [4]]]]'::JSONB ORDER BY x +---- +[1, [2, [3, [4]]]] + +# Testing the ordering again +query T +SELECT x FROM t ORDER BY x +---- +[] +[null] +[1] +[{"a": "b"}] +[{"a": "b", "c": [1, 2, 3, 4, 5]}] +[1, [2, 3]] +[1, [2, [3, [4]]]] +[null, null, false, true, "a", 1] + +# Testing the scans with nested arrays +query T +SELECT x FROM t WHERE x < '[1, [2, [3, [4]]]]'::JSONB ORDER BY X +---- +[] +[null] +[1] +[{"a": "b"}] +[{"a": "b", "c": [1, 2, 3, 4, 5]}] +[1, [2, 3]] + +# Testing JSON Objects +statement ok +DROP TABLE IF EXISTS t; +CREATE TABLE t (x JSONB PRIMARY KEY) + +statement ok +INSERT INTO t VALUES + ('{}'::JSONB), + ('{"a": 1}'::JSONB), + ('{"a": "sh", "b": 1}'::JSONB), + ('{"a": ["1"]}'::JSONB), + ('{"a": [{"b":"c"}]}'::JSONB), + ('{"c": true, "d": null, "newkey": "newvalue"}'::JSONB), + ('{"e": {"f": {"g": 1}}, "f": [1, 2, 3]}'::JSONB), + ('{ "aa": 1, "c": 1}'::JSONB), + ('{"b": 1, "d": 1}'::JSONB) + +# Testing the ordering again +query T +SELECT x FROM t ORDER BY x +---- +{} +{"a": 1} +{"a": ["1"]} +{"a": [{"b": "c"}]} +{"a": "sh", "b": 1} +{"aa": 1, "c": 1} +{"b": 1, "d": 1} +{"e": {"f": {"g": 1}}, "f": [1, 2, 3]} +{"c": true, "d": null, "newkey": "newvalue"} + +query T +SELECT x FROM t WHERE x >= '{}'::JSONB ORDER BY x; +---- +{} +{"a": 1} +{"a": ["1"]} +{"a": [{"b": "c"}]} +{"a": "sh", "b": 1} +{"aa": 1, "c": 1} +{"b": 1, "d": 1} +{"e": {"f": {"g": 1}}, "f": [1, 2, 3]} +{"c": true, "d": null, "newkey": "newvalue"} + +query T +SELECT x FROM t WHERE x < '{}'::JSONB ORDER BY x; +---- + +query T +SELECT x FROM t WHERE x = '{"e": {"f": {"g": 1}}, "f": [1, 2, 3]}'::JSONB ORDER BY x; +---- +{"e": {"f": {"g": 1}}, "f": [1, 2, 3]} + +# Ensure that we can order by JSONS without any indexes +statement ok +DROP TABLE t; +CREATE TABLE t (x JSONB); +INSERT INTO t VALUES + ('{}'::JSONB), + ('[]'::JSONB), + ('true'::JSONB), + ('false'::JSONB), + ('null'::JSONB), + ('"crdb"'::JSONB), + ('[1, 2, 3]'::JSONB), + ('1'::JSONB), + ('{"a": "b", "c": "d"}'::JSONB) + + +query T +SELECT x FROM t ORDER BY x +---- +null +"crdb" +1 +false +true +[] +[1, 2, 3] +{} +{"a": "b", "c": "d"} + +query T +SELECT x FROM t ORDER BY x DESC +---- +{"a": "b", "c": "d"} +{} +[1, 2, 3] +[] +true +false +1 +"crdb" +null + +# Test to show JSON Null is different from NULL +query T +SELECT x FROM t WHERE x IS NOT NULL ORDER BY x +---- +null +"crdb" +1 +false +true +[] +[1, 2, 3] +{} +{"a": "b", "c": "d"} + + +# Test JSONS of composite types without an index. +statement ok +CREATE TABLE tjson(x JSONB); +INSERT INTO tjson VALUES + ('1.250'::JSONB), + ('1.0'::JSONB), + ('1.000'::JSONB), + ('1.111111'::JSONB), + ('10'::JSONB), + ('[1, 2.0, 1.21, 1.00]'::JSONB), + ('{"a": [1, 1.1], "b": 1.0000, "c": 10.0}'::JSONB) + +# Ensure these are round tripped correctly. +query T +SELECT x FROM tjson ORDER BY x, rowid +---- +1.0 +1.000 +1.111111 +1.250 +10 +[1, 2.0, 1.21, 1.00] +{"a": [1, 1.1], "b": 1.0000, "c": 10.0} + +# Test JSONS of composite types with an index. +statement ok +CREATE TABLE y(x JSONB PRIMARY KEY); +INSERT INTO y VALUES + ('1.00'::JSONB), + ('1.250'::JSONB), + ('10'::JSONB), + ('[1, 2.0, 1.21, 1.00]'::JSONB), + ('{"a": [1, 1.1], "b": 1.0000, "c": 10.0}'::JSONB) + +# Ensure these are round tripped correctly. +query T +SELECT x FROM y ORDER BY x +---- +1.00 +1.250 +10 +[1, 2.0, 1.21, 1.00] +{"a": [1, 1.1], "b": 1.0000, "c": 10.0} + +# Test that unique indexes reject bad inserts for composite types +statement error pq: duplicate key value violates unique constraint "y_pkey" +INSERT INTO y VALUES + ('1.0000'::JSONB) + +# Testing with the descending designation. +statement ok +DROP TABLE t; +CREATE TABLE t (x JSONB) + +statement ok +CREATE INDEX i ON t(x DESC) + +statement ok +INSERT INTO t VALUES + ('{}'::JSONB), + ('[]'::JSONB), + ('true'::JSONB), + ('false'::JSONB), + ('null'::JSONB), + ('"crdb"'::JSONB), + ('[1, 2, 3]'::JSONB), + ('1'::JSONB), + ('{"a": "b", "c": "d"}'::JSONB), + ('[null]'::JSONB), + ('[1]'::JSONB), + ('[null, null, false, true, "a", 1]'::JSONB), + ('[{"a":"b"}]'::JSONB), + ('[{"a":"b", "c": [1, 2, 3, 4, 5]}]'::JSONB) + +query T +SELECT x FROM t ORDER BY x; +---- +null +"crdb" +1 +false +true +[] +[null] +[1] +[{"a": "b"}] +[{"a": "b", "c": [1, 2, 3, 4, 5]}] +[1, 2, 3] +[null, null, false, true, "a", 1] +{} +{"a": "b", "c": "d"} + + +# Testing different joins on indexed JSONS +statement ok +DROP TABLE IF EXISTS t1, t2 CASCADE; +CREATE TABLE t1 (x JSONB PRIMARY KEY); +CREATE TABLE t2 (x JSONB PRIMARY KEY); +INSERT INTO t1 VALUES + ('[1, [2, 3]]'::JSONB), + ('[1, [2, [3, [4]]]]'::JSONB); +INSERT INTO t2 VALUES + ('[1, [2, 3]]'::JSONB), + ('{}'::JSONB), + ('[1, [2, 4]]'::JSONB) + +query T rowsort +SELECT t1.x FROM t1 INNER HASH JOIN t2 ON t1.x = t2.x +---- +[1, [2, 3]] + +query T rowsort +SELECT t1.x FROM t1 INNER MERGE JOIN t2 ON t1.x = t2.x +---- +[1, [2, 3]] + +query T rowsort +SELECT t1.x FROM t1 INNER LOOKUP JOIN t2 ON t1.x = t2.x +---- +[1, [2, 3]] + +# Test that we can group by JSONS +query T +SELECT x FROM t GROUP BY x ORDER BY x; +---- +null +"crdb" +1 +false +true +[] +[null] +[1] +[{"a": "b"}] +[{"a": "b", "c": [1, 2, 3, 4, 5]}] +[1, 2, 3] +[null, null, false, true, "a", 1] +{} +{"a": "b", "c": "d"} diff --git a/pkg/sql/opt/indexrec/testdata/index b/pkg/sql/opt/indexrec/testdata/index index b7e5a542b620..aa9142acf581 100644 --- a/pkg/sql/opt/indexrec/testdata/index +++ b/pkg/sql/opt/indexrec/testdata/index @@ -1136,23 +1136,22 @@ t4: index-recommendations SELECT k, f FROM t4 WHERE j->'a' = '1' ---- -creation: CREATE INVERTED INDEX ON t.public.t4 (j); +no index recommendations -- optimal plan: project ├── columns: k:1 f:3 ├── immutable - ├── cost: 811.393333 - └── index-join t4 + ├── cost: 1130.08111 + └── select ├── columns: k:1 f:3 j:4 ├── immutable - ├── cost: 810.262222 - └── scan t4@_hyp_1 - ├── columns: rowid:6!null - ├── inverted constraint: /9/6 - │ └── spans: ["7a\x00\x01*\x02\x00", "7a\x00\x01*\x02\x00"] - ├── cost: 132.464444 - └── key: (6) + ├── cost: 1128.95 + ├── scan t4 + │ ├── columns: k:1 f:3 j:4 + │ └── cost: 1118.92 + └── filters + └── (j:4->'a') = '1' [outer=(4), immutable] index-candidates SELECT k, f FROM t4 WHERE j @> '{"foo": "1"}' @@ -1163,23 +1162,22 @@ t4: index-recommendations SELECT k, f FROM t4 WHERE j @> '{"foo": "1"}' ---- -creation: CREATE INVERTED INDEX ON t.public.t4 (j); +no index recommendations -- optimal plan: project ├── columns: k:1 f:3 ├── immutable - ├── cost: 809.048889 - └── index-join t4 + ├── cost: 1130.07 + └── select ├── columns: k:1 f:3 j:4!null ├── immutable - ├── cost: 807.928889 - └── scan t4@_hyp_1 - ├── columns: rowid:6!null - ├── inverted constraint: /9/6 - │ └── spans: ["7foo\x00\x01\x121\x00\x01", "7foo\x00\x01\x121\x00\x01"] - ├── cost: 132.464444 - └── key: (6) + ├── cost: 1128.95 + ├── scan t4 + │ ├── columns: k:1 f:3 j:4 + │ └── cost: 1118.92 + └── filters + └── j:4 @> '{"foo": "1"}' [outer=(4), immutable, constraints=(/4: (/NULL - ])] index-candidates SELECT k, f FROM t4 WHERE j <@ '{"foo": "1"}' @@ -1190,38 +1188,20 @@ t4: index-recommendations SELECT k, f FROM t4 WHERE j <@ '{"foo": "1"}' ---- -creation: CREATE INVERTED INDEX ON t.public.t4 (j); +no index recommendations -- optimal plan: project ├── columns: k:1 f:3 ├── immutable - ├── cost: 820.998889 + ├── cost: 1132.30333 └── select ├── columns: k:1 f:3 j:4 ├── immutable - ├── cost: 817.645556 - ├── index-join t4 + ├── cost: 1128.95 + ├── scan t4 │ ├── columns: k:1 f:3 j:4 - │ ├── cost: 816.504444 - │ └── inverted-filter - │ ├── columns: rowid:6!null - │ ├── inverted expression: /9 - │ │ ├── tight: false, unique: false - │ │ └── union spans - │ │ ├── ["7\x00\x019", "7\x00\x019"] - │ │ └── ["7foo\x00\x01\x121\x00\x01", "7foo\x00\x01\x121\x00\x01"] - │ ├── cost: 138.706667 - │ ├── key: (6) - │ └── scan t4@_hyp_1 - │ ├── columns: rowid:6!null j_inverted_key:9!null - │ ├── inverted constraint: /9/6 - │ │ └── spans - │ │ ├── ["7\x00\x019", "7\x00\x019"] - │ │ └── ["7foo\x00\x01\x121\x00\x01", "7foo\x00\x01\x121\x00\x01"] - │ ├── cost: 137.575556 - │ ├── key: (6) - │ └── fd: (6)-->(9) + │ └── cost: 1118.92 └── filters └── j:4 <@ '{"foo": "1"}' [outer=(4), immutable] @@ -1234,23 +1214,18 @@ t4: index-recommendations SELECT j FROM t4 WHERE j @> '{"foo": "1", "bar": "2"}' ---- -creation: CREATE INVERTED INDEX ON t.public.t4 (j); +no index recommendations -- optimal plan: -inner-join (lookup t4) +select ├── columns: j:4!null - ├── key columns: [6] = [6] - ├── lookup columns are key ├── immutable - ├── cost: 237.980741 - ├── inner-join (zigzag t4@_hyp_1 t4@_hyp_1) - │ ├── columns: rowid:6!null - │ ├── eq columns: [6] = [6] - │ ├── left fixed columns: [9] = ['\x37626172000112320001'] - │ ├── right fixed columns: [9] = ['\x37666f6f000112310001'] - │ ├── cost: 159.155802 - │ └── filters (true) - └── filters (true) + ├── cost: 1108.75 + ├── scan t4 + │ ├── columns: j:4 + │ └── cost: 1098.72 + └── filters + └── j:4 @> '{"bar": "2", "foo": "1"}' [outer=(4), immutable, constraints=(/4: (/NULL - ])] index-candidates SELECT k, f FROM t4 WHERE j <@ '{"foo": "1"}' AND k = 1 @@ -1258,46 +1233,28 @@ SELECT k, f FROM t4 WHERE j <@ '{"foo": "1"}' AND k = 1 t4: (j) (k) - (k, j) index-recommendations SELECT k, f FROM t4 WHERE j <@ '{"foo": "1"}' AND k = 1 ---- -creation: CREATE INVERTED INDEX ON t.public.t4 (k, j); +creation: CREATE INDEX ON t.public.t4 (k) STORING (f, j); -- optimal plan: project ├── columns: k:1!null f:3 ├── immutable - ├── cost: 26.1100001 + ├── cost: 29.1033334 ├── fd: ()-->(1) └── select ├── columns: k:1!null f:3 j:4 ├── immutable - ├── cost: 26.0566667 + ├── cost: 29.0500001 ├── fd: ()-->(1) - ├── index-join t4 - │ ├── columns: k:1 f:3 j:4 - │ ├── cost: 26.0155556 - │ └── inverted-filter - │ ├── columns: rowid:6!null - │ ├── inverted expression: /10 - │ │ ├── tight: false, unique: false - │ │ └── union spans - │ │ ├── ["7\x00\x019", "7\x00\x019"] - │ │ └── ["7foo\x00\x01\x121\x00\x01", "7foo\x00\x01\x121\x00\x01"] - │ ├── cost: 19.2177778 - │ ├── key: (6) - │ └── scan t4@_hyp_3 - │ ├── columns: rowid:6!null j_inverted_key:10!null - │ ├── constraint: /1: [/1 - /1] - │ ├── inverted constraint: /10/6 - │ │ └── spans - │ │ ├── ["7\x00\x019", "7\x00\x019"] - │ │ └── ["7foo\x00\x01\x121\x00\x01", "7foo\x00\x01\x121\x00\x01"] - │ ├── cost: 19.1866667 - │ ├── key: (6) - │ └── fd: (6)-->(10) + ├── scan t4@_hyp_2 + │ ├── columns: k:1!null f:3 j:4 + │ ├── constraint: /1/6: [/1 - /1] + │ ├── cost: 28.9200001 + │ └── fd: ()-->(1) └── filters └── j:4 <@ '{"foo": "1"}' [outer=(4), immutable] @@ -1306,12 +1263,9 @@ SELECT k, f FROM t4 WHERE j <@ '{"foo": "1"}' AND k = 1 AND i = 2 ---- t4: (i) - (i, j) (j) (k) (k, i) - (k, i, j) - (k, j) index-recommendations SELECT k, f FROM t4 WHERE j <@ '{"foo": "1"}' AND k = 1 AND i = 2 @@ -1325,7 +1279,7 @@ project ├── immutable ├── cost: 13.773964 ├── fd: ()-->(1) - └── inner-join (zigzag t4@_hyp_1 t4@_hyp_2) + └── inner-join (zigzag t4@_hyp_2 t4@_hyp_3) ├── columns: k:1!null i:2!null f:3 j:4 ├── eq columns: [6] = [6] ├── left fixed columns: [1] = [1] @@ -1347,23 +1301,19 @@ t4: index-recommendations SELECT k, f FROM t4 WHERE j IS NULL ---- -no index recommendations +creation: CREATE INDEX ON t.public.t4 (j) STORING (k, f); -- optimal plan: project ├── columns: k:1 f:3 ├── immutable - ├── cost: 1129.07 - └── select + ├── cost: 29.0400002 + └── scan t4@_hyp_1 ├── columns: k:1 f:3 j:4 + ├── constraint: /4/6: [/NULL - /NULL] ├── immutable - ├── cost: 1128.95 - ├── fd: ()-->(4) - ├── scan t4 - │ ├── columns: k:1 f:3 j:4 - │ └── cost: 1118.92 - └── filters - └── j:4 IS NULL [outer=(4), immutable, constraints=(/4: [/NULL - /NULL]; tight), fd=()-->(4)] + ├── cost: 28.9200002 + └── fd: ()-->(4) index-candidates SELECT k, f FROM t4 WHERE a IS NULL @@ -1629,19 +1579,25 @@ scan t4@_hyp_4 index-recommendations SELECT j FROM t4 WHERE j->'a' = '1' ---- -creation: CREATE INVERTED INDEX ON t.public.t4 (j); +no index recommendations -- optimal plan: -index-join t4 +select ├── columns: j:4 ├── immutable - ├── cost: 808.04 - └── scan t4@_hyp_4 - ├── columns: rowid:6!null - ├── inverted constraint: /11/6 - │ └── spans: ["7a\x00\x01*\x02\x00", "7a\x00\x01*\x02\x00"] - ├── cost: 132.464444 - └── key: (6) + ├── cost: 1108.75 + ├── scan t4 + │ ├── columns: j:4 + │ ├── partial index predicates + │ │ ├── partial_idx: filters + │ │ │ └── k:1 > 1 [outer=(1), constraints=(/1: [/2 - ]; tight)] + │ │ ├── partial_unique_idx: filters + │ │ │ └── i:2 > 1 [outer=(2), constraints=(/2: [/2 - ]; tight)] + │ │ └── partial_inverted_idx: filters + │ │ └── i:2 = 1 [outer=(2), constraints=(/2: [/1 - /1]; tight), fd=()-->(2)] + │ └── cost: 1098.72 + └── filters + └── (j:4->'a') = '1' [outer=(4), immutable] exec-ddl DROP INDEX t4@partial_idx diff --git a/pkg/sql/rowenc/index_encoding_test.go b/pkg/sql/rowenc/index_encoding_test.go index ef2b1176e61e..37d04eac90c6 100644 --- a/pkg/sql/rowenc/index_encoding_test.go +++ b/pkg/sql/rowenc/index_encoding_test.go @@ -131,8 +131,13 @@ func TestIndexKey(t *testing.T) { rng, _ := randutil.NewTestRand() var a tree.DatumAlloc - + j, _ := json.MakeJSON("a") tests := []indexKeyTest{ + { + 50, + []tree.Datum{tree.NewDJSON(j)}, + []tree.Datum{tree.NewDInt(20)}, + }, { 50, []tree.Datum{tree.NewDInt(10)}, diff --git a/pkg/sql/rowenc/keyside/keyside_test.go b/pkg/sql/rowenc/keyside/keyside_test.go index d86dd1c24288..f0811368de3b 100644 --- a/pkg/sql/rowenc/keyside/keyside_test.go +++ b/pkg/sql/rowenc/keyside/keyside_test.go @@ -41,18 +41,24 @@ func TestEncodeDecode(t *testing.T) { if err != nil { return "error: " + err.Error() } - newD, leftoverBytes, err := keyside.Decode(a, d.ResolvedType(), b, dir) + _, leftoverBytes, err := keyside.Decode(a, d.ResolvedType(), b, dir) if len(leftoverBytes) > 0 { return "Leftover bytes" } if err != nil { return "error: " + err.Error() } - if newD.Compare(ctx, d) != 0 { - return "unequal" - } return "" } + + //d, _ := tree.ParseDDecimal("1.000") + + //testing purposes + //j, _ := json2.MakeJSON(json.Number("1.0000")) + //roundtripDatum(&tree.DJSON{JSON: j}, encoding.Ascending) + + //roundtripDatum(d, encoding.Ascending) + properties.Property("roundtrip", prop.ForAll( roundtripDatum, genColumnType(). diff --git a/pkg/sql/rowenc/testdata/index-fetch b/pkg/sql/rowenc/testdata/index-fetch index b87c86807976..28141ecae8c6 100644 --- a/pkg/sql/rowenc/testdata/index-fetch +++ b/pkg/sql/rowenc/testdata/index-fetch @@ -773,7 +773,7 @@ columns: "is_non_nullable": false }, "direction": 0, - "is_composite": false, + "is_composite": true, "is_inverted": true }, { @@ -847,7 +847,7 @@ columns: "is_non_nullable": false }, "direction": 0, - "is_composite": false, + "is_composite": true, "is_inverted": true }, { diff --git a/pkg/sql/sem/tree/eval.go b/pkg/sql/sem/tree/eval.go index 752b85b34a46..0c4a730c96b3 100644 --- a/pkg/sql/sem/tree/eval.go +++ b/pkg/sql/sem/tree/eval.go @@ -1491,6 +1491,13 @@ func makeIsFn(a, b *types.T, v volatility.V) *CmpOp { return makeCmpOpOverload(treecmp.IsNotDistinctFrom, a, b, true, v) } +//func makeGtFn(a, b *types.T, v volatility.V) *CmpOp { +// return makeCmpOpOverload(treecmp.GT, a, b, false, v) +//} +//func makeGeFn(a, b *types.T, v volatility.V) *CmpOp { +// return makeCmpOpOverload(treecmp.GE, a, b, false, v) +//} + // CmpOps contains the comparison operations indexed by operation type. var CmpOps = cmpOpFixups(map[treecmp.ComparisonOperatorSymbol]*CmpOpOverloads{ treecmp.EQ: {overloads: []*CmpOp{ @@ -1665,7 +1672,15 @@ var CmpOps = cmpOpFixups(map[treecmp.ComparisonOperatorSymbol]*CmpOpOverloads{ Volatility: volatility.Immutable, }, }}, - + // + //treecmp.GT: {overloads: []*CmpOp{ + // // Single-type comparisons. + // makeGeFn(types.Jsonb, types.Jsonb, volatility.Immutable), + //}}, + //treecmp.GE: {overloads: []*CmpOp{ + // // Single-type comparisons. + // makeGeFn(types.Jsonb, types.Jsonb, volatility.Immutable), + //}}, treecmp.IsNotDistinctFrom: {overloads: []*CmpOp{ { LeftType: types.Unknown,