X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by postgresql.org (Postfix) with ESMTP id 90A299DC869; Tue, 28 Feb 2006 17:15:46 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 19311-09; Tue, 28 Feb 2006 17:15:47 -0400 (AST) X-Greylist: from auto-whitelisted by SQLgrey- X-Greylist: from auto-whitelisted by SQLgrey- Received: from gwmta.wicourts.gov (gwmta.wicourts.gov [165.219.244.99]) by postgresql.org (Postfix) with ESMTP id 9BFEB9DC806; Tue, 28 Feb 2006 17:15:43 -0400 (AST) Received: from Courts-MTA by gwmta.wicourts.gov with Novell_GroupWise; Tue, 28 Feb 2006 15:15:44 -0600 Message-Id: <44046913.EE98.0025.0@wicourts.gov> X-Mailer: Novell GroupWise Internet Agent 7.0 Date: Tue, 28 Feb 2006 15:15:31 -0600 From: "Kevin Grittner" To: "Jim C. Nasby" , "Tom Lane" Cc: , Subject: Re: [PERFORM] temporary indexes References: <44041B68.EE98.0025.0@wicourts.gov> <20060228164515.GS82012@pervasive.com><20060228164515.GS82012@pervasive.com> <16076.1141146348@sss.pgh.pa.us> In-Reply-To: <16076.1141146348@sss.pgh.pa.us> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__PartF6D3BB63.1__=" X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0.085 required=5 tests=[AWL=0.085] X-Spam-Score: 0.085 X-Spam-Level: X-Archive-Number: 200602/1239 X-Sequence-Number: 80377 --=__PartF6D3BB63.1__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline >>> On Tue, Feb 28, 2006 at 11:05 am, in message <16076.1141146348@sss.pgh.pa.us>, Tom Lane wrote: > The limiting factor is that EXISTS subplans > aren't flattened ... and once that's fixed, I doubt the example would > need any new kind of join support. I rewrote the query to use IN predicates rather than EXISTS predicates, and the cost estimates look like this: EXISTS, no index: 1.6 billion EXISTS, with index: 0.023 billion IN, no index: 13.7 billion IN, with index: 10.6 billion At least for the two EXISTS cases, the estimates were roughly accurate. These plans were run against the data after the fix, but analyze has not been run since then, so the estimates should be comparable with the earlier post. I'm not used to using the IN construct this way, so maybe someone can spot something horribly stupid in how I tried to use it. -Kevin --=__PartF6D3BB63.1__= Content-Type: application/octet-stream; name="datafix-in-plan1.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="datafix-in-plan1.txt" IE1lcmdlIEpvaW4gIChjb3N0PTEzNzE4MjkwMDcwLjk4Li4yMzgyMzM5ODM5NC4wNSByb3dzPTEx NDU2IHdpZHRoPTE4MikKICAgTWVyZ2UgQ29uZDogKCgib3V0ZXIiLiI/Y29sdW1uMTc/IiA9ICJp bm5lciIuIj9jb2x1bW44PyIpIEFORCAoIm91dGVyIi4iP2NvbHVtbjE4PyIgPSAiaW5uZXIiLiI/ Y29sdW1uOT8iKSkKICAgSm9pbiBGaWx0ZXI6ICgoKCJpbm5lciIuInN0YXJ0RGF0ZSIpOjpkYXRl IDwgKCJvdXRlciIuInN0YXJ0RGF0ZSIpOjpkYXRlKSBBTkQgKE5PVCAoc3VicGxhbikpKQogICAt PiAgU29ydCAgKGNvc3Q9MTM3MTc5ODQxMzkuODAuLjEzNzE3OTg0MjAwLjUyIHJvd3M9MjQyODkg d2lkdGg9MTYyKQogICAgICAgICBTb3J0IEtleTogKCJBY3Rpb24iLiJqdXJvcklkIik6OmludGVn ZXIsICgiQWN0aW9uIi4ianVyeVllYXIiKTo6YnBjaGFyCiAgICAgICAgIC0+ICBOZXN0ZWQgTG9v cCAgKGNvc3Q9My43Ni4uMTM3MTc5ODIzNzAuNTggcm93cz0yNDI4OSB3aWR0aD0xNjIpCiAgICAg ICAgICAgICAgIC0+ICBIYXNoQWdncmVnYXRlICAoY29zdD0zLjc2Li4zLjc3IHJvd3M9MSB3aWR0 aD0xMCkKICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgIkp1cnlDb250 cm9sX3BrZXkiIG9uICJKdXJ5Q29udHJvbCIgamMgIChjb3N0PTAuMDAuLjMuNzUgcm93cz0xIHdp ZHRoPTEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAoKCJjb3VudHlO byIpOjpzbWFsbGludCA9IDQwKQogICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyAi QWN0aW9uX3BrZXkiIG9uICJBY3Rpb24iICAoY29zdD0wLjAwLi4xMzcxNzk4MjA3NC42MSByb3dz PTIzMzc3IHdpZHRoPTE1NCkKICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCgoIkFj dGlvbiIuImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApIEFORCAoKCJBY3Rpb24iLiJqdXJ5WWVh ciIpOjpicGNoYXIgPSAoIm91dGVyIi4ianVyeVllYXIiKTo6YnBjaGFyKSkKICAgICAgICAgICAg ICAgICAgICAgRmlsdGVyOiAoKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ0FQT09MJzo6YnBj aGFyKSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ1JQT09MJzo6YnBjaGFyKSBBTkQg KCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ0FQQU4nOjpicGNoYXIpIEFORCAoKCJhY3Rpb25D b2RlIik6OmJwY2hhciA8PiAnUlBBTic6OmJwY2hhcikgQU5EICgoImFjdGlvbkNvZGUiKTo6YnBj aGFyIDw+ICdNUE9PTCc6OmJwY2hhcikgQU5EICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyIDw+ICdN UEFOJzo6YnBjaGFyKSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ1BSJzo6YnBjaGFy KSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ0pQUCc6OmJwY2hhcikgQU5EICgoImFj dGlvbkNvZGUiKTo6YnBjaGFyIDw+ICdNRlJPTSc6OmJwY2hhcikgQU5EICgoImFjdGlvbkNvZGUi KTo6YnBjaGFyIDw+ICdNTkVYVCc6OmJwY2hhcikgQU5EICgoKCJwb29sSWQiIElTIE5VTEwpIEFO RCAoc3VicGxhbikpIE9SICgoInBhbmVsSWQiIElTIE5VTEwpIEFORCAoc3VicGxhbikpKSkKICAg ICAgICAgICAgICAgICAgICAgU3ViUGxhbgogICAgICAgICAgICAgICAgICAgICAgIC0+ICBCaXRt YXAgSGVhcCBTY2FuIG9uICJBY3Rpb24iIGExICAoY29zdD02NTkxLjMyLi4yMTI2MTAuMDQgcm93 cz01MTIxMyB3aWR0aD0xNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNoZWNrIENv bmQ6ICgoKCJjb3VudHlObyIpOjpzbWFsbGludCA9IDQwKSBBTkQgKCgiYWN0aW9uU2VxTm8iKTo6 aW50ZWdlciA8ICgkMCk6OmludGVnZXIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZp bHRlcjogKCgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0gJ0FQQU4nOjpicGNoYXIpIE9SICgoImFj dGlvbkNvZGUiKTo6YnBjaGFyID0gJ01QQU4nOjpicGNoYXIpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBvbiAiQWN0aW9uX3BrZXkiICAoY29zdD0w LjAwLi42NTkxLjMyIHJvd3M9NjI1Mzg2IHdpZHRoPTApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSW5kZXggQ29uZDogKCgoImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApIEFO RCAoKCJhY3Rpb25TZXFObyIpOjppbnRlZ2VyIDwgKCQwKTo6aW50ZWdlcikpCiAgICAgICAgICAg ICAgICAgICAgICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4gb24gIkFjdGlvbiIgYTEgIChjb3N0PTY1 OTEuMzIuLjIxMjYxMC4wNCByb3dzPTY3MzM1IHdpZHRoPTE0KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJlY2hlY2sgQ29uZDogKCgoImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApIEFO RCAoKCJhY3Rpb25TZXFObyIpOjppbnRlZ2VyIDwgKCQwKTo6aW50ZWdlcikpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPSAnQVBP T0wnOjpicGNoYXIpIE9SICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0gJ01QT09MJzo6YnBjaGFy KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgQml0bWFwIEluZGV4IFNjYW4gb24g IkFjdGlvbl9wa2V5IiAgKGNvc3Q9MC4wMC4uNjU5MS4zMiByb3dzPTYyNTM4NiB3aWR0aD0wKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgoKCJjb3VudHlO byIpOjpzbWFsbGludCA9IDQwKSBBTkQgKCgiYWN0aW9uU2VxTm8iKTo6aW50ZWdlciA8ICgkMCk6 OmludGVnZXIpKQogICAtPiAgU29ydCAgKGNvc3Q9MzA1OTMxLjE4Li4zMDY5MjkuNzggcm93cz0z OTk0NDAgd2lkdGg9NTApCiAgICAgICAgIFNvcnQgS2V5OiAoYTIuImp1cm9ySWQiKTo6aW50ZWdl ciwgKGEyLiJqdXJ5WWVhciIpOjpicGNoYXIKICAgICAgICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4g b24gIkFjdGlvbiIgYTIgIChjb3N0PTE1MDgwLjU1Li4yNjAxODUuOTAgcm93cz0zOTk0NDAgd2lk dGg9NTApCiAgICAgICAgICAgICAgIFJlY2hlY2sgQ29uZDogKCgiY291bnR5Tm8iKTo6c21hbGxp bnQgPSA0MCkKICAgICAgICAgICAgICAgRmlsdGVyOiAoKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIg PSAnQVBPT0wnOjpicGNoYXIpIE9SICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0gJ1JQT09MJzo6 YnBjaGFyKSBPUiAoKCJhY3Rpb25Db2RlIik6OmJwY2hhciA9ICdBUEFOJzo6YnBjaGFyKSBPUiAo KCJhY3Rpb25Db2RlIik6OmJwY2hhciA9ICdSUEFOJzo6YnBjaGFyKSBPUiAoKCJhY3Rpb25Db2Rl Iik6OmJwY2hhciA9ICdNUE9PTCc6OmJwY2hhcikgT1IgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIg PSAnTVBBTic6OmJwY2hhcikpCiAgICAgICAgICAgICAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBv biAiQWN0aW9uX3BrZXkiICAoY29zdD0wLjAwLi4xNTA4MC41NSByb3dzPTE4NzYxNTggd2lkdGg9 MCkKICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCgiY291bnR5Tm8iKTo6c21hbGxp bnQgPSA0MCkKICAgU3ViUGxhbgogICAgIC0+ICBCaXRtYXAgSGVhcCBTY2FuIG9uICJBY3Rpb24i IGEzICAoY29zdD0xNTA4MC41NS4uMjc4OTQ3LjQ4IHJvd3M9MTExMCB3aWR0aD0xNCkKICAgICAg ICAgICBSZWNoZWNrIENvbmQ6ICgoImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApCiAgICAgICAg ICAgRmlsdGVyOiAoKCgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0gJ0FQT09MJzo6YnBjaGFyKSBP UiAoKCJhY3Rpb25Db2RlIik6OmJwY2hhciA9ICdSUE9PTCc6OmJwY2hhcikgT1IgKCgiYWN0aW9u Q29kZSIpOjpicGNoYXIgPSAnQVBBTic6OmJwY2hhcikgT1IgKCgiYWN0aW9uQ29kZSIpOjpicGNo YXIgPSAnUlBBTic6OmJwY2hhcikgT1IgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPSAnTVBPT0wn OjpicGNoYXIpIE9SICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0gJ01QQU4nOjpicGNoYXIpKSBB TkQgKCgic3RhcnREYXRlIik6OmRhdGUgPCAoJDcpOjpkYXRlKSBBTkQgKCgic3RhcnREYXRlIik6 OmRhdGUgPj0gKCQ4KTo6ZGF0ZSkgQU5EICgoKCJzdGFydERhdGUiKTo6ZGF0ZSA+ICgkOCk6OmRh dGUpIE9SICgoImFjdGlvblNlcU5vIik6OmludGVnZXIgPiAoJDkpOjppbnRlZ2VyKSkpCiAgICAg ICAgICAgLT4gIEJpdG1hcCBJbmRleCBTY2FuIG9uICJBY3Rpb25fcGtleSIgIChjb3N0PTAuMDAu LjE1MDgwLjU1IHJvd3M9MTg3NjE1OCB3aWR0aD0wKQogICAgICAgICAgICAgICAgIEluZGV4IENv bmQ6ICgoImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApCigzNiByb3dzKQoK --=__PartF6D3BB63.1__= Content-Type: application/octet-stream; name="datafix-in-plan2.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="datafix-in-plan2.txt" IE5lc3RlZCBMb29wICAoY29zdD0zLjc0Li4xMDYyNTc1OTYxMi4yNiByb3dzPTg1NTIgd2lkdGg9 MTU0KQogICBKb2luIEZpbHRlcjogKCgoImlubmVyIi4ic3RhcnREYXRlIik6OmRhdGUgPCAoIm91 dGVyIi4ic3RhcnREYXRlIik6OmRhdGUpIEFORCAoTk9UIChzdWJwbGFuKSkpCiAgIC0+ICBOZXN0 ZWQgTG9vcCAgKGNvc3Q9My43NC4uNzc0NTQ1NzQ2OS41OSByb3dzPTE5MjEyIHdpZHRoPTEzNCkK ICAgICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUgIChjb3N0PTMuNzQuLjMuNzUgcm93cz0xIHdpZHRo PTEwKQogICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyAiSnVyeUNvbnRyb2xfcGtl eSIgb24gIkp1cnlDb250cm9sIiBqYyAgKGNvc3Q9MC4wMC4uMy43MyByb3dzPTEgd2lkdGg9MTAp CiAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgoImNvdW50eU5vIik6OnNtYWxsaW50 ID0gNDApCiAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nICJBY3Rpb25fanVyb3IiIG9uICJB Y3Rpb24iICAoY29zdD0wLjAwLi43NzQ1NDU3MTc5LjAwIHJvd3M9MjI5NDggd2lkdGg9MTI2KQog ICAgICAgICAgICAgICBJbmRleCBDb25kOiAoKCgiQWN0aW9uIi4iY291bnR5Tm8iKTo6c21hbGxp bnQgPSA0MCkgQU5EICgoIkFjdGlvbiIuImp1cnlZZWFyIik6OmJwY2hhciA9ICgib3V0ZXIiLiJq dXJ5WWVhciIpOjpicGNoYXIpKQogICAgICAgICAgICAgICBGaWx0ZXI6ICgoKCJhY3Rpb25Db2Rl Iik6OmJwY2hhciA8PiAnQVBPT0wnOjpicGNoYXIpIEFORCAoKCJhY3Rpb25Db2RlIik6OmJwY2hh ciA8PiAnUlBPT0wnOjpicGNoYXIpIEFORCAoKCJhY3Rpb25Db2RlIik6OmJwY2hhciA8PiAnQVBB Tic6OmJwY2hhcikgQU5EICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyIDw+ICdSUEFOJzo6YnBjaGFy KSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ01QT09MJzo6YnBjaGFyKSBBTkQgKCgi YWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ01QQU4nOjpicGNoYXIpIEFORCAoKCJhY3Rpb25Db2Rl Iik6OmJwY2hhciA8PiAnUFInOjpicGNoYXIpIEFORCAoKCJhY3Rpb25Db2RlIik6OmJwY2hhciA8 PiAnSlBQJzo6YnBjaGFyKSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ01GUk9NJzo6 YnBjaGFyKSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPD4gJ01ORVhUJzo6YnBjaGFyKSBB TkQgKCgoInBvb2xJZCIgSVMgTlVMTCkgQU5EIChzdWJwbGFuKSkgT1IgKCgicGFuZWxJZCIgSVMg TlVMTCkgQU5EIChzdWJwbGFuKSkpKQogICAgICAgICAgICAgICBTdWJQbGFuCiAgICAgICAgICAg ICAgICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4gb24gIkFjdGlvbiIgYTEgIChjb3N0PTYxNDY0LjI2 Li42NjA0MC4wMCByb3dzPTU2MjAyIHdpZHRoPTE0KQogICAgICAgICAgICAgICAgICAgICAgIFJl Y2hlY2sgQ29uZDogKCgoKCgiY291bnR5Tm8iKTo6c21hbGxpbnQgPSA0MCkgQU5EICgoImFjdGlv blNlcU5vIik6OmludGVnZXIgPCAoJDApOjppbnRlZ2VyKSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpi cGNoYXIgPSAnQVBBTic6OmJwY2hhcikpIE9SICgoKCJjb3VudHlObyIpOjpzbWFsbGludCA9IDQw KSBBTkQgKCgiYWN0aW9uU2VxTm8iKTo6aW50ZWdlciA8ICgkMCk6OmludGVnZXIpIEFORCAoKCJh Y3Rpb25Db2RlIik6OmJwY2hhciA9ICdNUEFOJzo6YnBjaGFyKSkpIEFORCAoKCJjb3VudHlObyIp OjpzbWFsbGludCA9IDQwKSBBTkQgKCgiYWN0aW9uU2VxTm8iKTo6aW50ZWdlciA8ICgkMCk6Omlu dGVnZXIpKQogICAgICAgICAgICAgICAgICAgICAgIC0+ICBCaXRtYXBBbmQgIChjb3N0PTYxNDY0 LjI2Li42MTQ2NC4yNiByb3dzPTI0MTIgd2lkdGg9MCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtPiAgQml0bWFwT3IgIChjb3N0PTU0ODY4LjY5Li41NDg2OC42OSByb3dzPTU2NjkwIHdp ZHRoPTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEJpdG1hcCBJbmRl eCBTY2FuIG9uICJBY3Rpb25fanVyb3IiICAoY29zdD0wLjAwLi4yNzQzNC4zNCByb3dzPTUwNjU2 IHdpZHRoPTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgg Q29uZDogKCgoImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApIEFORCAoKCJhY3Rpb25TZXFObyIp OjppbnRlZ2VyIDwgKCQwKTo6aW50ZWdlcikgQU5EICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0g J0FQQU4nOjpicGNoYXIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBC aXRtYXAgSW5kZXggU2NhbiBvbiAiQWN0aW9uX2p1cm9yIiAgKGNvc3Q9MC4wMC4uMjc0MzQuMzQg cm93cz02MDM0IHdpZHRoPTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSW5kZXggQ29uZDogKCgoImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApIEFORCAoKCJhY3Rp b25TZXFObyIpOjppbnRlZ2VyIDwgKCQwKTo6aW50ZWdlcikgQU5EICgoImFjdGlvbkNvZGUiKTo6 YnBjaGFyID0gJ01QQU4nOjpicGNoYXIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBCaXRtYXAgSW5kZXggU2NhbiBvbiAiQWN0aW9uX3BrZXkiICAoY29zdD0wLjAwLi42NTk1LjMy IHJvd3M9NjI1Mzg2IHdpZHRoPTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SW5kZXggQ29uZDogKCgoImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApIEFORCAoKCJhY3Rpb25T ZXFObyIpOjppbnRlZ2VyIDwgKCQwKTo6aW50ZWdlcikpCiAgICAgICAgICAgICAgICAgLT4gIEJp dG1hcCBIZWFwIFNjYW4gb24gIkFjdGlvbiIgYTEgIChjb3N0PTYxNDY0LjI2Li42NjY4Ny4xNyBy b3dzPTY0NDYwIHdpZHRoPTE0KQogICAgICAgICAgICAgICAgICAgICAgIFJlY2hlY2sgQ29uZDog KCgoKCgiY291bnR5Tm8iKTo6c21hbGxpbnQgPSA0MCkgQU5EICgoImFjdGlvblNlcU5vIik6Omlu dGVnZXIgPCAoJDApOjppbnRlZ2VyKSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPSAnQVBP T0wnOjpicGNoYXIpKSBPUiAoKCgiY291bnR5Tm8iKTo6c21hbGxpbnQgPSA0MCkgQU5EICgoImFj dGlvblNlcU5vIik6OmludGVnZXIgPCAoJDApOjppbnRlZ2VyKSBBTkQgKCgiYWN0aW9uQ29kZSIp OjpicGNoYXIgPSAnTVBPT0wnOjpicGNoYXIpKSkgQU5EICgoImNvdW50eU5vIik6OnNtYWxsaW50 ID0gNDApIEFORCAoKCJhY3Rpb25TZXFObyIpOjppbnRlZ2VyIDwgKCQwKTo6aW50ZWdlcikpCiAg ICAgICAgICAgICAgICAgICAgICAgLT4gIEJpdG1hcEFuZCAgKGNvc3Q9NjE0NjQuMjYuLjYxNDY0 LjI2IHJvd3M9Mjc2NyB3aWR0aD0wKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBC aXRtYXBPciAgKGNvc3Q9NTQ4NjguNjkuLjU0ODY4LjY5IHJvd3M9NjUwMjkgd2lkdGg9MCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgQml0bWFwIEluZGV4IFNjYW4gb24g IkFjdGlvbl9qdXJvciIgIChjb3N0PTAuMDAuLjI3NDM0LjM0IHJvd3M9NTg5OTUgd2lkdGg9MCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAoKCgi Y291bnR5Tm8iKTo6c21hbGxpbnQgPSA0MCkgQU5EICgoImFjdGlvblNlcU5vIik6OmludGVnZXIg PCAoJDApOjppbnRlZ2VyKSBBTkQgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPSAnQVBPT0wnOjpi cGNoYXIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBCaXRtYXAgSW5k ZXggU2NhbiBvbiAiQWN0aW9uX2p1cm9yIiAgKGNvc3Q9MC4wMC4uMjc0MzQuMzQgcm93cz02MDM0 IHdpZHRoPTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgg Q29uZDogKCgoImNvdW50eU5vIik6OnNtYWxsaW50ID0gNDApIEFORCAoKCJhY3Rpb25TZXFObyIp OjppbnRlZ2VyIDwgKCQwKTo6aW50ZWdlcikgQU5EICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0g J01QT09MJzo6YnBjaGFyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgQml0bWFw IEluZGV4IFNjYW4gb24gIkFjdGlvbl9wa2V5IiAgKGNvc3Q9MC4wMC4uNjU5NS4zMiByb3dzPTYy NTM4NiB3aWR0aD0wKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENv bmQ6ICgoKCJjb3VudHlObyIpOjpzbWFsbGludCA9IDQwKSBBTkQgKCgiYWN0aW9uU2VxTm8iKTo6 aW50ZWdlciA8ICgkMCk6OmludGVnZXIpKQogICAtPiAgSW5kZXggU2NhbiB1c2luZyAiQWN0aW9u X2p1cm9yIiBvbiAiQWN0aW9uIiBhMiAgKGNvc3Q9MC4wMC4uMTAuMjIgcm93cz0xIHdpZHRoPTUw KQogICAgICAgICBJbmRleCBDb25kOiAoKChhMi4iY291bnR5Tm8iKTo6c21hbGxpbnQgPSA0MCkg QU5EICgoYTIuImp1cnlZZWFyIik6OmJwY2hhciA9ICgib3V0ZXIiLiJqdXJ5WWVhciIpOjpicGNo YXIpIEFORCAoKGEyLiJqdXJvcklkIik6OmludGVnZXIgPSAoIm91dGVyIi4ianVyb3JJZCIpOjpp bnRlZ2VyKSkKICAgICAgICAgRmlsdGVyOiAoKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPSAnQVBP T0wnOjpicGNoYXIpIE9SICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0gJ1JQT09MJzo6YnBjaGFy KSBPUiAoKCJhY3Rpb25Db2RlIik6OmJwY2hhciA9ICdBUEFOJzo6YnBjaGFyKSBPUiAoKCJhY3Rp b25Db2RlIik6OmJwY2hhciA9ICdSUEFOJzo6YnBjaGFyKSBPUiAoKCJhY3Rpb25Db2RlIik6OmJw Y2hhciA9ICdNUE9PTCc6OmJwY2hhcikgT1IgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPSAnTVBB Tic6OmJwY2hhcikpCiAgIFN1YlBsYW4KICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyAiQWN0aW9u X3BrZXkiIG9uICJBY3Rpb24iIGEzICAoY29zdD0wLjAwLi4yOTk4MjAuOTggcm93cz0xMDM5IHdp ZHRoPTE0KQogICAgICAgICAgIEluZGV4IENvbmQ6ICgoImNvdW50eU5vIik6OnNtYWxsaW50ID0g NDApCiAgICAgICAgICAgRmlsdGVyOiAoKCgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0gJ0FQT09M Jzo6YnBjaGFyKSBPUiAoKCJhY3Rpb25Db2RlIik6OmJwY2hhciA9ICdSUE9PTCc6OmJwY2hhcikg T1IgKCgiYWN0aW9uQ29kZSIpOjpicGNoYXIgPSAnQVBBTic6OmJwY2hhcikgT1IgKCgiYWN0aW9u Q29kZSIpOjpicGNoYXIgPSAnUlBBTic6OmJwY2hhcikgT1IgKCgiYWN0aW9uQ29kZSIpOjpicGNo YXIgPSAnTVBPT0wnOjpicGNoYXIpIE9SICgoImFjdGlvbkNvZGUiKTo6YnBjaGFyID0gJ01QQU4n OjpicGNoYXIpKSBBTkQgKCgic3RhcnREYXRlIik6OmRhdGUgPCAoJDcpOjpkYXRlKSBBTkQgKCgi c3RhcnREYXRlIik6OmRhdGUgPj0gKCQ4KTo6ZGF0ZSkgQU5EICgoKCJzdGFydERhdGUiKTo6ZGF0 ZSA+ICgkOCk6OmRhdGUpIE9SICgoImFjdGlvblNlcU5vIik6OmludGVnZXIgPiAoJDkpOjppbnRl Z2VyKSkpCigzNyByb3dzKQoK --=__PartF6D3BB63.1__= Content-Type: application/octet-stream; name="datafix-in.qry" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="datafix-in.qry" VVBEQVRFICJBY3Rpb24iCiAgU0VUICJwb29sSWQiICA9IGEyLiJwb29sSWQiLAogICAgICAicGFu ZWxJZCIgPSBhMi4icGFuZWxJZCIKICBGUk9NICJBY3Rpb24iIGEyCiAgV0hFUkUgIkFjdGlvbiIu ImFjdGlvbkNvZGUiIG5vdCBpbgogICAgICAoJ0FQT09MJywnUlBPT0wnLCdBUEFOJywnUlBBTics ICdNUE9PTCcsJ01QQU4nLCAnUFInLCdKUFAnLCAnTUZST00nLCAnTU5FWFQnKQogICAgQU5EICJB Y3Rpb24iLiJjb3VudHlObyIgPSA0MAogICAgQU5EICgiQWN0aW9uIi4iY291bnR5Tm8iLCAiQWN0 aW9uIi4ianVyeVllYXIiKSBJTgogICAgICAgICgKICAgICAgICAgIFNFTEVDVCBqYy4iY291bnR5 Tm8iLCBqYy4ianVyeVllYXIiCiAgICAgICAgICAgIEZST00gIkp1cnlDb250cm9sIiBqYwogICAg ICAgICAgICBXSEVSRSBqYy4iY291bnR5Tm8iID0gNDAKICAgICAgICApCiAgICBBTkQgKCAgKCAi QWN0aW9uIi4icG9vbElkIiBpcyBudWxsCiAgICAgICAgIEFORCAoIkFjdGlvbiIuImNvdW50eU5v IiwgIkFjdGlvbiIuImp1cnlZZWFyIiwgIkFjdGlvbiIuImp1cm9ySWQiKSBJTgogICAgICAgICAg ICAgKAogICAgICAgICAgICAgICBzZWxlY3QgYTEuImNvdW50eU5vIiwgYTEuImp1cnlZZWFyIiwg YTEuImp1cm9ySWQiIGZyb20gIkFjdGlvbiIgYTEKICAgICAgICAgICAgICAgICB3aGVyZSBhMS4i Y291bnR5Tm8iICAgID0gNDAKICAgICAgICAgICAgICAgICAgIGFuZCBhMS4iYWN0aW9uU2VxTm8i IDwgIkFjdGlvbiIuImFjdGlvblNlcU5vIgogICAgICAgICAgICAgICAgICAgYW5kIGExLiJhY3Rp b25Db2RlIiBpbiAoJ0FQT09MJywnTVBPT0wnKQogICAgICAgICAgICAgKQogICAgICAgICAgICkK ICAgICAgIE9SICAoICJBY3Rpb24iLiJwYW5lbElkIiBpcyBudWxsCiAgICAgICAgIEFORCAoIkFj dGlvbiIuImNvdW50eU5vIiwgIkFjdGlvbiIuImp1cnlZZWFyIiwgIkFjdGlvbiIuImp1cm9ySWQi KSBJTgogICAgICAgICAgICAgKAogICAgICAgICAgICAgICBzZWxlY3QgYTEuImNvdW50eU5vIiwg YTEuImp1cnlZZWFyIiwgYTEuImp1cm9ySWQiIGZyb20gIkFjdGlvbiIgYTEKICAgICAgICAgICAg ICAgICB3aGVyZSBhMS4iY291bnR5Tm8iICAgID0gNDAKICAgICAgICAgICAgICAgICAgIGFuZCBh MS4iYWN0aW9uU2VxTm8iIDwgIkFjdGlvbiIuImFjdGlvblNlcU5vIgogICAgICAgICAgICAgICAg ICAgYW5kIGExLiJhY3Rpb25Db2RlIiBpbiAoJ0FQQU4nLCdNUEFOJykKICAgICAgICAgICAgICkK ICAgICAgICAgICApCiAgICAgICAgKQogICAgQU5EIGEyLiJjb3VudHlObyIgPSA0MAogICAgQU5E IGEyLiJjb3VudHlObyIgPSAiQWN0aW9uIi4iY291bnR5Tm8iCiAgICBBTkQgYTIuImp1cnlZZWFy IiA9ICJBY3Rpb24iLiJqdXJ5WWVhciIKICAgIEFORCBhMi4ianVyb3JJZCIgID0gIkFjdGlvbiIu Imp1cm9ySWQiCiAgICBBTkQgYTIuImFjdGlvbkNvZGUiIElOICgnQVBPT0wnLCdSUE9PTCcsJ0FQ QU4nLCdSUEFOJywgJ01QT09MJywnTVBBTicpCiAgICBBTkQgYTIuInN0YXJ0RGF0ZSIgPCAgIkFj dGlvbiIuInN0YXJ0RGF0ZSIKICAgIEFORCAoIkFjdGlvbiIuImNvdW50eU5vIiwgIkFjdGlvbiIu Imp1cnlZZWFyIiwgIkFjdGlvbiIuImp1cm9ySWQiKSBOT1QgSU4KICAgICAgICAoCiAgICAgICAg ICBTRUxFQ1QgYTMuImNvdW50eU5vIiwgYTMuImp1cnlZZWFyIiwgYTMuImp1cm9ySWQiIEZST00g IkFjdGlvbiIgYTMKICAgICAgICAgICAgV0hFUkUgYTMuImNvdW50eU5vIiA9IDQwCiAgICAgICAg ICAgICAgQU5EIGEzLiJhY3Rpb25Db2RlIiBJTiAoJ0FQT09MJywnUlBPT0wnLCdBUEFOJywnUlBB TicsICdNUE9PTCcsJ01QQU4nKQogICAgICAgICAgICAgIEFORCBhMy4ic3RhcnREYXRlIiA8ICAi QWN0aW9uIi4ic3RhcnREYXRlIgogICAgICAgICAgICAgIEFORCBhMy4ic3RhcnREYXRlIiA+PSBh Mi4ic3RhcnREYXRlIgogICAgICAgICAgICAgIEFORCAoIGEzLiJzdGFydERhdGUiID4gYTIuInN0 YXJ0RGF0ZSIKICAgICAgICAgICAgICAgICBPUiBhMy4iYWN0aW9uU2VxTm8iID4gYTIuImFjdGlv blNlcU5vIgogICAgICAgICAgICAgICAgICApCiAgICAgICAgKTsKCg== --=__PartF6D3BB63.1__=--