diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs1.out new file mode 100644 index 00000000000000..af6af3eb73d014 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs1.out @@ -0,0 +1,12 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !affinityByIssuesAndPRs1 -- +10000 + +-- !affinityByIssuesAndPRs1_2 -- +0 + +-- !affinityByIssuesAndPRs1_3 -- + +-- !affinityByIssuesAndPRs1_4 -- +0 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs2.out new file mode 100644 index 00000000000000..c352737724a011 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs2.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !affinityByIssuesAndPRs2 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/authorsWithTheMostPushes.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/authorsWithTheMostPushes.out new file mode 100644 index 00000000000000..04a92f3915cbdd --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/authorsWithTheMostPushes.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !authorsWithTheMostPushes -- +github-actions[bot] 459 380 +seryozha1989 242 12 +cageyjames 119 1 +renovate[bot] 78 40 +LombiqBot 76 5 +freecall2019 63 1 +hotspotlab 62 1 +hotspot2023 61 1 +proxylist-to-bot 58 1 +PacoReinaCampo 37 37 +milesholt 37 1 +Chourouk-Zioud 31 1 +apaolacci 28 1 +pull[bot] 24 24 +geonosis-bot 21 21 +brokjad 19 1 +fpoirotte 18 18 +himobi 18 1 +rdower 16 16 +ropensci-bot 15 7 +dependabot[bot] 14 9 +supervpnops 14 2 +Vamsireddy90 13 1 +robocdnjs 12 1 +B74LABgit 11 3 +billybobza 11 1 +rmayr 11 2 +BlackSnowDot 10 1 +infaautovcs 10 1 +vpnsuperapp 10 1 +codership-jenkins 9 1 +direwolf-github 9 5 +ivy-root 9 1 +lannai1 9 1 +renovate-bot 9 9 +SuperSonicHub1 8 1 +azure-sdk 8 4 +robodoo 8 3 +NathaliaGreiffo 7 1 +SvenRoederer 7 6 +WolseyBankWitness 7 1 +oyvindberg 7 7 +rahqueu 7 1 +wangbadan3306 7 7 +EllisWaterman 6 1 +Hall-1910 6 1 +Mahesh6702 6 1 +Riley-Pritchard 6 1 +Uclic 6 1 +everyday-cc 6 3 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar1.out new file mode 100644 index 00000000000000..6e3cf19a28cf66 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar1.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !countingStar1 -- +329 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar2.out new file mode 100644 index 00000000000000..bc6e25bb384481 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar2.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !countingStar2 -- +started 329 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar3.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar3.out new file mode 100644 index 00000000000000..5942e8fbb3fb15 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar3.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !countingStar3 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/distributionOfRepositoriesByStarCount.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/distributionOfRepositoriesByStarCount.out new file mode 100644 index 00000000000000..8f8fa1373d0e9c --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/distributionOfRepositoriesByStarCount.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !distributionOfRepositoriesByStarCount -- +1.0 317 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/githubRoulette.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/githubRoulette.out new file mode 100644 index 00000000000000..7ebfa8277881b8 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/githubRoulette.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !githubRoulette -- +rsashka/newlang +matheusoms/grupo_2_2_semestre_2022 +Thiagoalves150/CURR-CULO +miquelmq20/qb-phone +1uphealth/fhir-react +hanjuku-kaso/awesome-offline-rl +joweich/chat-miner +shieldfy/API-Security-Checklist +zzzgydi/clash-verge +martinothamar/Mediator +spacecloud-io/space-cloud +Mushy96/Mushy_BankRobbery +the-aws-terraform-samples/terraform-eks-jumphost +shishkebab/shishkebab.github.io +BryanEstrada003/Tarea_AOP +blackpjotr/azure-sdk +camptocamp/oapi-poc +janovetz/remez-exchange +eilishmcmaster/eilishmcmaster.github.io +wechaty/wechaty +breck7/pldb +jakewvincent/mkdnflow.nvim +picoxr/Photon-state-sync +audreyandoy/task-list-api +catppuccin/catppuccin +learn-anything/blogs +saper150/remporium +IntelliTect/Coalesce +LilPoppy/Hackintosh-opencore-Z490-Asus +PierreMarion23/ipypivot +RyuGeunHwan/code_J +hirosystems/stacks.js +kronion/sts-playground +saper150/remporium +NVIDIA-Merlin/Transformers4Rec +aatharvauti/portfolio +google/guava +gremo/react-directus +Azure/azure-sdk +dotnet/razor +pureconfig/pureconfig +signavio/react-stick +mrrosh/NoErrorSounds +retorquere/zotero-better-bibtex +espanso/espanso +nopnop2002/esp-idf-smtp-camera +quartznet/quartznet +Zyflx/PsychEngine-Source-Code-Test +RajeshKumar1331/yt-home-page-clone +pulumi/pulumi + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears1.out new file mode 100644 index 00000000000000..411783179221f9 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears1.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !howHasTheListOfTopRepositoriesChangedOverTheYears1 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears2.out new file mode 100644 index 00000000000000..ef231a83cb4f5d --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears2.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !howHasTheListOfTopRepositoriesChangedOverTheYears2 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears3.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears3.out new file mode 100644 index 00000000000000..b09f15ca076bd4 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears3.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !howHasTheListOfTopRepositoriesChangedOverTheYears3 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears4.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears4.out new file mode 100644 index 00000000000000..008eddda38f627 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears4.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !howHasTheListOfTopRepositoriesChangedOverTheYears4 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears5.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears5.out new file mode 100644 index 00000000000000..de580149bc37c1 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears5.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !howHasTheListOfTopRepositoriesChangedOverTheYears5 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears6.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears6.out new file mode 100644 index 00000000000000..cbe87efdd1cbf8 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears6.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !howHasTheListOfTopRepositoriesChangedOverTheYears6 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheTotalNumberOfStarsChangedOverTime.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheTotalNumberOfStarsChangedOverTime.out new file mode 100644 index 00000000000000..037fb3ac1f8900 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheTotalNumberOfStarsChangedOverTime.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !howHasTheTotalNumberOfStarsChangedOverTime -- +2022 329 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments1.out new file mode 100644 index 00000000000000..ed75a908fb048c --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments1.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !issuesWithTheMostComments1 -- +501 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments2.out new file mode 100644 index 00000000000000..91668f820d48c0 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments2.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !issuesWithTheMostComments2 -- +GovAlta/ui-components 68 +dotnet/roslyn 8 +scientist-softserv/adventist-dl 6 +unifyai/ivy 6 +davesag/traverse-folders 5 +googleapis/python-logging 5 +gafusion/regression_notifications 4 +nezhivar/nezhOS 4 +pcwiese/opentelemetry-collector-contrib 4 +romeno-moreno/mxmrig 4 +xbrianlee/liferay-portal 4 +Firehed/php-project-template 3 +aiyuekuang/ant-design 3 +flutter/flutter 3 +jzhao62/ant-design 3 +kmalakoff/sequelize-parse-url 3 +kubernetes/kubernetes 3 +liferay-uniform/liferay-portal 3 +opensearch-project/common-utils 3 +ray-project/ray 3 +tmcclung/mastodon 3 +zerai/cf 3 +ACDguide/BigData 2 +Expensify/App 2 +MPAS-Dev/compass 2 +MicrosoftDocs/data-integration 2 +OutOfSyncStudios/object-key-cache 2 +a-r-j/graphein 2 +abigblueball/mastodon 2 +apache/airflow 2 +bhargavaman/meraType 2 +cockroachdb/cockroach 2 +coradoya/dicomviewer 2 +corgibytes/freshli-lib 2 +covid-projections/act-now-packages 2 +dolthub/dolt 2 +flipkart-incubator/zjsonpatch 2 +fullcalendar/fullcalendar 2 +jeffsawatzky/python-jsonapi 2 +karan-vk/Burger-R 2 +kiegroup/kogito-apps 2 +kstolte/kstolte.github.io 2 +kubermatic/kubermatic 2 +p4bl1t0/utn_tup_lab_comp_3 2 +patrickcate/dutch-art-daily 2 +raiden-network/explorer 2 +spack/spack 2 +tamuratak/vscode 2 +usdigitalresponse/univaf 2 +220926NET/P2-ADGX 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments3.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments3.out new file mode 100644 index 00000000000000..2e42184c3726a4 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments3.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !issuesWithTheMostComments3 -- +GovAlta/ui-components 68 68 1.0 +dotnet/roslyn 8 8 1.0 +scientist-softserv/adventist-dl 6 1 6.0 +unifyai/ivy 6 6 1.0 +davesag/traverse-folders 5 5 1.0 +googleapis/python-logging 5 5 1.0 +gafusion/regression_notifications 4 2 2.0 +nezhivar/nezhOS 4 1 4.0 +pcwiese/opentelemetry-collector-contrib 4 4 1.0 +romeno-moreno/mxmrig 4 3 1.33 +xbrianlee/liferay-portal 4 2 2.0 +Firehed/php-project-template 3 3 1.0 +aiyuekuang/ant-design 3 1 3.0 +flutter/flutter 3 3 1.0 +jzhao62/ant-design 3 1 3.0 +kmalakoff/sequelize-parse-url 3 3 1.0 +kubernetes/kubernetes 3 2 1.5 +liferay-uniform/liferay-portal 3 1 3.0 +opensearch-project/common-utils 3 3 1.0 +ray-project/ray 3 2 1.5 +tmcclung/mastodon 3 3 1.0 +zerai/cf 3 3 1.0 +ACDguide/BigData 2 1 2.0 +Expensify/App 2 2 1.0 +MPAS-Dev/compass 2 1 2.0 +MicrosoftDocs/data-integration 2 1 2.0 +OutOfSyncStudios/object-key-cache 2 2 1.0 +a-r-j/graphein 2 1 2.0 +abigblueball/mastodon 2 2 1.0 +apache/airflow 2 1 2.0 +bhargavaman/meraType 2 2 1.0 +cockroachdb/cockroach 2 2 1.0 +coradoya/dicomviewer 2 2 1.0 +corgibytes/freshli-lib 2 2 1.0 +covid-projections/act-now-packages 2 2 1.0 +dolthub/dolt 2 1 2.0 +flipkart-incubator/zjsonpatch 2 2 1.0 +fullcalendar/fullcalendar 2 2 1.0 +jeffsawatzky/python-jsonapi 2 2 1.0 +karan-vk/Burger-R 2 2 1.0 +kiegroup/kogito-apps 2 1 2.0 +kstolte/kstolte.github.io 2 2 1.0 +kubermatic/kubermatic 2 1 2.0 +p4bl1t0/utn_tup_lab_comp_3 2 2 1.0 +patrickcate/dutch-art-daily 2 2 1.0 +raiden-network/explorer 2 2 1.0 +spack/spack 2 2 1.0 +tamuratak/vscode 2 1 2.0 +usdigitalresponse/univaf 2 2 1.0 +220926NET/P2-ADGX 1 1 1.0 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments4.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments4.out new file mode 100644 index 00000000000000..b1de957538a555 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments4.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !issuesWithTheMostComments4 -- +scientist-softserv/adventist-dl 117 6 +nezhivar/nezhOS 190 4 +gafusion/regression_notifications 1 3 +xbrianlee/liferay-portal 671 3 +liferay-uniform/liferay-portal 770 3 +aiyuekuang/ant-design 1332 3 +jzhao62/ant-design 1699 3 +tamuratak/vscode 1 2 +romeno-moreno/mxmrig 2 2 +ACDguide/BigData 81 2 +MicrosoftDocs/data-integration 187 2 +a-r-j/graphein 233 2 +MPAS-Dev/compass 446 2 +kiegroup/kogito-apps 1497 2 +dolthub/dolt 4717 2 +kubermatic/kubermatic 11314 2 +apache/airflow 27477 2 +ray-project/ray 28683 2 +kubernetes/kubernetes 113702 2 +AlexBurneikis/SoT-DLC 1 1 +Balikuddembe/ToDoList-Code-Review 1 1 +JesseFarebro/Arcade-Learning-Environment 1 1 +NVlabs/edm 1 1 +ObelusFamily/Anythink-Market-p8atrkrs 1 1 +edakn/CepTelefonu_KayitTakipProgram 1 1 +luckelectricity/get_up 1 1 +monikag199/Test-repository-2 1 1 +rafacODEZ/minesweeperGUI 1 1 +DefenceX/vivoe-media-framework 2 1 +Earnkhay/nk-portfolio 2 1 +GovAlta/ui-components 2 1 +GullianLanguage/Gullian 2 1 +JasperVanEsveld/discordeno-audio-plugin 2 1 +jebl8843/CSCI3308-Final-Project-SciQuiz 2 1 +michaelandrew/machadwick.com 2 1 +vegasmorph/CS 2 1 +Flutter-Bounty-Hunters/inception 3 1 +GovAlta/ui-components 3 1 +p4bl1t0/utn_tup_lab_comp_3 3 1 +romeno-moreno/mxmrig 3 1 +vicplusplus/farm-paragon 3 1 +vivi90/python-vmc 3 1 +AngelPazzo/ProyectBackEnd 4 1 +GovAlta/ui-components 4 1 +djpowers/close-duplicate-cve-issues 4 1 +gafusion/regression_notifications 4 1 +romeno-moreno/mxmrig 4 1 +GovAlta/ui-components 5 1 +RelativelyFine/COMPSA-Frontend 5 1 +purothemes/polestar 5 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments5.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments5.out new file mode 100644 index 00000000000000..5c8ce924a0fa34 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments5.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !issuesWithTheMostComments5 -- +scientist-softserv/adventist-dl 117 6 +nezhivar/nezhOS 190 4 +aiyuekuang/ant-design 1332 3 +jzhao62/ant-design 1699 3 +liferay-uniform/liferay-portal 770 3 +xbrianlee/liferay-portal 671 3 +ACDguide/BigData 81 2 +MPAS-Dev/compass 446 2 +MicrosoftDocs/data-integration 187 2 +a-r-j/graphein 233 2 +apache/airflow 27477 2 +dolthub/dolt 4717 2 +kiegroup/kogito-apps 1497 2 +kubermatic/kubermatic 11314 2 +kubernetes/kubernetes 113702 2 +ray-project/ray 28683 2 +220926NET/P2-ADGX 18 1 +ADVRHumanoids/awesome_leg 12 1 +ActiveState/cli 2225 1 +AlexxIT/go2rtc 66 1 +AllTheMods/ATM-6 3155 1 +Alluxio/alluxio 16487 1 +Automattic/wp-calypso 69836 1 +AzerothWarsLR/WarcraftLegacies 140 1 +Azure/ResourceModules 1727 1 +Azure/azure-sdk-for-c 2400 1 +AzureAD/microsoft-authentication-library-for-dotnet 3790 1 +Badger-Finance/badger-rewards 1000 1 +BlissRoms-x86/manifest 40 1 +Bworld-Studio/oph-server-node 183 1 +Cazadorsniper/PO3 1710 1 +ChainSafe/lodestar 4735 1 +Chatterino/chatterino2 4117 1 +City-of-Helsinki/events-helsinki-monorepo 48 1 +CodeDredd/pinia-orm 540 1 +CommunityToolkit/Maui 735 1 +EugenMayer/docker-sync 826 1 +Expensify/App 11711 1 +Expensify/App 12251 1 +Firehed/php-project-template 16 1 +Firehed/php-project-template 20 1 +Firehed/php-project-template 24 1 +FlyingDiver/Indigo-radiora2 57 1 +GTBitsOfGood/helping-mamas 130 1 +GiuseppeFilingeri/upgraded-symmetrical-waddle 38434 1 +GoogleCloudPlatform/magic-modules 6529 1 +GoogleCloudPlatform/terraform-google-secured-data-warehouse 35 1 +GovAlta/ui-components 11 1 +GovAlta/ui-components 12 1 +GovAlta/ui-components 13 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments6.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments6.out new file mode 100644 index 00000000000000..189897a9ecf552 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments6.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !issuesWithTheMostComments6 -- +nezhivar/nezhOS 190 4 4 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments7.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments7.out new file mode 100644 index 00000000000000..8cd1a830b5c96d --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments7.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !issuesWithTheMostComments7 -- +hashicorp/boundary-ui 3 1 +AnyelinaMarte/saeamt-docente 2 1 +cdandrango3/facturas 2 1 +george1410/daily-mix-saver 2 1 +manifoldmarkets/manifold 2 1 +sghome/landing-luminas 2 1 +turja-c/personal-website 2 1 +zignini/exercicios 2 1 +CaioPires92/Aluratube 1 1 +CsarChvz/EventosPoli-Nxt 1 1 +EdmundLT/the-goods-store 1 1 +Esteban-hernandez/tienda 1 1 +Joalor64GH/Chocolate-Engine 1 1 +JoeyLicht/joey-fritter-front 1 1 +KATT/useSuspense-next-prisma-starter 1 1 +MarceloMachadoxD/alutratube 1 1 +Meland-Inc/status-pages 1 1 +MorrisonCole/morrisoncole.co.uk 1 1 +Neelam-Nishad/my-app 1 1 +NelieTchat/Python_Project 1 1 +NishatFariza/jk-portfolio 1 1 +Olawale06/Star 1 1 +OrdinaNederland/Stichting-NUTwente 1 1 +Prasetyonh/ReactJS-eNgaji 1 1 +PrettyLegit0101/spudify-server 1 1 +ThalisFernandes/RPG-Javascript 1 1 +UXMcCauley/portfolio 1 1 +Victor-Gabriel7/crud 1 1 +aggre/aggre.dev 1 1 +arthores/weather-check 1 1 +callmekungfu/yonglin.io 1 1 +carloshs1/task-manager 1 1 +cypress-io/cypress 1 1 +diegohpezet/Pokemon-API-Game 1 1 +ealfla8/ByteSized 1 1 +edugomess/Projeto_1 1 1 +edwinyi516/biy-frontend 1 1 +fedirko-pro/archery-telegram-bot 1 1 +flow2000/vercel-api 1 1 +galenczk/cs340-agenda-master-newui 1 1 +h1xten/tic-tac-toe-hopr 1 1 +hirosystems/connect 1 1 +hylansilva/warthena-project 1 1 +ivanatias/express-typescript-todos-API 1 1 +j-fu/ExtendableSparse.jl 1 1 +jdrew153/stream 1 1 +jupitersh/jupitersh.github.io 1 1 +kad200/nextjs-blog 1 1 +kperusi/famous-exam-project 1 1 +leonardmoses/ct-eyeCare-calendar-1.1 1 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/mostForkedRepositories.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/mostForkedRepositories.out new file mode 100644 index 00000000000000..bb6c08a632a35b --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/mostForkedRepositories.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !mostForkedRepositories -- +informatika-19/latihan-backend-19421040-bagasdwijayanto 2 +joinpursuit/8-0-react-hooks-lab 2 +learn-co-curriculum/phase-1-practice-toy-tale 2 +neutron-org/testnets 2 +420-7A4-FE/exercice-gh-pages 1 +4creators/jxrlib 1 +ArcBees/GWTP 1 +CS234124/ex0_introtogit 1 +CSE110-FA22/Lab6_Starter 1 +Egorze111/cse210-04 1 +Genymobile/scrcpy 1 +GovReady/dataqa 1 +JEWELFUND/STN 1 +Karltheram/ME 1 +LOWPROKB/zmk-config-zen-2 1 +Launch-X-Latam/MisionBackend 1 +OLIMEX/Ultra-Sound-Levitation 1 +SwitchOS/switchdex 1 +TEnLOcODE/win-11-rdp-server-1 1 +The-Good-Stores/the-goods-store 1 +TheJoeFin/Text-Grab 1 +TheOdinProject/css-exercises 1 +Thinkful-Ed/starter-mobile-first-development 1 +abhisheknaiidu/abhisheknaiidu 1 +academicpages/academicpages.github.io 1 +africommerce/africommerce-sass-backend 1 +aloisorozco/SOEN287Assignment1 1 +angular/angular 1 +appacademy/practice-for-week-12-csrf-exercise 1 +atolVerderben/tentsuyu 1 +aws-samples/route-53-application-recovery-controller-codepipeline-with-terraform 1 +aziz/atom-plastic-code-wrap-syntax 1 +bbpanzu/bb-fnf-mods 1 +calamity-inc/Stand-for-FH5 1 +cassianobrexbit/dio-live-athena 1 +choishingwan/PRSice 1 +curiousmockingbird/coinCounter 1 +danielgindi/Charts 1 +davidkpiano/useEffectReducer 1 +davidtchiu/cs455-hwk-bcnf 1 +distributed-system-analysis/.github 1 +distributed-system-analysis/dsa-round-table 1 +earlephilhower/arduino-pico 1 +evilsocket/veryfied 1 +facebook/metro 1 +filiphsps/filiphsps 1 +firstcontributions/first-contributions 1 +florinpop17/app-ideas 1 +forcedotcom/postman-salesforce-apis 1 +gem-pasteur/Integron_Finder 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/mostPopularCommentsOnGithub.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/mostPopularCommentsOnGithub.out new file mode 100644 index 00000000000000..6d0c31d5b56070 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/mostPopularCommentsOnGithub.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !mostPopularCommentsOnGithub -- +参考資料ありがとうございます。\n 1 +yey 1 +will fix 1 +should we actually print something out here? 1 +same here, should we print here? 1 +same as above. 1 +rerun tests 1 +other chagnges made 1 +nit: should we use `^2.50.0` to get latest version? 1 +nice catch! 1 +nice catch 1 +message: n must be a >= 0 - so more explict 1 +looks like it is 👌🏼. 1 +label this as nsfw. 1 +https://github.com/opensearch-project/common-utils/pull/311\r\ncovered this backport 1 +https://github.com/opensearch-project/common-utils/pull/289\r\ncovered this change 1 +https://github.com/opensearch-project/common-utils/pull/273\r\n\r\ncovered these changes. 1 +https://github.com/gpuweb/gpuweb/issues/332 1 +hmmmm, reverted it back.. I forgot I was editing some files before :( 1 +hi @timmo001 I've corrected the incorrect upload. Would you be able to look it over? 1 +during -> while 1 +corp-pass-fork: test succeeded 1 +closing pull commit 1 +ci:test:upgrade 1 +ci:test:security 1 +ci:test:relevant 1 +ci:test:publications-environments 1 +ci:test:publications 1 +changed to [filter_ability] 1 +but the sentence seems to read a bit awkward if using Weight. 1 +all my friends have the same error (5 people) 1 +```suggestion\r\nstatic const std::string tmpdir{get_tmpdir()};\r\n``` 1 +Yes, it is correct 👍 \r\n 1 +Wonder if we will make it to 10 years 😂 1 +Will follow up with more realistic workloads (`ray.init()`, GPUs, multinode with resource requests) 1 +Why does the CRL updater talk to the readonly instance? 1 +We're using `CREATE_NO_WINDOW` quite a few times; it's probably time to put it into a constant. 1 +We shouldn't need to update for VN should we? 1 +We need to copy database to avoid its corruption. 1 +Wait, the wg is to make sure the thread has started, not to make sure it has ended? 1 +Updated. 1 +Update 1 +Tyson uploaded a SQL DB in commit: 2f5516a9b482c24b2e256486d21d7c86fe43336a 1 +This link is not working 1 +This is false by default. Can't accept until that's done and checks pass. 1 +This import is unused 1 +These should be `UInt`. see: https://github.com/MoarVM/MoarVM/pull/1725 1 +The dot is missing.\r\n 1 +The commit does not matter. I added a comment. 1 +That doesn't change the fact that what's stated in documentation is wrong. 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfRepositories.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfRepositories.out new file mode 100644 index 00000000000000..f7a79352ba0e25 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfRepositories.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !organizationsByTheNumberOfRepositories -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfStars.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfStars.out new file mode 100644 index 00000000000000..da2952f7be634c --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfStars.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !organizationsByTheNumberOfStars -- +desenvjonathan 5 +google 4 +iheyfy2 4 +ossu 3 +coderaiser 2 +djyanyan 2 +h5bp 2 +jlevy 2 +koltigin 2 +kubevious 2 +lxc 2 +martinothamar 2 +mesos 2 +milanm 2 +mrrosh 2 +saper150 2 +suadelabs 2 +the-aws-terraform-samples 2 +thealgorithms 2 +typicode 2 +veggiemonk 2 +zyflx 2 +0x192 1 +1uphealth 1 +42wim 1 +aatharvauti 1 +abdelrhmanhamouda 1 +adelolmo 1 +adrianhajdin 1 +afterlogic 1 +agrodan 1 +ahoshaiyan 1 +alandtse 1 +alexjoverm 1 +allthingssmitty 1 +amplab 1 +anilist 1 +antfu 1 +antoinepassemiers 1 +aosoft 1 +arcadesdude 1 +audreyandoy 1 +automattic 1 +avelino 1 +azure 1 +azure-sdk 1 +baba-s 1 +babel 1 +backstopmedia 1 +bbuchfink 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks1.out new file mode 100644 index 00000000000000..98c4fc911f9c24 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks1.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !proportionsBetweenStarsAndForks1 -- +informatika-19/latihan-backend-19421040-bagasdwijayanto 2 0 0.0 +joinpursuit/8-0-react-hooks-lab 2 0 0.0 +learn-co-curriculum/phase-1-practice-toy-tale 2 0 0.0 +neutron-org/testnets 2 0 0.0 +420-7A4-FE/exercice-gh-pages 1 0 0.0 +4creators/jxrlib 1 0 0.0 +ArcBees/GWTP 1 0 0.0 +CS234124/ex0_introtogit 1 0 0.0 +CSE110-FA22/Lab6_Starter 1 0 0.0 +Egorze111/cse210-04 1 0 0.0 +Genymobile/scrcpy 1 0 0.0 +GovReady/dataqa 1 0 0.0 +JEWELFUND/STN 1 0 0.0 +Karltheram/ME 1 0 0.0 +LOWPROKB/zmk-config-zen-2 1 0 0.0 +Launch-X-Latam/MisionBackend 1 1 1.0 +OLIMEX/Ultra-Sound-Levitation 1 1 1.0 +SwitchOS/switchdex 1 0 0.0 +TEnLOcODE/win-11-rdp-server-1 1 0 0.0 +The-Good-Stores/the-goods-store 1 0 0.0 +TheJoeFin/Text-Grab 1 0 0.0 +TheOdinProject/css-exercises 1 1 1.0 +Thinkful-Ed/starter-mobile-first-development 1 0 0.0 +abhisheknaiidu/abhisheknaiidu 1 0 0.0 +academicpages/academicpages.github.io 1 0 0.0 +africommerce/africommerce-sass-backend 1 0 0.0 +aloisorozco/SOEN287Assignment1 1 0 0.0 +angular/angular 1 0 0.0 +appacademy/practice-for-week-12-csrf-exercise 1 0 0.0 +atolVerderben/tentsuyu 1 0 0.0 +aws-samples/route-53-application-recovery-controller-codepipeline-with-terraform 1 0 0.0 +aziz/atom-plastic-code-wrap-syntax 1 0 0.0 +bbpanzu/bb-fnf-mods 1 0 0.0 +calamity-inc/Stand-for-FH5 1 0 0.0 +cassianobrexbit/dio-live-athena 1 0 0.0 +choishingwan/PRSice 1 0 0.0 +curiousmockingbird/coinCounter 1 1 1.0 +danielgindi/Charts 1 0 0.0 +davidkpiano/useEffectReducer 1 0 0.0 +davidtchiu/cs455-hwk-bcnf 1 0 0.0 +distributed-system-analysis/.github 1 0 0.0 +distributed-system-analysis/dsa-round-table 1 0 0.0 +earlephilhower/arduino-pico 1 0 0.0 +evilsocket/veryfied 1 0 0.0 +facebook/metro 1 0 0.0 +filiphsps/filiphsps 1 0 0.0 +firstcontributions/first-contributions 1 0 0.0 +florinpop17/app-ideas 1 0 0.0 +forcedotcom/postman-salesforce-apis 1 0 0.0 +gem-pasteur/Integron_Finder 1 0 0.0 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks2.out new file mode 100644 index 00000000000000..75a95a6165e316 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks2.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !proportionsBetweenStarsAndForks2 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks3.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks3.out new file mode 100644 index 00000000000000..140358cdc0bf95 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks3.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !proportionsBetweenStarsAndForks3 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks4.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks4.out new file mode 100644 index 00000000000000..d293d9fe05e6e9 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks4.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !proportionsBetweenStarsAndForks4 -- +102 329 3.23 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks5.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks5.out new file mode 100644 index 00000000000000..d158cfe90cebc2 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks5.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !proportionsBetweenStarsAndForks5 -- +\N \N \N + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByAmountOfModifiedCode.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByAmountOfModifiedCode.out new file mode 100644 index 00000000000000..4183aacebd828a --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByAmountOfModifiedCode.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesByAmountOfModifiedCode -- +webmd-health-services/BuildMasterAutomation 1 1 6968 4646 +volcain-io/exercism.io 1 1 5797 5192 +Macaulay2/M2 1 1 6311 3485 +cypress-io/cypress-documentation 1 1 4824 4584 +UmamiDAO/metrics-api 1 1 3853 3417 +kyungphill/practice_vue 1 1 4606 2663 +jinqshen/greatEffort 1 1 4433 2767 +esparzou/site_tiledesign 1 1 4466 2663 +mikeyhodl/kubernetes 1 1 3893 2415 +harrisonho99/react-native-windows-samples 2 1 4352 1564 +hto-projects/be-sound 1 1 3904 1598 +nf-core/tools 1 1 4189 1100 +jdhanotaGU/CRAPS-Game 1 1 2244 2837 +mheap/action-router 1 1 1073 3193 +vdavalon01/kotlin 1 1 1520 1701 +FNNDSC/ami 1 1 1555 1182 +ADCP1/airbnb-backend 1 1 2173 257 +Humba01/wertsfy 2 1 1379 869 +vortesnail/webpack-demo 1 1 1945 269 +christopher-caldwell/serverless-gcp 1 1 1452 341 +archanpatkar/tvl 1 1 630 1079 +sanity-io/sanity 1 1 956 719 +unicef/etools-datamart 1 1 803 608 +Superalgos/Governance-Plugins 1 1 716 614 +Mbed-TLS/mbedtls 1 1 1046 258 +dekim2324/darksky 1 1 101 1182 +DanielDonato/alura_pic_vue 1 1 140 1125 +wei/pull 1 1 534 626 +nextstrain/nextstrain.org 1 1 638 441 +akngs/d3-boxplot 1 1 495 549 +grygikrz/webpack-nodejs 1 1 207 770 +CatoRaymond-FS/WDV3322ProgWebApps 1 1 880 96 +microsoft/appcenter-cli 1 1 248 699 +mscststs/webEasy 1 1 155 716 +nicoproto/chat-redux 1 1 572 292 +sorokya/eo_protocol 1 1 458 386 +bsartain/AlgaeCal-Test 1 1 456 358 +saileshbro/DevConnector 1 1 412 397 +stripe/stripe-android 1 1 600 196 +Amiiiiiiiin/Escaping-Hell 1 1 493 277 +matt-riley/graphql_examples 5 1 395 356 +nordic96/portfolio_website 1 1 622 129 +dima17502/2019-2-Atom-Frontend-D-Volkov 1 1 426 322 +jsorkin24/github-battle 1 1 425 321 +shimaxu/Learn-JS 1 1 427 316 +wojtekmaj/get-user-locale 5 1 492 243 +cross-rs/cross 1 1 348 350 +fizietechD/optimism 1 1 259 427 +bitwarden/clients 1 1 385 279 +enonic/starter-react4xp 5 1 320 344 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByTheNumberOfPushes.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByTheNumberOfPushes.out new file mode 100644 index 00000000000000..bc59f62fee61ce --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByTheNumberOfPushes.out @@ -0,0 +1,23 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesByTheNumberOfPushes -- +ValcambiSuisseNFT/verify-info 2 1 +spotlessmind1975/ugbasic 2 1 +sul-dlss/cybersource-rest-ruby 2 1 +yuukoamamiya/yuukoamamiya.github.io 2 1 +AntoinePassemiers/ArchMM 1 1 +DonDebonair/daan.fyi 1 1 +LorenaCoheneBaez/LorenaCoheneBaez 1 1 +c-rutter/imabc 1 1 +callmekungfu/yonglin.io 1 1 +darenmalfait/daren.be 1 1 +davep/trMandelbrot 1 1 +elisandrosp/gerenciador-tarefas-next-88aoj 1 1 +gavinleroy/aquascope 1 1 +hidratarse/PMDM-2223 1 1 +huggingface/transformers 1 1 +mgaertne/minqlx-plugin-tests 1 1 +poonchoi/nft-generator 1 1 +veit/python-basics-tutorial-de 1 1 +warrant-dev/warrant-node 1 1 +yapily/helm-charts 1 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments1.out new file mode 100644 index 00000000000000..893fc5459672b4 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments1.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithClickhouse_related_comments1 -- +rstudio/pins-r 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments2.out new file mode 100644 index 00000000000000..e7a9371634358b --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments2.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithClickhouse_related_comments2 -- +rstudio/pins-r 0 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments1.out new file mode 100644 index 00000000000000..441b0917b6d017 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments1.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithDoris_related_comments1 -- +rstudio/pins-r 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments2.out new file mode 100644 index 00000000000000..f18e9420593301 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments2.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithDoris_related_comments2 -- +rstudio/pins-r 0 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheHighestGrowthYoY.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheHighestGrowthYoY.out new file mode 100644 index 00000000000000..9a0abc202eeea6 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheHighestGrowthYoY.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheHighestGrowthYoY -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues1.out new file mode 100644 index 00000000000000..b141955f3b5d8f --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues1.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMaximumAmountOfIssues1 -- +DsooRadha/CDMX013-md-links 6 1 +Shyenaia/prework-study-guide 4 1 +hzinner/lab-agile-planning 4 1 +pddemo/demo 4 1 +Wel-Alves/lab-agile-planning 3 1 +DefenceX/vivoe-media-framework 2 1 +GDSC-IGDTUW-Autumn-of-Code-2022/ar-filters 2 1 +faker-js/faker 2 1 +mrozycki/rustmas 2 1 +Adalab/da-promoc-m1-grupo4-gadea-lourdes-sila-sonia 1 1 +AlgebraicJulia/ASKEM-demos 1 1 +AmplifyCreations/AmplifyShaderEditor-Feedback 1 1 +Byron/google-apis-rs 1 1 +DDMAL/CantusDB 1 1 +Daily-Illini/wpgu 1 1 +DragonStuff/apts-jp-to-sql 1 1 +ESNFranceG33kTeam/sAPI 1 1 +EsmailELBoBDev2/upptime 1 1 +Firehed/php-project-template 1 1 +FrenchYeti/dexcalibur 1 1 +GiuseppeFilingeri/upgraded-symmetrical-waddle 1 1 +GoogleChrome/developer.chrome.com 1 1 +IronWillGames/Dransik 1 1 +IsmailAlamKhan/adb_ui 1 1 +MelvorIdle/melvoridle.github.io 1 1 +MicrosoftDocs/azure-docs 1 1 +MystenLabs/fastcrypto 1 1 +NationalSecurityAgency/ghidra 1 1 +NewGraphEnvironment/fish_passage_elk_2022_reporting 1 1 +PDAL/PDAL 1 1 +PipedreamHQ/pipedream 1 1 +Procurement-PoE/Procurement 1 1 +RMolania/TCGA_PanCancer_UnwantedVariation 1 1 +SistemasTecTlaxiaco/actividad-6-practica-de-entrevista-cuestionarios-etc-equipo-xd-1 1 1 +SunbirdAI/noise-sensors-monitoring 1 1 +The-Three-Dudes/one-chart 1 1 +TingluoHuang/proxy-test 1 1 +TinkerStorm/shuffle-theory 1 1 +VaibhavEkambaram/Penguin 1 1 +aptos-labs/aptos-core 1 1 +boneIO-eu/boneIO 1 1 +bounswe/bounswe2022group6 1 1 +brberis/ai-dream-io 1 1 +cadpage/cadpage-parsers 1 1 +casman300/my_website_upptimes 1 1 +cheeaun/hackerweb-native-2 1 1 +cheminfo/nmrium 1 1 +classilla/tenfourfox 1 1 +cloudbip/upptime 1 1 +djpowers/close-duplicate-cve-issues 1 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues2.out new file mode 100644 index 00000000000000..4f14eea2a82853 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues2.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMaximumAmountOfIssues2 -- +DsooRadha/CDMX013-md-links 6 1 0 +Shyenaia/prework-study-guide 4 1 0 +hzinner/lab-agile-planning 4 1 0 +pddemo/demo 4 1 0 +Wel-Alves/lab-agile-planning 3 1 0 +DefenceX/vivoe-media-framework 2 1 0 +GDSC-IGDTUW-Autumn-of-Code-2022/ar-filters 2 1 0 +faker-js/faker 2 1 0 +mrozycki/rustmas 2 1 0 +Adalab/da-promoc-m1-grupo4-gadea-lourdes-sila-sonia 1 1 0 +AlgebraicJulia/ASKEM-demos 1 1 0 +AmplifyCreations/AmplifyShaderEditor-Feedback 1 1 0 +Byron/google-apis-rs 1 1 0 +DDMAL/CantusDB 1 1 0 +Daily-Illini/wpgu 1 1 0 +DragonStuff/apts-jp-to-sql 1 1 0 +ESNFranceG33kTeam/sAPI 1 1 0 +EsmailELBoBDev2/upptime 1 1 0 +Firehed/php-project-template 1 1 0 +FrenchYeti/dexcalibur 1 1 0 +GiuseppeFilingeri/upgraded-symmetrical-waddle 1 1 0 +GoogleChrome/developer.chrome.com 1 1 0 +IronWillGames/Dransik 1 1 0 +IsmailAlamKhan/adb_ui 1 1 0 +MelvorIdle/melvoridle.github.io 1 1 0 +MicrosoftDocs/azure-docs 1 1 0 +MystenLabs/fastcrypto 1 1 0 +NationalSecurityAgency/ghidra 1 1 0 +NewGraphEnvironment/fish_passage_elk_2022_reporting 1 1 0 +PDAL/PDAL 1 1 0 +PipedreamHQ/pipedream 1 1 0 +Procurement-PoE/Procurement 1 1 0 +RMolania/TCGA_PanCancer_UnwantedVariation 1 1 0 +SistemasTecTlaxiaco/actividad-6-practica-de-entrevista-cuestionarios-etc-equipo-xd-1 1 1 0 +SunbirdAI/noise-sensors-monitoring 1 1 0 +The-Three-Dudes/one-chart 1 1 0 +TingluoHuang/proxy-test 1 1 0 +TinkerStorm/shuffle-theory 1 1 0 +VaibhavEkambaram/Penguin 1 1 0 +aptos-labs/aptos-core 1 1 0 +boneIO-eu/boneIO 1 1 0 +bounswe/bounswe2022group6 1 1 0 +brberis/ai-dream-io 1 1 0 +cadpage/cadpage-parsers 1 1 0 +casman300/my_website_upptimes 1 1 0 +cheeaun/hackerweb-native-2 1 1 0 +cheminfo/nmrium 1 1 0 +classilla/tenfourfox 1 1 0 +cloudbip/upptime 1 1 0 +djpowers/close-duplicate-cve-issues 1 1 0 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues3.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues3.out new file mode 100644 index 00000000000000..19c9f84cef03b6 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues3.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMaximumAmountOfIssues3 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues4.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues4.out new file mode 100644 index 00000000000000..4de87ee12ff4c8 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues4.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMaximumAmountOfIssues4 -- +SuadeLabs/rattr 0 0 2 +Zyflx/PsychEngine-Source-Code-Test 0 0 2 +h5bp/Front-end-Developer-Interview-Questions 0 0 2 +iheyfy2/Scripts-1 0 0 2 +iheyfy2/cloud189app-action 0 0 2 +jlevy/the-art-of-command-line 0 0 2 +martinothamar/Mediator 0 0 2 +mesos/chronos 0 0 2 +milanm/DevOps-Roadmap 0 0 2 +ossu/computer-science 0 0 2 +saper150/remporium 0 0 2 +veggiemonk/awesome-docker 0 0 2 +0x192/universal-android-debloater 0 0 1 +1uphealth/fhir-react 0 0 1 +42wim/matterbridge 0 0 1 +AbdelrhmanHamouda/locust-k8s-operator 0 0 1 +AgroDan/golden-kali 0 0 1 +AllThingsSmitty/css-protips 0 0 1 +AniList/discord-search-bot 0 0 1 +AntoinePassemiers/ArchMM 0 0 1 +Automattic/pocket-casts-android 0 0 1 +Azure/azure-sdk 0 0 1 +BenK93/MessagingAPI 0 0 1 +BetterDiscord/Installer 0 0 1 +BishopFox/sliver 0 0 1 +BlueAndi/esp-rgb-led-matrix 0 0 1 +BlueRaja/Weighted-Item-Randomizer-for-C-Sharp 0 0 1 +BryanEstrada003/Tarea_AOP 0 0 1 +Byron/gitoxide 0 0 1 +CommanderQ/SmartThings-Edge-Drivers 0 0 1 +CosminPOP/Outfitter 0 0 1 +DJYanYan/Banhaw-Landing-Page 0 0 1 +DJYanYan/Simon-Game 0 0 1 +DennisWG/QuickBind 0 0 1 +DonDebonair/daan.fyi 0 0 1 +EffiSciencesResearch/hackathon42 0 0 1 +ElJeloos/repasoGitHub 0 0 1 +EmilyEdna/SS-SSR-V2RAY 0 0 1 +Evavic44/portfolio-ideas 0 0 1 +GarnetSunset/rgg_save_tools 0 0 1 +HLC-Lewis/st_freecam 0 0 1 +Hailey-Ross/vorp_goldexchange 0 0 1 +HakCat-Tech/WiFi-Nugget 0 0 1 +IanLunn/Hover 0 0 1 +IntelliTect/Coalesce 0 0 1 +Josee9988/project-template 0 0 1 +JunkFood02/Seal 0 0 1 +KhronosGroup/Vulkan-Guide 0 0 1 +KinDR007/VictronMPPT-ESPHOME 0 0 1 +Launch-X-Latam/MisionBackend 0 0 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests1.out new file mode 100644 index 00000000000000..95344913044dc5 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests1.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMaximumAmountOfPullRequests1 -- +0xMoJo7/Snapchain 1 1 +102/eslint-plugin-comment-annotations 1 1 +ADCP1/airbnb-backend 1 1 +AbiaEssienRepos/auto-price-estimation-project 1 1 +AcalaNetwork/safe-config-service 1 1 +AdamHidvegi/CurrencyC 1 1 +AhmadTanvir/vue_lara 1 1 +Alan-love/language-server-protocol 1 1 +AlexLazareva/sarafan 1 1 +Alttaab/19.3-flask-survey-exercise 1 1 +Amiiiiiiiin/Escaping-Hell 1 1 +Arda-Computer/Arda 1 1 +AristotelesDantas/cadastro-de-motociclistas 1 1 +ArtemBilas/minimal-landing 1 1 +ArthurDoom/webapp 1 1 +AstarNetwork/safe-config-service 1 1 +Ategon/AuborealGameOff2022 1 1 +Automattic/wp-calypso 1 1 +Azure/react-azure-maps 1 1 +BSData/horus-heresy 1 1 +BarberoPablo/prode 1 1 +Bayusaiinbasran/bayusaiinbasrantugas7 1 1 +BeOrNot2Be/MEDILOV-back 1 1 +Blockhead4/React_JS-Tutorial 1 1 +Bworld-Studio/oph-server-node 1 1 +C-Lodder/music-player 1 1 +C-Shrestha/newpantry 1 1 +CFC-Servers/gm_express_service 1 1 +CatoRaymond-FS/WDV3322ProgWebApps 1 1 +Christoph551/prework-study-guide 1 1 +ColtAllen/btyd 1 1 +CrowdStrike/ember-headless-table 1 1 +DanielDonato/alura_pic_vue 1 1 +DennisOSRM/toolbox-rs 1 1 +DeyvyMY/SICPAV2 1 1 +Dithn/windows-itpro-docs 1 1 +ED1978/countries_lab 1 1 +Earnkhay/nk-portfolio 1 1 +Earnkhay/vue-login-page 1 1 +EncryptEx/myhackupc 1 1 +Eric-LV/cv 1 1 +FAForever/fa 1 1 +FAIRDataTeam/FAIRDataPoint 1 1 +FF0X00/anti-AD 1 1 +FNNDSC/ami 1 1 +FalkenDev/SparkRentals-Mobile-App 1 1 +Fejiro-A/flutter_web_helper_services 1 1 +FerNanDoAnc/sistema-musica 1 1 +Figuritas-Unlam/Figuritas 1 1 +Frefreak/opentelemetry-collector-contrib 1 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests2.out new file mode 100644 index 00000000000000..88c26b04a0eae6 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests2.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMaximumAmountOfPullRequests2 -- +mhutchinson/mhutchinson-distributor 3 3 +neutron-org/testnets 3 3 +azelezovs/auto-bootcamp-setup 2 2 +pcwiese/opentelemetry-collector-contrib 9 1 +char0n/ramda-adjunct 5 1 +enonic/starter-react4xp 5 1 +matt-riley/graphql_examples 5 1 +razee-io/WatchKeeper 5 1 +wojtekmaj/get-user-locale 5 1 +davesag/traverse-folders 4 1 +ergebnis/php-package-template 4 1 +freaktechnik/twaese 4 1 +swagger-api/swagger-js 4 1 +wojtekmaj/react-calendar 4 1 +Gotensfer/Taller-VI 3 1 +abigblueball/mastodon 3 1 +cycjimmy/h5-video-player 3 1 +freaktechnik/advanced-github-notifier 3 1 +kmalakoff/sequelize-parse-url 3 1 +mock-server/mockserver 3 1 +ngarbezza/collection_filter 3 1 +oli-ver/datatables-ssp-java 3 1 +userfrosting/vinyl-fs-vpath 3 1 +Aiko-IT-Systems/DisCatSharp.ProjectTemplates 2 1 +GabrielVicente-GT/kodonote 2 1 +Humba01/wertsfy 2 1 +IBMResearch/stylelint-config-ibmresearch 2 1 +OutOfSyncStudios/object-key-cache 2 1 +andiadammalik/H181600617_andiadammalik_3D 2 1 +aniskhan001/napi 2 1 +byulmaru/mastodon 2 1 +corgibytes/freshli-lib 2 1 +elastic/opbeans-python 2 1 +freaktechnik/my-deprecations 2 1 +harrisonho99/react-native-windows-samples 2 1 +j5ik2o/docker-controller-scala 2 1 +jeffsawatzky/python-jsonapi 2 1 +kstolte/kstolte.github.io 2 1 +leaflet-extras/leaflet-providers 2 1 +list-abstraction/doubly-linked-list 2 1 +modernpoacher/halacious 2 1 +monkriz1991/arhiterm 2 1 +neilmfrench/homelab-prod 2 1 +patrickcate/dutch-art-daily 2 1 +rpoole444/ideabox 2 1 +samip5/k8s-cluster 2 1 +streetsidesoftware/cspell 2 1 +thefrosty/wp-upgrade-task-runner 2 1 +tool3/docsify-action 2 1 +whelk-io/asciidoc-template-maven-plugin 2 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumNumberOfAcceptedInvitations.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumNumberOfAcceptedInvitations.out new file mode 100644 index 00000000000000..d22ec198218887 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumNumberOfAcceptedInvitations.out @@ -0,0 +1,15 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMaximumNumberOfAcceptedInvitations -- +SuadeLabs/rattr 0 2 +Zyflx/PsychEngine-Source-Code-Test 0 2 +h5bp/Front-end-Developer-Interview-Questions 0 2 +iheyfy2/Scripts-1 0 2 +iheyfy2/cloud189app-action 0 2 +jlevy/the-art-of-command-line 0 2 +martinothamar/Mediator 0 2 +mesos/chronos 0 2 +milanm/DevOps-Roadmap 0 2 +ossu/computer-science 0 2 +saper150/remporium 0 2 +veggiemonk/awesome-docker 0 2 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess1.out new file mode 100644 index 00000000000000..7507336d2570d5 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess1.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMostPeopleWhoHavePushAccess1 -- +zzzgydi/clash-verge 0 1 +zorzalerrante/tsundoku 0 1 +zhoudaxiaa/vpn- 0 1 +zhongyang219/trafficmonitor 0 1 +yingdev/tickeys 0 1 +ycd/manage-fastapi 0 1 +yassineb14/android-staticbroadcastreceiver 0 1 +yangshun/tech-interview-handbook 0 1 +xrayfree/free-ssr-ss-v2ray-vpn-clash 0 1 +xiaohulugo/3dlinedetection 0 1 +wfxr/forgit 0 1 +wechaty/wechaty 0 1 +webacademyufac/programacao-avancada-backend-t2 0 1 +vuejs/vue 0 1 +visjs/vis-network 0 1 +victorsdm/curriculo-cmd 0 1 +victoriametrics/victoriametrics 0 1 +viatorus/compile-time-printer 0 1 +v2ray/v2ray-core 0 1 +udokah/veecam 0 1 +typicode/json-server 0 1 +typicode/hotel 0 1 +typestrong/ts-loader 0 1 +trustedsec/social-engineer-toolkit 0 1 +transmission/transmission 0 1 +torvalds/linux 0 1 +timescale/timescaledb 0 1 +thiagoalves150/curr-culo 0 1 +thesilentdefender/cubesatjs 0 1 +theodinproject/css-exercises 0 1 +theaquarium/quizletmatch-autosolver 0 1 +thealgorithms/jupyter 0 1 +thealgorithms/java 0 1 +the-aws-terraform-samples/terraform-route-53-application-recovery-controller-codepipeline-with-terraform 0 1 +the-aws-terraform-samples/terraform-eks-jumphost 0 1 +telegrammessenger/telegram-ios 0 1 +teamnewpipe/newpipe 0 1 +t3-oss/create-t3-app 0 1 +sveltejs/realworld 0 1 +stormwave/saveeditor 0 1 +starkscan/starkscan-verifier 0 1 +ssut/payload-dumper-go 0 1 +spotdl/spotify-downloader 0 1 +spierala/local-redux-store 0 1 +spacecloud-io/space-cloud 0 1 +snesrev/zelda3 0 1 +skatejs/skatejs 0 1 +sindresorhus/awesome 0 1 +signavio/react-stick 0 1 +shuttle-hq/shuttle 0 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay1.out new file mode 100644 index 00000000000000..06ec21c90eccf1 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay1.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMostStarsOverOneDay1 -- +SuadeLabs/rattr 2022-11-08 2 +Zyflx/PsychEngine-Source-Code-Test 2022-11-08 2 +h5bp/Front-end-Developer-Interview-Questions 2022-11-08 2 +iheyfy2/Scripts-1 2022-11-08 2 +iheyfy2/cloud189app-action 2022-11-08 2 +jlevy/the-art-of-command-line 2022-11-08 2 +martinothamar/Mediator 2022-11-08 2 +mesos/chronos 2022-11-08 2 +milanm/DevOps-Roadmap 2022-11-08 2 +ossu/computer-science 2022-11-08 2 +saper150/remporium 2022-11-08 2 +veggiemonk/awesome-docker 2022-11-08 2 +0x192/universal-android-debloater 2022-11-08 1 +1uphealth/fhir-react 2022-11-08 1 +42wim/matterbridge 2022-11-08 1 +AbdelrhmanHamouda/locust-k8s-operator 2022-11-08 1 +AgroDan/golden-kali 2022-11-08 1 +AllThingsSmitty/css-protips 2022-11-08 1 +AniList/discord-search-bot 2022-11-08 1 +AntoinePassemiers/ArchMM 2022-11-08 1 +Automattic/pocket-casts-android 2022-11-08 1 +Azure/azure-sdk 2022-11-08 1 +BenK93/MessagingAPI 2022-11-08 1 +BetterDiscord/Installer 2022-11-08 1 +BishopFox/sliver 2022-11-08 1 +BlueAndi/esp-rgb-led-matrix 2022-11-08 1 +BlueRaja/Weighted-Item-Randomizer-for-C-Sharp 2022-11-08 1 +BryanEstrada003/Tarea_AOP 2022-11-08 1 +Byron/gitoxide 2022-11-08 1 +CommanderQ/SmartThings-Edge-Drivers 2022-11-08 1 +CosminPOP/Outfitter 2022-11-08 1 +DJYanYan/Banhaw-Landing-Page 2022-11-08 1 +DJYanYan/Simon-Game 2022-11-08 1 +DennisWG/QuickBind 2022-11-08 1 +DonDebonair/daan.fyi 2022-11-08 1 +EffiSciencesResearch/hackathon42 2022-11-08 1 +ElJeloos/repasoGitHub 2022-11-08 1 +EmilyEdna/SS-SSR-V2RAY 2022-11-08 1 +Evavic44/portfolio-ideas 2022-11-08 1 +GarnetSunset/rgg_save_tools 2022-11-08 1 +HLC-Lewis/st_freecam 2022-11-08 1 +Hailey-Ross/vorp_goldexchange 2022-11-08 1 +HakCat-Tech/WiFi-Nugget 2022-11-08 1 +IanLunn/Hover 2022-11-08 1 +IntelliTect/Coalesce 2022-11-08 1 +Josee9988/project-template 2022-11-08 1 +JunkFood02/Seal 2022-11-08 1 +KhronosGroup/Vulkan-Guide 2022-11-08 1 +KinDR007/VictronMPPT-ESPHOME 2022-11-08 1 +Launch-X-Latam/MisionBackend 2022-11-08 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostSteadyGrowthOverTime.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostSteadyGrowthOverTime.out new file mode 100644 index 00000000000000..ff3c61d2e99bee --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostSteadyGrowthOverTime.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheMostSteadyGrowthOverTime -- +0x192/universal-android-debloater 1 1 1.0 +1uphealth/fhir-react 1 1 1.0 +42wim/matterbridge 1 1 1.0 +AbdelrhmanHamouda/locust-k8s-operator 1 1 1.0 +AgroDan/golden-kali 1 1 1.0 +AllThingsSmitty/css-protips 1 1 1.0 +AniList/discord-search-bot 1 1 1.0 +AntoinePassemiers/ArchMM 1 1 1.0 +Automattic/pocket-casts-android 1 1 1.0 +Azure/azure-sdk 1 1 1.0 +BenK93/MessagingAPI 1 1 1.0 +BetterDiscord/Installer 1 1 1.0 +BishopFox/sliver 1 1 1.0 +BlueAndi/esp-rgb-led-matrix 1 1 1.0 +BlueRaja/Weighted-Item-Randomizer-for-C-Sharp 1 1 1.0 +BryanEstrada003/Tarea_AOP 1 1 1.0 +Byron/gitoxide 1 1 1.0 +CommanderQ/SmartThings-Edge-Drivers 1 1 1.0 +CosminPOP/Outfitter 1 1 1.0 +DJYanYan/Banhaw-Landing-Page 1 1 1.0 +DJYanYan/Simon-Game 1 1 1.0 +DennisWG/QuickBind 1 1 1.0 +DonDebonair/daan.fyi 1 1 1.0 +EffiSciencesResearch/hackathon42 1 1 1.0 +ElJeloos/repasoGitHub 1 1 1.0 +EmilyEdna/SS-SSR-V2RAY 1 1 1.0 +Evavic44/portfolio-ideas 1 1 1.0 +GarnetSunset/rgg_save_tools 1 1 1.0 +HLC-Lewis/st_freecam 1 1 1.0 +Hailey-Ross/vorp_goldexchange 1 1 1.0 +HakCat-Tech/WiFi-Nugget 1 1 1.0 +IanLunn/Hover 1 1 1.0 +IntelliTect/Coalesce 1 1 1.0 +Josee9988/project-template 1 1 1.0 +JunkFood02/Seal 1 1 1.0 +KhronosGroup/Vulkan-Guide 1 1 1.0 +KinDR007/VictronMPPT-ESPHOME 1 1 1.0 +Launch-X-Latam/MisionBackend 1 1 1.0 +LianjiaTech/bruno 1 1 1.0 +LilPoppy/Hackintosh-opencore-Z490-Asus 1 1 1.0 +LorenaCoheneBaez/LorenaCoheneBaez 1 1 1.0 +MagnoEfren/gui_python_tkinter 1 1 1.0 +Martinhh13/Practica8 1 1 1.0 +Mushy96/Mushy_BankRobbery 1 1 1.0 +NVIDIA-Merlin/Transformers4Rec 1 1 1.0 +OLIMEX/Ultra-Sound-Levitation 1 1 1.0 +PierreMarion23/ipypivot 1 1 1.0 +Pinguwien/DotNetCoreFakeAuth 1 1 1.0 +PlantSimulationLab/Helios 1 1 1.0 +PyGithub/PyGithub 1 1 1.0 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheWorstStagnation_order.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheWorstStagnation_order.out new file mode 100644 index 00000000000000..39b21a2439f33e --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheWorstStagnation_order.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoriesWithTheWorstStagnation_order -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList1.out new file mode 100644 index 00000000000000..9c258135b4be7f --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList1.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoryAffinityList1 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList2.out new file mode 100644 index 00000000000000..70e24a8edfc9a8 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList2.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !repositoryAffinityList2 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers1.out new file mode 100644 index 00000000000000..fd3791088d772b --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers1.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !starsFromHeavyGithubUsers1 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers2.out new file mode 100644 index 00000000000000..e5c1178d400de6 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers2.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !starsFromHeavyGithubUsers2 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames1.out new file mode 100644 index 00000000000000..aa4ae1f202049b --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames1.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !theLongestRepositoryNames1 -- +1 the-aws-terraform-samples/terraform-route-53-application-recovery-controller-codepipeline-with-terraform +1 mikeycal/the-video-editors-render-script-for-blender +1 the-aws-terraform-samples/terraform-eks-jumphost +1 python-semantic-release/python-semantic-release +1 rafaelsilverioit/twitter-django-rest-framework +1 webacademyufac/programacao-avancada-backend-t2 +1 BlueRaja/Weighted-Item-Randomizer-for-C-Sharp +1 adrianhajdin/project_modern_ui_ux_restaurant +2 h5bp/Front-end-Developer-Interview-Questions +1 baba-s/awesome-unity-open-source-on-github +1 elisandrosp/gerenciador-tarefas-next-88aoj +1 practical-tutorials/project-based-learning +1 yassineb14/Android-StaticBroadcastReceiver +1 eilishmcmaster/eilishmcmaster.github.io +1 koltigin/Restake-Turkce-Kurulum-Rehberi +1 LilPoppy/Hackintosh-opencore-Z490-Asus +1 cornehoskam/Umbraco9-Blazor-Starterkit +1 AbdelrhmanHamouda/locust-k8s-operator +1 alexjoverm/typescript-library-starter +1 brsbrc/Restake-Turkce-Kurulum-Rehberi +1 chobits/ngx_http_proxy_connect_module +1 michael-rubel/livewire-best-practices +1 gabors-data-analysis/da_case_studies +1 jpatel98/instock-api-silentdebuggers +1 xrayfree/free-ssr-ss-v2ray-vpn-clash +1 CommanderQ/SmartThings-Edge-Drivers +1 desenvjonathan/nlw-esports-explorer +1 igorescodro/version-catalog-example +1 jwasham/coding-interview-university +1 koltigin/Inery-Node-Kurulum-Rehberi +1 theaquarium/quizletmatch-autosolver +1 yuukoamamiya/yuukoamamiya.github.io +1 RajeshKumar1331/yt-home-page-clone +2 Zyflx/PsychEngine-Source-Code-Test +1 chrisdl/Django-QuerySet-Cheatsheet +1 estevam5s/pedacinho-do-ceu-website +1 fknaesel/exercicios-de-programacao +1 fr0gger/Awesome_Malware_Techniques +1 hideuvpn/android-google-play-store +1 matheusoms/grupo_2_2_semestre_2022 +1 trustedsec/social-engineer-toolkit +1 0x192/universal-android-debloater +1 LorenaCoheneBaez/LorenaCoheneBaez +1 chenweize1998/fully-hyperbolic-nn +1 leonardoH263/curr-culo.-Leonardo- +1 EffiSciencesResearch/hackathon42 +1 Scrawk/Marching-Cubes-On-The-GPU +1 codecrafters-io/build-your-own-x +1 encrypted-def/basic-algo-lecture +1 jdonnelly36/Deformable-ProtoPNet + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames2.out new file mode 100644 index 00000000000000..e69f3ca593af37 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames2.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !theLongestRepositoryNames2 -- +lxc/lxc 1 +lxc/lxd 1 +antfu/ni 1 +golang/go 1 +ossu/math 1 +prql/prql 1 +vuejs/vue 1 +nektos/act 1 +amplab/snap 1 +breck7/pldb 1 +mli/autocut 1 +numpy/numpy 1 +wfxr/forgit 1 +bufbuild/buf 1 +dotnet/razor 1 +google/guava 1 +google/paxml 1 +jsb/RingMenu 1 +IanLunn/Hover 1 +Udokah/veecam 1 +grafana/thema 1 +httpie/httpie 1 +jhawthorn/fzy 1 +kubevious/cli 1 +mesos/chronos 2 +pulumi/pulumi 1 +rcaos/TVToday 1 +Byron/gitoxide 1 +alandtse/tesla 1 +bloomberg/foml 1 +c-rutter/imabc 1 +dosisod/refurb 1 +github/explore 1 +mono/SkiaSharp 1 +openai/whisper 1 +snesrev/zelda3 1 +torvalds/linux 1 +typicode/hotel 1 +Azure/azure-sdk 1 +JunkFood02/Seal 1 +Questie/Questie 1 +SuadeLabs/rattr 2 +arcadesdude/BRU 1 +broxus/locklift 1 +caozhiyi/CppNet 1 +espanso/espanso 1 +eunjin2118/GoGo 1 +lirantal/dockly 1 +mrrosh/OpenClam 1 +netdata/netdata 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theMostToughCodeReviews.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theMostToughCodeReviews.out new file mode 100644 index 00000000000000..a77c61e62ca67c --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theMostToughCodeReviews.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !theMostToughCodeReviews -- +https://github.com/kubernetes/kubernetes/pull/ 3 +https://github.com/napari/napari/pull/ 2 +https://github.com/percona/pmm/pull/ 2 +https://github.com/ADCP1/airbnb-backend/pull/ 1 +https://github.com/Azure-Samples/communication-services-dotnet-quickstarts/pull/ 1 +https://github.com/CDOT-CV/jpo-cvdp/pull/ 1 +https://github.com/DataDog/dd-trace-js/pull/ 1 +https://github.com/DavidSM64/Diddy-Kong-Racing/pull/ 1 +https://github.com/GuruCICDCanary-Prod/CICDCanary/pull/ 1 +https://github.com/MCreator/MCreator/pull/ 1 +https://github.com/MetaMask/metamask-mobile/pull/ 1 +https://github.com/NewGraphEnvironment/fish_passage_elk_2022_reporting/pull/ 1 +https://github.com/Open-Systems-Pharmacology/PK-Sim/pull/ 1 +https://github.com/Spacechild1/pure-data/pull/ 1 +https://github.com/Tatsuro-fastball14/phileo_1210/pull/ 1 +https://github.com/Terracotta-OSS/terracotta-core/pull/ 1 +https://github.com/WebAssembly/wabt/pull/ 1 +https://github.com/akitasoftware/akita-cli/pull/ 1 +https://github.com/apache/airflow/pull/ 1 +https://github.com/apache/beam/pull/ 1 +https://github.com/apache/flink-kubernetes-operator/pull/ 1 +https://github.com/apache/maven-resolver/pull/ 1 +https://github.com/aptos-labs/aptos-core/pull/ 1 +https://github.com/arangodb/arangodb/pull/ 1 +https://github.com/autonomousapps/gradle-best-practices-plugin/pull/ 1 +https://github.com/aws-amplify/amplify-ui/pull/ 1 +https://github.com/aws/amazon-genomics-cli/pull/ 1 +https://github.com/breannly/java-explore-with-me/pull/ 1 +https://github.com/darchlabs/synchronizer-v2/pull/ 1 +https://github.com/dart-lang/linter/pull/ 1 +https://github.com/dotnet/runtime/pull/ 1 +https://github.com/duckduckgo/Android/pull/ 1 +https://github.com/ethereum/solidity/pull/ 1 +https://github.com/facebookincubator/velox/pull/ 1 +https://github.com/flutter/devtools/pull/ 1 +https://github.com/forcedotcom/sfdx-scanner/pull/ 1 +https://github.com/frollous/frollo-swift-sdk/pull/ 1 +https://github.com/halide/Halide/pull/ 1 +https://github.com/hashicorp/design-system/pull/ 1 +https://github.com/home-assistant/core/pull/ 1 +https://github.com/insertStringHere/MineBound/pull/ 1 +https://github.com/intel-iot-devkit/rtsf-at-checkout-reference-design/pull/ 1 +https://github.com/irods/irods/pull/ 1 +https://github.com/jacktrip/jacktrip/pull/ 1 +https://github.com/jitsi/jitsi-meet/pull/ 1 +https://github.com/k8ssandra/cass-operator/pull/ 1 +https://github.com/kubernetes-sigs/gateway-api/pull/ 1 +https://github.com/latis-data/latis3/pull/ 1 +https://github.com/letsencrypt/boulder/pull/ 1 +https://github.com/libfuse/libfuse/pull/ 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfRepositoriesOnGithub.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfRepositoriesOnGithub.out new file mode 100644 index 00000000000000..b7ce929fc4d23e --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfRepositoriesOnGithub.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !theTotalNumberOfRepositoriesOnGithub -- +5619 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub1.out new file mode 100644 index 00000000000000..61ea9003ab08b5 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub1.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !theTotalNumberOfUsersOnGithub1 -- +4600 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub2.out new file mode 100644 index 00000000000000..a7393c692bd992 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub2.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !theTotalNumberOfUsersOnGithub2 -- +228 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub3.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub3.out new file mode 100644 index 00000000000000..f9223a342cd52a --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub3.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !theTotalNumberOfUsersOnGithub3 -- +3157 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub4.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub4.out new file mode 100644 index 00000000000000..a46b96cc0028ab --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub4.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !theTotalNumberOfUsersOnGithub4 -- +247 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/topRepositoriesByStars.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/topRepositoriesByStars.out new file mode 100644 index 00000000000000..346989999490bb --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/topRepositoriesByStars.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !topRepositoriesByStars -- +SuadeLabs/rattr 2 +Zyflx/PsychEngine-Source-Code-Test 2 +h5bp/Front-end-Developer-Interview-Questions 2 +iheyfy2/Scripts-1 2 +iheyfy2/cloud189app-action 2 +jlevy/the-art-of-command-line 2 +martinothamar/Mediator 2 +mesos/chronos 2 +milanm/DevOps-Roadmap 2 +ossu/computer-science 2 +saper150/remporium 2 +veggiemonk/awesome-docker 2 +0x192/universal-android-debloater 1 +1uphealth/fhir-react 1 +42wim/matterbridge 1 +AbdelrhmanHamouda/locust-k8s-operator 1 +AgroDan/golden-kali 1 +AllThingsSmitty/css-protips 1 +AniList/discord-search-bot 1 +AntoinePassemiers/ArchMM 1 +Automattic/pocket-casts-android 1 +Azure/azure-sdk 1 +BenK93/MessagingAPI 1 +BetterDiscord/Installer 1 +BishopFox/sliver 1 +BlueAndi/esp-rgb-led-matrix 1 +BlueRaja/Weighted-Item-Randomizer-for-C-Sharp 1 +BryanEstrada003/Tarea_AOP 1 +Byron/gitoxide 1 +CommanderQ/SmartThings-Edge-Drivers 1 +CosminPOP/Outfitter 1 +DJYanYan/Banhaw-Landing-Page 1 +DJYanYan/Simon-Game 1 +DennisWG/QuickBind 1 +DonDebonair/daan.fyi 1 +EffiSciencesResearch/hackathon42 1 +ElJeloos/repasoGitHub 1 +EmilyEdna/SS-SSR-V2RAY 1 +Evavic44/portfolio-ideas 1 +GarnetSunset/rgg_save_tools 1 +HLC-Lewis/st_freecam 1 +Hailey-Ross/vorp_goldexchange 1 +HakCat-Tech/WiFi-Nugget 1 +IanLunn/Hover 1 +IntelliTect/Coalesce 1 +Josee9988/project-template 1 +JunkFood02/Seal 1 +KhronosGroup/Vulkan-Guide 1 +KinDR007/VictronMPPT-ESPHOME 1 +Launch-X-Latam/MisionBackend 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whatIsTheBestDayOfTheWeekToCatchAStar.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whatIsTheBestDayOfTheWeekToCatchAStar.out new file mode 100644 index 00000000000000..7f34c4b76f7db3 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whatIsTheBestDayOfTheWeekToCatchAStar.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !whatIsTheBestDayOfTheWeekToCatchAStar -- +3 329 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars1.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars1.out new file mode 100644 index 00000000000000..173fadbff27f2d --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars1.out @@ -0,0 +1,53 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !whoAreAllThosePeopleGivingStars1 -- +daweedkob 34 +Github5201314 7 +co-sh 6 +JosephCastro 5 +MedG1 5 +guilhermedamaral 5 +bbjornstad 4 +developerspro 4 +iheyfy2 4 +jesusignaciofueyogonzalez 4 +SlowpokeVG 3 +YerPalPandora 3 +blackpjotr 3 +brsbrc 3 +proKress 3 +BolaGhaly 2 +BrewingWeasel 2 +IvanIsay 2 +JCariveau 2 +LNshuti 2 +Ta2shera 2 +burketanner 2 +chrisxjh 2 +codegeek1001 2 +coontiect 2 +coskuncinar 2 +cvpcasada 2 +dbsdm 2 +diffblogbot 2 +itxDeeni 2 +jaroes 2 +jbmoorhouse 2 +kprav33n 2 +riyadomf 2 +saper150 2 +shfshanyue 2 +taftadahir 2 +wukinnin 2 +0m15 1 +8ightfold 1 +Al3n70rn 1 +AntonioGB1 1 +Apple1D 1 +ChiaraManeo 1 +CorruptComputer 1 +CyndaZ42 1 +DTIV 1 +DrumondGitHub 1 +EHilly 1 +Edilsonlimatec 1 + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars2.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars2.out new file mode 100644 index 00000000000000..87cf6d8f87c61d --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars2.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !whoAreAllThosePeopleGivingStars2 -- + diff --git a/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars3.out b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars3.out new file mode 100644 index 00000000000000..a75ee0fde45ee8 --- /dev/null +++ b/regression-test/data/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars3.out @@ -0,0 +1,3 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !whoAreAllThosePeopleGivingStars3 -- + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q01_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q01_trans.out new file mode 100644 index 00000000000000..eb103e759f24d2 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q01_trans.out @@ -0,0 +1,31 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q01_trans -- +15000 + +-- !q01_trans_2 -- +600572 + +-- !q01_trans_3 -- +25 + +-- !q01_trans_4 -- +150000 + +-- !q01_trans_5 -- +20000 + +-- !q01_trans_6 -- +80000 + +-- !q01_trans_7 -- +5 + +-- !q01_trans_8 -- +1000 + +-- !q01_trans_9 -- +A F 3774200.0 5.320753880690001E9 5.0540962666828375E9 5.256751331449239E9 25.537587116854997 36002.12382901415 0.05014459706345391 147790 +N F 95257.0 1.3373779584000012E8 1.2713237265120006E8 1.3228629122944506E8 25.30066401062417 35521.32691633469 0.04939442231075727 3765 +N O 7459297.0 1.051227000889988E10 9.986238338384867E9 1.038557837658565E10 25.545537671232875 36000.924688013285 0.05009595890418442 292000 +R F 3785523.0 5.337950526469928E9 5.071818532941938E9 5.274405503049396E9 25.5259438574251 35994.02921403044 0.04998927856189716 148301 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q02_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q02_trans.out new file mode 100644 index 00000000000000..628af0a0def0b5 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q02_trans.out @@ -0,0 +1,66 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q02_trans -- +9828.21 Supplier#000000647 UNITED KINGDOM 13120 Manufacturer#5 x5U7MBZmwfG9 33-258-202-4782 s the slyly even ideas poach fluffily +9759.38 Supplier#000000044 GERMANY 17242 Manufacturer#4 kERxlLDnlIZJdN66zAPHklyL 17-713-930-5667 x. carefully quiet account +9508.37 Supplier#000000070 FRANCE 3563 Manufacturer#1 INWNH2w,OOWgNDq0BRCcBwOMQc6PdFDc4 16-821-608-1166 ests sleep quickly express ideas. ironic ideas haggle about the final T +9508.37 Supplier#000000070 FRANCE 17268 Manufacturer#4 INWNH2w,OOWgNDq0BRCcBwOMQc6PdFDc4 16-821-608-1166 ests sleep quickly express ideas. ironic ideas haggle about the final T +9453.01 Supplier#000000802 ROMANIA 10021 Manufacturer#5 ,6HYXb4uaHITmtMBj4Ak57Pd 29-342-882-6463 gular frets. permanently special multipliers believe blithely alongs +9453.01 Supplier#000000802 ROMANIA 13275 Manufacturer#4 ,6HYXb4uaHITmtMBj4Ak57Pd 29-342-882-6463 gular frets. permanently special multipliers believe blithely alongs +9198.31 Supplier#000000025 RUSSIA 12238 Manufacturer#1 RCQKONXMFnrodzz6w7fObFVV6CUm2q 32-431-945-3541 ely regular deposits. carefully regular sauternes engage furiously above the regular accounts. idly +9192.1 Supplier#000000115 UNITED KINGDOM 13325 Manufacturer#1 nJ 2t0f7Ve,wL1,6WzGBJLNBUCKlsV 33-597-248-1220 es across the carefully express accounts boost caref +9032.15 Supplier#000000959 GERMANY 4958 Manufacturer#4 8grA EHBnwOZhO 17-108-642-3106 nding dependencies nag furiou +8702.02 Supplier#000000333 RUSSIA 11810 Manufacturer#3 MaVf XgwPdkiX4nfJGOis8Uu2zKiIZH 32-508-202-6136 oss the deposits cajole carefully even pinto beans. regular foxes detect alo +8615.5 Supplier#000000812 FRANCE 10551 Manufacturer#2 8qh4tezyScl5bidLAysvutB,,ZI2dn6xP 16-585-724-6633 y quickly regular deposits? quickly pending packages after the caref +8615.5 Supplier#000000812 FRANCE 13811 Manufacturer#4 8qh4tezyScl5bidLAysvutB,,ZI2dn6xP 16-585-724-6633 y quickly regular deposits? quickly pending packages after the caref +8488.53 Supplier#000000367 RUSSIA 6854 Manufacturer#4 E Sv9brQVf43Mzz 32-458-198-9557 ages. carefully final excuses nag finally. carefully ironic deposits abov +8430.52 Supplier#000000646 FRANCE 11384 Manufacturer#3 IUzsmT,2oBgjhWP2TlXTL6IkJH,4h,1SJRt 16-601-220-5489 ites among the always final ideas kindle according to the theodolites. notornis in +8271.39 Supplier#000000146 RUSSIA 4637 Manufacturer#5 rBDNgCr04x0sfdzD5,gFOutCiG2 32-792-619-3155 s cajole quickly special requests. quickly enticing theodolites h +8096.98 Supplier#000000574 RUSSIA 323 Manufacturer#4 2O8 sy9g2mlBOuEjzj0pA2pevk, 32-866-246-8752 ully after the regular requests. slyly final dependencies wake slyly along the busy deposit +8096.98 Supplier#000000574 RUSSIA 13784 Manufacturer#4 2O8 sy9g2mlBOuEjzj0pA2pevk, 32-866-246-8752 ully after the regular requests. slyly final dependencies wake slyly along the busy deposit +8069.74 Supplier#000000656 ROMANIA 7655 Manufacturer#2 mQXqRMgstvOI 29-633-362-8481 ronic packages integrate. even excuses integrate carefully ruthlessly bold packages. regular ideas a +7448.46 Supplier#000000690 ROMANIA 9430 Manufacturer#2 nK6Lv WWUh59jE525 29-330-952-4018 nic pinto beans doubt blithely b +7431.0 Supplier#000000311 RUSSIA 13784 Manufacturer#4 yjGDnCKi4Wmtim H3n9p 32-445-679-8585 uriously final requests integrate. sheaves against the furiously final accounts are evenly abo +7392.78 Supplier#000000170 UNITED KINGDOM 7655 Manufacturer#2 RtsXQ,SunkA XHy9 33-803-340-5398 ake carefully across the quickly +7205.2 Supplier#000000477 GERMANY 10956 Manufacturer#5 VtaNKN5Mqui5yh7j2ldd5waf 17-180-144-7991 excuses wake express deposits. furiously careful asymptotes according to the carefull +7144.78 Supplier#000000276 FRANCE 13275 Manufacturer#4 KdVDs6EGfWVsPdjuCh9iep 16-752-344-8255 cial, ironic theodolites against the decoys cajole slyly ironic foxes. carefull +6820.35 Supplier#000000007 UNITED KINGDOM 13217 Manufacturer#5 s,4TicNGB4uO6PaSqNBUq 33-990-965-2201 s unwind silently furiously regular courts. final requests are deposits. requests wake quietly blit +6721.7 Supplier#000000954 FRANCE 4191 Manufacturer#3 P3O5p UFz1QsLmZX 16-537-341-8517 ect blithely blithely final acco +6329.9 Supplier#000000996 GERMANY 10735 Manufacturer#2 Wx4dQwOAwWjfSCGupfrM 17-447-811-3282 ironic forges cajole blithely agai +6177.35 Supplier#000000053 GERMANY 5797 Manufacturer#1 i9v3 EsYCfLKFU6PIt8iihBOHBB37yR7b3GD7Rt 17-886-101-6083 onic, special deposits wake furio +6173.87 Supplier#000000408 RUSSIA 18139 Manufacturer#1 qcor1u,vJXAokjnL5,dilyYNmh 32-858-724-2950 blithely pending packages cajole furiously slyly pending notornis. slyly final +5733.61 Supplier#000000121 FRANCE 13120 Manufacturer#5 CWGri,tKI 7gDcDsI 16-275-849-2485 against the ironic, permanent pinto beans. doggedly pending deposits sleep agai +5408.07 Supplier#000000623 GERMANY 6854 Manufacturer#4 dSSQ3dTYwThbLppbetVUeuPfBIUF 17-593-337-7365 ial frays use. carefully special foxes wake carefully slyly pending deposits-- final requests a +5364.99 Supplier#000000785 RUSSIA 13784 Manufacturer#4 W VkHBpQyD3qjQjWGpWicOpmILFehmEdWy67kUGY 32-297-653-2203 packages boost carefully. express ideas along +5322.35 Supplier#000000587 GERMANY 3080 Manufacturer#2 58,gb EuMperMCg2lv XUQ9vi4GzhO2a 17-128-699-9949 thin pinto beans boost silently. ruthless deposits haggle quickly above the slyly unusual th +5069.27 Supplier#000000328 GERMANY 16327 Manufacturer#1 SMm24d WG62 17-231-513-5721 he unusual ideas. slyly final packages a +4941.88 Supplier#000000321 ROMANIA 7320 Manufacturer#5 pLngFl5yeMcHyov 29-573-279-1406 y final requests impress s +4680.75 Supplier#000000326 GERMANY 13325 Manufacturer#1 9kFiCwhcBldg4xwm 17-390-604-7483 quests could use furiously across the ironic, even f +4672.25 Supplier#000000239 RUSSIA 12238 Manufacturer#1 XO101kgHrJagK2FL1U6QCaTE ncCsMbeuTgK6o8 32-396-654-6826 arls wake furiously deposits. even, regular depen +4586.49 Supplier#000000680 RUSSIA 5679 Manufacturer#3 UhvDfdEfJh,Qbe7VZb8uSGO2TU 0jEa6nXZXE 32-522-382-1620 the regularly regular dependencies. carefully bold excuses under th +4518.31 Supplier#000000149 FRANCE 18344 Manufacturer#5 pVyWsjOidpHKp4NfKU4yLeym 16-660-553-2456 ts detect along the foxes. final Tiresias are. idly pending deposits haggle; even, blithe pin +4324.51 Supplier#000000957 UNITED KINGDOM 10956 Manufacturer#5 mSpFa,4jJ5R40k10YOvGEtl4KYjo 33-616-674-6155 hily after the fluffily regular dependencies. deposits nag regular, silent accounts. i +4315.15 Supplier#000000509 FRANCE 18972 Manufacturer#2 SF7dR8V5pK 16-298-154-3365 ronic orbits are furiously across the requests. quickly express ideas across the special, bold +3526.53 Supplier#000000553 FRANCE 8036 Manufacturer#4 a,liVofXbCJ 16-599-552-3755 lar dinos nag slyly brave +3526.53 Supplier#000000553 FRANCE 17018 Manufacturer#3 a,liVofXbCJ 16-599-552-3755 lar dinos nag slyly brave +3294.68 Supplier#000000350 GERMANY 4841 Manufacturer#4 KIFxV73eovmwhh 17-113-181-4017 e slyly special foxes. furiously unusual deposits detect carefully carefully ruthless foxes. quick +2972.26 Supplier#000000016 RUSSIA 1015 Manufacturer#4 YjP5C55zHDXL7LalK27zfQnwejdpin4AMpvh 32-822-502-4215 ously express ideas haggle quickly dugouts? fu +2963.09 Supplier#000000840 ROMANIA 3080 Manufacturer#2 iYzUIypKhC0Y 29-781-337-5584 eep blithely regular dependencies. blithely regular platelets sublate alongside o +2221.25 Supplier#000000771 ROMANIA 13981 Manufacturer#2 lwZ I15rq9kmZXUNhl 29-986-304-9006 nal foxes eat slyly about the fluffily permanent id +1381.97 Supplier#000000104 FRANCE 18103 Manufacturer#3 Dcl4yGrzqv3OPeRO49bKh78XmQEDR7PBXIs0m 16-434-972-6922 gular ideas. bravely bold deposits haggle through the carefully final deposits. slyly unusual idea +1342.17 Supplier#000000384 GERMANY 13120 Manufacturer#5 zMr51gtJ0Vu83Dk 17-554-428-8511 taphs cajole furiously blithely final +906.07 Supplier#000000138 ROMANIA 8363 Manufacturer#4 utbplAm g7RmxVfYoNdhcrQGWuzRqPe0qHSwbKw 29-533-434-6776 ickly unusual requests cajole. accounts above the furiously special excuses +765.69 Supplier#000000799 RUSSIA 11276 Manufacturer#2 jwFN7ZB3T9sMF 32-579-339-1495 nusual requests. furiously unusual epitaphs integrate. slyly +747.88 Supplier#000000243 FRANCE 17242 Manufacturer#4 8aQ3HGeOXxgYeMAXZQe B5y2RKEF5jdmN3Qb 16-554-376-5494 kly silent requests among the blithely regular foxes use fu +727.89 Supplier#000000470 ROMANIA 6213 Manufacturer#3 XckbzsAgBLbUkdfjgJEPjmUMTM8ebSMEvI 29-165-289-1523 gular excuses. furiously regular excuses sleep slyly caref +704.83 Supplier#000000323 RUSSIA 3563 Manufacturer#1 0LEOmcTTomY1F0y 32-563-275-6438 accounts. unusual requests haggle slyly special packages. always silent instructions e +683.07 Supplier#000000651 RUSSIA 4888 Manufacturer#4 oWekiBV6s,1g 32-181-426-4490 ly regular requests cajole abou +167.56 Supplier#000000290 FRANCE 2037 Manufacturer#1 6Bk06GVtwZaKqg01 16-675-286-5102 the theodolites. ironic, ironic deposits above +165.76 Supplier#000000769 FRANCE 1015 Manufacturer#4 ak2320fUkG 16-655-591-2134 ly ironic ideas. quickly ironic platelets hag +91.39 Supplier#000000949 UNITED KINGDOM 9430 Manufacturer#2 a,UE,6nRVl2fCphkOoetR1ajIzAEJ1Aa1G1HV 33-332-697-2768 pinto beans. carefully express requests hagg +-314.06 Supplier#000000510 ROMANIA 17242 Manufacturer#4 VmXQl ,vY8JiEseo8Mv4zscvNCfsY 29-207-852-3454 bold deposits. carefully even d +-435.02 Supplier#000000295 UNITED KINGDOM 8036 Manufacturer#4 gpm7fahY9j6YyTr Dozul 33-998-989-3147 en requests according to the +-820.89 Supplier#000000409 GERMANY 2156 Manufacturer#5 LyXUYFz7aXrvy65kKAbTatGzGS,NDBcdtD 17-719-517-9836 y final, slow theodolites. furiously regular req +-845.44 Supplier#000000704 ROMANIA 9926 Manufacturer#5 hQvlBqbqqnA5Dgo1BffRBX78tkkRu 29-300-896-5991 ctions. carefully sly requ +-942.73 Supplier#000000563 GERMANY 5797 Manufacturer#1 Rc7U1cRUhYs03JD 17-108-537-2691 slyly furiously final decoys; silent, special realms poach f +-963.79 Supplier#000000065 RUSSIA 13275 Manufacturer#4 BsAnHUmSFArppKrM 32-444-835-2434 l ideas wake carefully around the regular packages. furiously ruthless pinto bea + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q03_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q03_trans.out new file mode 100644 index 00000000000000..abee8c3e676538 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q03_trans.out @@ -0,0 +1,13 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q03_trans -- +223140 355369.0698 1995-03-14 0 +584291 354494.73180000007 1995-02-21 0 +405063 353125.4577 1995-03-03 0 +573861 351238.277 1995-03-09 0 +554757 349181.7426 1995-03-14 0 +506021 321075.581 1995-03-10 0 +121604 318576.41539999994 1995-03-07 0 +108514 314967.0754 1995-02-20 0 +462502 312604.54199999996 1995-03-08 0 +178727 309728.93059999996 1995-02-25 0 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q05_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q05_trans.out new file mode 100644 index 00000000000000..5f7680a2ff4611 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q05_trans.out @@ -0,0 +1,8 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q05_trans -- +CHINA 7822102.999999998 +INDIA 6376121.5084999995 +JAPAN 6000077.2184000015 +INDONESIA 5580475.402700002 +VIETNAM 4497840.546599999 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q06_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q06_trans.out new file mode 100644 index 00000000000000..174241a7cd2579 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q06_trans.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q06_trans -- +1.1803420253399998E7 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q08_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q08_trans.out new file mode 100644 index 00000000000000..9b4bfafa8e5507 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q08_trans.out @@ -0,0 +1,5 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q08_trans -- +1995 0.028648741305617564 +1996 0.01825027910796215 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q09_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q09_trans.out new file mode 100644 index 00000000000000..111c4709dfec6a --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q09_trans.out @@ -0,0 +1,178 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q09_trans -- +ALGERIA 1998 2321785.3682000004 +ALGERIA 1997 3685016.8589000003 +ALGERIA 1996 4276597.425300001 +ALGERIA 1995 4418370.415399998 +ALGERIA 1994 3864849.9520999985 +ALGERIA 1993 3541051.386499999 +ALGERIA 1992 4310013.348199999 +ARGENTINA 1998 2685983.800500001 +ARGENTINA 1997 4242147.812399997 +ARGENTINA 1996 3907867.010300001 +ARGENTINA 1995 4605921.501099997 +ARGENTINA 1994 3542096.1564000016 +ARGENTINA 1993 3949965.9387999997 +ARGENTINA 1992 4521180.469499999 +BRAZIL 1998 2778730.3931000014 +BRAZIL 1997 4642037.468700008 +BRAZIL 1996 4530304.603400003 +BRAZIL 1995 4502344.865699998 +BRAZIL 1994 4875806.501499998 +BRAZIL 1993 4687478.653099999 +BRAZIL 1992 5035200.0464 +CANADA 1998 2194509.0464999997 +CANADA 1997 3482197.952099998 +CANADA 1996 3712231.2813999993 +CANADA 1995 4014814.847599999 +CANADA 1994 4145304.4855000004 +CANADA 1993 3787069.604500001 +CANADA 1992 4168009.4200999993 +CHINA 1998 3398578.0000999975 +CHINA 1997 6358959.333799999 +CHINA 1996 6435158.322899999 +CHINA 1995 6174776.211300004 +CHINA 1994 6385751.0812 +CHINA 1993 5765034.119400002 +CHINA 1992 6324034.237900004 +EGYPT 1998 2333148.3334000004 +EGYPT 1997 3661244.2731000003 +EGYPT 1996 3765371.2368 +EGYPT 1995 4094744.2924999967 +EGYPT 1994 3566508.0817999984 +EGYPT 1993 3725283.7746999995 +EGYPT 1992 3373762.333500001 +ETHIOPIA 1998 1953927.2681999994 +ETHIOPIA 1997 3285786.326600001 +ETHIOPIA 1996 3525028.795200001 +ETHIOPIA 1995 3781674.891100001 +ETHIOPIA 1994 3037409.435999999 +ETHIOPIA 1993 3008978.2676999997 +ETHIOPIA 1992 2721203.2355 +FRANCE 1998 2604373.880499999 +FRANCE 1997 3982872.048799999 +FRANCE 1996 3622479.2413 +FRANCE 1995 4479939.7020000005 +FRANCE 1994 3531013.1980999988 +FRANCE 1993 4086437.310200002 +FRANCE 1992 3637792.1333 +GERMANY 1998 3291023.2965 +GERMANY 1997 5139337.344300005 +GERMANY 1996 4799810.457699997 +GERMANY 1995 5405785.7978 +GERMANY 1994 4555556.459199995 +GERMANY 1993 4428195.101900003 +GERMANY 1992 4656148.420400001 +INDIA 1998 2591288.1873999992 +INDIA 1997 5159562.7032999955 +INDIA 1996 5307258.304899997 +INDIA 1995 5148208.790199998 +INDIA 1994 5164001.958199999 +INDIA 1993 4321398.438800001 +INDIA 1992 5297703.693499999 +INDONESIA 1998 3094900.1597 +INDONESIA 1997 5719773.035800001 +INDONESIA 1996 6037238.599299995 +INDONESIA 1995 5266783.489899999 +INDONESIA 1994 5470762.872900003 +INDONESIA 1993 6189826.661299995 +INDONESIA 1992 4414623.154899998 +IRAN 1998 3214864.1208999995 +IRAN 1997 3688049.0690999976 +IRAN 1996 3621649.224699998 +IRAN 1995 4420783.4205 +IRAN 1994 4373984.652299998 +IRAN 1993 3731301.7814000007 +IRAN 1992 4417133.366199994 +IRAQ 1998 2338859.4098999994 +IRAQ 1997 3622681.564300003 +IRAQ 1996 4762291.872199997 +IRAQ 1995 4558092.735899999 +IRAQ 1994 4951604.169900003 +IRAQ 1993 3830077.9911000016 +IRAQ 1992 3938636.4873999995 +JAPAN 1998 1849535.0801999997 +JAPAN 1997 4068688.8536999985 +JAPAN 1996 4044774.7597000008 +JAPAN 1995 4793005.802699999 +JAPAN 1994 4114717.056800001 +JAPAN 1993 3614468.748500002 +JAPAN 1992 4266694.470000001 +JORDAN 1998 1811488.0719 +JORDAN 1997 2951297.867800001 +JORDAN 1996 3302528.3066999987 +JORDAN 1995 3221813.9990000012 +JORDAN 1994 2417892.0921000005 +JORDAN 1993 3107641.7661 +JORDAN 1992 3316379.0585000003 +KENYA 1998 2579075.419000001 +KENYA 1997 2929194.231699999 +KENYA 1996 3569129.5619 +KENYA 1995 3542889.1086999993 +KENYA 1994 3983095.3993999995 +KENYA 1993 3713988.9707999993 +KENYA 1992 3304641.833999999 +MOROCCO 1998 1815334.8179999997 +MOROCCO 1997 3693214.844699999 +MOROCCO 1996 4116175.9229999995 +MOROCCO 1995 3515127.140199997 +MOROCCO 1994 4003072.111999999 +MOROCCO 1993 3599199.6678999993 +MOROCCO 1992 3958335.422400001 +MOZAMBIQUE 1998 1620428.7345999999 +MOZAMBIQUE 1997 2802166.6473000003 +MOZAMBIQUE 1996 2409955.175499999 +MOZAMBIQUE 1995 2771602.6274000006 +MOZAMBIQUE 1994 2548226.2158000013 +MOZAMBIQUE 1993 2843748.9052999993 +MOZAMBIQUE 1992 2556501.094300002 +PERU 1998 2036430.3602 +PERU 1997 4064142.4090999993 +PERU 1996 4068678.5670999996 +PERU 1995 4657694.841200002 +PERU 1994 4731959.4655 +PERU 1993 4144006.6609999975 +PERU 1992 3754635.0077999993 +ROMANIA 1998 1992773.6811000004 +ROMANIA 1997 2854639.8679999993 +ROMANIA 1996 3139337.302899999 +ROMANIA 1995 3222153.3775999993 +ROMANIA 1994 3222844.319000001 +ROMANIA 1993 3488994.028799999 +ROMANIA 1992 3029274.4420000017 +RUSSIA 1998 2339865.6635 +RUSSIA 1997 4153619.5424 +RUSSIA 1996 3772067.4040999995 +RUSSIA 1995 4704988.860700001 +RUSSIA 1994 4479082.869399998 +RUSSIA 1993 4767719.9791 +RUSSIA 1992 4533465.559 +SAUDI ARABIA 1998 3386948.956400002 +SAUDI ARABIA 1997 5425980.3373 +SAUDI ARABIA 1996 5227607.167699995 +SAUDI ARABIA 1995 4506731.641100001 +SAUDI ARABIA 1994 4698658.742500002 +SAUDI ARABIA 1993 5493626.5285 +SAUDI ARABIA 1992 4573560.015000002 +UNITED KINGDOM 1998 2252021.513699999 +UNITED KINGDOM 1997 4343926.802599999 +UNITED KINGDOM 1996 4189476.306499999 +UNITED KINGDOM 1995 4469569.882899999 +UNITED KINGDOM 1994 4410094.626399998 +UNITED KINGDOM 1993 4054677.1050000004 +UNITED KINGDOM 1992 3978688.8831 +UNITED STATES 1998 2238771.5581000005 +UNITED STATES 1997 4135581.5734000015 +UNITED STATES 1996 3624013.2660000008 +UNITED STATES 1995 3892244.5171999987 +UNITED STATES 1994 3289224.1137999995 +UNITED STATES 1993 3626170.2028 +UNITED STATES 1992 3993973.4997000005 +VIETNAM 1998 1924313.4861999997 +VIETNAM 1997 3436195.3709 +VIETNAM 1996 4017288.892700001 +VIETNAM 1995 3644054.137200002 +VIETNAM 1994 4141277.6665000007 +VIETNAM 1993 2556114.1693000016 +VIETNAM 1992 4090524.4904999994 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q10_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q10_trans.out new file mode 100644 index 00000000000000..d72918439a1265 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q10_trans.out @@ -0,0 +1,23 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q10_trans -- +8242 Customer#000008242 622786.7297 6322.09 ETHIOPIA P2n4nJhy,UqSo2s43YfSvYJDZ6lk 15-792-676-1184 slyly regular packages haggle carefully ironic ideas. courts are furiously. furiously unusual theodolites cajole. i +7714 Customer#000007714 557400.3053 9799.98 IRAN SnnIGB,SkmnWpX3 20-922-418-6024 arhorses according to the blithely express re +11032 Customer#000011032 512500.9641 8496.93 UNITED KINGDOM WIKHC7K3Cn7156iNOyfVG3cZ7YqkgsR,Ly 33-102-772-3533 posits-- furiously ironic accounts are again +2455 Customer#000002455 481592.4053 2070.99 GERMANY RVn1ZSRtLqPlJLIZxvpmsbgC02 17-946-225-9977 al asymptotes. finally ironic accounts cajole furiously. permanently unusual theodolites aro +12106 Customer#000012106 479414.2133 5342.11 UNITED STATES wth3twOmu6vy 34-905-346-4472 ly after the blithely regular foxes. accounts haggle carefully alongside of the blithely even ideas. +8530 Customer#000008530 457855.94670000003 9734.95 MOROCCO GMQyte94oDM7eD7exnkj 4hH9yq3 25-736-932-5850 slyly asymptotes. quickly final deposits in +13984 Customer#000013984 446316.5104 3482.28 IRAN qZXwuapCHvxbX 20-981-264-2952 y unusual courts could wake furiously +1966 Customer#000001966 444059.0382 1937.72 ALGERIA jPv1 UHra5JLALR5Isci5u0636RoAu7t vH 10-973-269-8886 the blithely even accounts. final deposits cajole around the blithely final packages. +11026 Customer#000011026 417913.4142 7738.76 ALGERIA XorIktoJOAEJkpNNMx 10-184-163-4632 ly even dolphins eat along the blithely even instructions. express attainments cajole slyly. busy dolphins in +8501 Customer#000008501 412797.51 6906.7 ARGENTINA 776af4rOa mZ66hczs 11-317-552-5840 y final deposits after the fluffily even accounts are slyly final, regular +1565 Customer#000001565 412506.00619999995 1820.03 BRAZIL EWQO5Ck,nMuHVQimqL8dLrixRP6QKveXcz9QgorW 12-402-178-2007 ously regular accounts wake slyly ironic idea +14398 Customer#000014398 408575.3599999999 -602.24 UNITED STATES GWRCgIPHajtU21vICVvbJJerFu2cUk 34-814-111-5424 s. blithely even accounts cajole blithely. even foxes doubt-- +1465 Customer#000001465 405055.34569999995 9365.93 INDIA tDRaTC7UgFbBX7VF6cVXYQA0 18-807-487-1074 s lose blithely ironic, regular packages. regular, final foxes haggle c +12595 Customer#000012595 401402.2391 -6.92 INDIA LmeaX5cR,w9NqKugl yRm98 18-186-132-3352 o the busy accounts. blithely special gifts maintain a +961 Customer#000000961 401198.17370000004 6963.68 JAPAN 5,81YDLFuRR47KKzv8GXdmi3zyP37PlPn 22-989-463-6089 e final requests: busily final accounts believe a +14299 Customer#000014299 400968.3751 6595.97 RUSSIA 7lFczTya0iM1bhEWT 32-156-618-1224 carefully regular requests. quickly ironic accounts against the ru +623 Customer#000000623 399883.42569999996 7887.6 INDONESIA HXiFb9oWlgqZXrJPUCEJ6zZIPxAM4m6 19-113-202-7085 requests. dolphins above the busily regular dependencies cajole after +9151 Customer#000009151 396562.02950000006 5691.95 IRAQ 7gIdRdaxB91EVdyx8DyPjShpMD 21-834-147-4906 ajole fluffily. furiously regular accounts are special, silent account +14819 Customer#000014819 396271.1036 7308.39 FRANCE w8StIbymUXmLCcUag6sx6LUIp8E3pA,Ux 16-769-398-7926 ss, final asymptotes use furiously slyly ironic dependencies. special, express dugouts according to the dep +13478 Customer#000013478 395513.13580000005 -778.11 KENYA 9VIsvIeZrJpC6OOdYheMC2vdtq8Ai0Rt 24-983-202-8240 r theodolites. slyly unusual pinto beans sleep fluffily against the asymptotes. quickly r + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q12_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q12_trans.out new file mode 100644 index 00000000000000..2432e646c92247 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q12_trans.out @@ -0,0 +1,5 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q12_trans -- +MAIL 647 945 +SHIP 620 943 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q13_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q13_trans.out new file mode 100644 index 00000000000000..b433c1697ca725 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q13_trans.out @@ -0,0 +1,40 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q13_trans -- +0 5000 +10 665 +9 657 +11 621 +12 567 +8 564 +13 492 +18 482 +7 480 +20 456 +14 456 +16 449 +19 447 +15 432 +17 423 +21 412 +22 371 +6 337 +23 323 +24 256 +25 204 +5 204 +26 155 +27 141 +28 97 +4 94 +29 64 +3 48 +30 27 +31 26 +32 14 +33 11 +2 11 +34 6 +35 5 +1 2 +36 1 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q14_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q14_trans.out new file mode 100644 index 00000000000000..447f13165c9da9 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q14_trans.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q14_trans -- +16.283855689005982 + diff --git a/regression-test/data/variant_p2/tpch_upgrade/sql/q16_trans.out b/regression-test/data/variant_p2/tpch_upgrade/sql/q16_trans.out new file mode 100644 index 00000000000000..d24fcb3693fb36 --- /dev/null +++ b/regression-test/data/variant_p2/tpch_upgrade/sql/q16_trans.out @@ -0,0 +1,2765 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q16_trans -- +Brand#14 SMALL ANODIZED NICKEL 45 12 +Brand#22 SMALL BURNISHED BRASS 19 12 +Brand#25 PROMO POLISHED COPPER 14 12 +Brand#35 LARGE ANODIZED STEEL 45 12 +Brand#35 PROMO BRUSHED COPPER 9 12 +Brand#51 ECONOMY ANODIZED STEEL 9 12 +Brand#53 LARGE BRUSHED NICKEL 45 12 +Brand#11 ECONOMY POLISHED COPPER 14 8 +Brand#11 LARGE PLATED STEEL 23 8 +Brand#11 PROMO POLISHED STEEL 23 8 +Brand#11 STANDARD ANODIZED COPPER 9 8 +Brand#12 ECONOMY BURNISHED BRASS 9 8 +Brand#12 LARGE ANODIZED BRASS 14 8 +Brand#12 SMALL ANODIZED TIN 23 8 +Brand#12 SMALL BRUSHED NICKEL 23 8 +Brand#12 STANDARD ANODIZED BRASS 3 8 +Brand#12 STANDARD BURNISHED TIN 23 8 +Brand#13 ECONOMY POLISHED BRASS 9 8 +Brand#13 LARGE BURNISHED COPPER 45 8 +Brand#13 MEDIUM ANODIZED STEEL 23 8 +Brand#13 MEDIUM PLATED NICKEL 3 8 +Brand#13 PROMO BURNISHED BRASS 9 8 +Brand#13 PROMO POLISHED BRASS 3 8 +Brand#13 PROMO POLISHED TIN 36 8 +Brand#13 SMALL BURNISHED STEEL 23 8 +Brand#13 STANDARD BRUSHED STEEL 9 8 +Brand#14 ECONOMY BRUSHED TIN 3 8 +Brand#14 ECONOMY BURNISHED TIN 23 8 +Brand#14 PROMO BRUSHED STEEL 9 8 +Brand#14 PROMO PLATED TIN 45 8 +Brand#15 ECONOMY PLATED TIN 9 8 +Brand#15 STANDARD BRUSHED COPPER 14 8 +Brand#15 STANDARD PLATED TIN 3 8 +Brand#21 ECONOMY POLISHED TIN 3 8 +Brand#21 PROMO POLISHED COPPER 9 8 +Brand#21 PROMO POLISHED TIN 49 8 +Brand#21 SMALL POLISHED STEEL 3 8 +Brand#21 STANDARD PLATED BRASS 49 8 +Brand#21 STANDARD PLATED NICKEL 49 8 +Brand#22 ECONOMY ANODIZED TIN 49 8 +Brand#22 ECONOMY BRUSHED BRASS 14 8 +Brand#22 LARGE BURNISHED TIN 36 8 +Brand#22 MEDIUM ANODIZED STEEL 36 8 +Brand#22 MEDIUM PLATED STEEL 9 8 +Brand#22 PROMO POLISHED NICKEL 9 8 +Brand#22 SMALL ANODIZED STEEL 19 8 +Brand#22 STANDARD ANODIZED COPPER 23 8 +Brand#23 ECONOMY BRUSHED NICKEL 23 8 +Brand#23 LARGE ANODIZED BRASS 9 8 +Brand#23 LARGE ANODIZED STEEL 23 8 +Brand#23 SMALL BRUSHED COPPER 23 8 +Brand#23 STANDARD BRUSHED TIN 3 8 +Brand#23 STANDARD BURNISHED NICKEL 49 8 +Brand#23 STANDARD PLATED NICKEL 36 8 +Brand#24 ECONOMY ANODIZED BRASS 19 8 +Brand#24 ECONOMY POLISHED BRASS 36 8 +Brand#24 LARGE BURNISHED STEEL 14 8 +Brand#24 MEDIUM PLATED NICKEL 36 8 +Brand#25 ECONOMY BRUSHED STEEL 49 8 +Brand#25 MEDIUM BURNISHED TIN 3 8 +Brand#25 PROMO ANODIZED TIN 36 8 +Brand#25 PROMO PLATED NICKEL 3 8 +Brand#25 SMALL BURNISHED BRASS 3 8 +Brand#31 LARGE ANODIZED BRASS 3 8 +Brand#31 SMALL ANODIZED COPPER 3 8 +Brand#31 SMALL ANODIZED NICKEL 9 8 +Brand#31 SMALL ANODIZED STEEL 14 8 +Brand#32 MEDIUM ANODIZED STEEL 49 8 +Brand#32 MEDIUM BURNISHED COPPER 19 8 +Brand#32 SMALL BURNISHED STEEL 23 8 +Brand#32 STANDARD BURNISHED STEEL 45 8 +Brand#34 ECONOMY ANODIZED NICKEL 49 8 +Brand#34 LARGE BURNISHED TIN 49 8 +Brand#34 MEDIUM BURNISHED NICKEL 3 8 +Brand#34 PROMO ANODIZED TIN 3 8 +Brand#34 SMALL BRUSHED TIN 3 8 +Brand#34 STANDARD BURNISHED TIN 23 8 +Brand#35 MEDIUM BRUSHED STEEL 45 8 +Brand#35 PROMO BURNISHED STEEL 14 8 +Brand#35 SMALL BURNISHED STEEL 23 8 +Brand#35 SMALL POLISHED COPPER 14 8 +Brand#35 STANDARD PLATED COPPER 9 8 +Brand#41 ECONOMY BRUSHED BRASS 23 8 +Brand#41 LARGE BURNISHED STEEL 23 8 +Brand#41 PROMO BURNISHED TIN 14 8 +Brand#41 PROMO PLATED STEEL 36 8 +Brand#41 PROMO POLISHED TIN 19 8 +Brand#41 SMALL BURNISHED COPPER 23 8 +Brand#42 LARGE POLISHED TIN 14 8 +Brand#42 MEDIUM ANODIZED TIN 49 8 +Brand#42 MEDIUM BRUSHED TIN 14 8 +Brand#42 MEDIUM BURNISHED NICKEL 23 8 +Brand#42 MEDIUM PLATED COPPER 45 8 +Brand#42 MEDIUM PLATED TIN 45 8 +Brand#42 SMALL PLATED COPPER 36 8 +Brand#43 ECONOMY BRUSHED STEEL 45 8 +Brand#43 LARGE BRUSHED COPPER 19 8 +Brand#43 PROMO BRUSHED BRASS 36 8 +Brand#43 SMALL BURNISHED TIN 45 8 +Brand#43 SMALL PLATED COPPER 45 8 +Brand#44 PROMO POLISHED TIN 23 8 +Brand#44 SMALL POLISHED NICKEL 14 8 +Brand#44 SMALL POLISHED TIN 45 8 +Brand#44 STANDARD BURNISHED COPPER 3 8 +Brand#51 LARGE ANODIZED BRASS 19 8 +Brand#51 LARGE POLISHED COPPER 23 8 +Brand#51 MEDIUM ANODIZED TIN 9 8 +Brand#51 MEDIUM ANODIZED TIN 14 8 +Brand#51 MEDIUM BURNISHED NICKEL 23 8 +Brand#51 SMALL ANODIZED COPPER 45 8 +Brand#51 SMALL ANODIZED COPPER 49 8 +Brand#51 SMALL BRUSHED COPPER 45 8 +Brand#51 SMALL BRUSHED TIN 36 8 +Brand#51 STANDARD POLISHED TIN 3 8 +Brand#52 ECONOMY ANODIZED STEEL 3 8 +Brand#52 ECONOMY PLATED TIN 19 8 +Brand#52 LARGE PLATED TIN 3 8 +Brand#52 MEDIUM ANODIZED TIN 19 8 +Brand#52 MEDIUM BURNISHED COPPER 3 8 +Brand#52 PROMO POLISHED BRASS 23 8 +Brand#52 SMALL PLATED COPPER 36 8 +Brand#52 SMALL POLISHED NICKEL 9 8 +Brand#52 STANDARD POLISHED NICKEL 45 8 +Brand#53 ECONOMY POLISHED STEEL 45 8 +Brand#53 LARGE POLISHED NICKEL 3 8 +Brand#53 SMALL BRUSHED COPPER 14 8 +Brand#53 STANDARD PLATED STEEL 45 8 +Brand#54 ECONOMY POLISHED BRASS 49 8 +Brand#54 ECONOMY POLISHED TIN 23 8 +Brand#54 LARGE ANODIZED NICKEL 49 8 +Brand#54 MEDIUM BRUSHED STEEL 9 8 +Brand#54 SMALL BURNISHED NICKEL 14 8 +Brand#54 SMALL PLATED TIN 14 8 +Brand#54 STANDARD BURNISHED STEEL 14 8 +Brand#54 STANDARD PLATED BRASS 23 8 +Brand#55 MEDIUM BURNISHED TIN 36 8 +Brand#55 PROMO ANODIZED BRASS 14 8 +Brand#55 STANDARD BURNISHED COPPER 45 8 +Brand#15 STANDARD PLATED TIN 36 7 +Brand#23 SMALL POLISHED BRASS 49 7 +Brand#42 STANDARD PLATED COPPER 19 7 +Brand#51 LARGE POLISHED NICKEL 14 7 +Brand#11 ECONOMY ANODIZED BRASS 19 4 +Brand#11 ECONOMY ANODIZED BRASS 45 4 +Brand#11 ECONOMY ANODIZED NICKEL 36 4 +Brand#11 ECONOMY BRUSHED COPPER 3 4 +Brand#11 ECONOMY BRUSHED COPPER 9 4 +Brand#11 ECONOMY BRUSHED STEEL 9 4 +Brand#11 ECONOMY BRUSHED STEEL 36 4 +Brand#11 ECONOMY BURNISHED BRASS 36 4 +Brand#11 ECONOMY BURNISHED COPPER 9 4 +Brand#11 ECONOMY BURNISHED COPPER 49 4 +Brand#11 ECONOMY BURNISHED NICKEL 14 4 +Brand#11 ECONOMY BURNISHED NICKEL 49 4 +Brand#11 ECONOMY PLATED COPPER 19 4 +Brand#11 ECONOMY PLATED NICKEL 45 4 +Brand#11 ECONOMY PLATED TIN 9 4 +Brand#11 ECONOMY POLISHED BRASS 3 4 +Brand#11 ECONOMY POLISHED COPPER 3 4 +Brand#11 ECONOMY POLISHED COPPER 45 4 +Brand#11 ECONOMY POLISHED NICKEL 36 4 +Brand#11 ECONOMY POLISHED STEEL 23 4 +Brand#11 ECONOMY POLISHED TIN 14 4 +Brand#11 LARGE ANODIZED COPPER 23 4 +Brand#11 LARGE ANODIZED NICKEL 9 4 +Brand#11 LARGE ANODIZED STEEL 9 4 +Brand#11 LARGE ANODIZED TIN 45 4 +Brand#11 LARGE BRUSHED STEEL 19 4 +Brand#11 LARGE BRUSHED TIN 3 4 +Brand#11 LARGE BRUSHED TIN 14 4 +Brand#11 LARGE BURNISHED COPPER 9 4 +Brand#11 LARGE BURNISHED COPPER 19 4 +Brand#11 LARGE BURNISHED STEEL 23 4 +Brand#11 LARGE BURNISHED TIN 9 4 +Brand#11 LARGE PLATED COPPER 23 4 +Brand#11 LARGE PLATED TIN 9 4 +Brand#11 LARGE PLATED TIN 14 4 +Brand#11 LARGE PLATED TIN 23 4 +Brand#11 LARGE POLISHED NICKEL 49 4 +Brand#11 MEDIUM ANODIZED BRASS 45 4 +Brand#11 MEDIUM ANODIZED TIN 14 4 +Brand#11 MEDIUM BRUSHED BRASS 14 4 +Brand#11 MEDIUM BRUSHED BRASS 45 4 +Brand#11 MEDIUM BRUSHED NICKEL 14 4 +Brand#11 MEDIUM BRUSHED NICKEL 36 4 +Brand#11 MEDIUM BRUSHED STEEL 19 4 +Brand#11 MEDIUM BURNISHED COPPER 9 4 +Brand#11 MEDIUM BURNISHED TIN 36 4 +Brand#11 MEDIUM PLATED BRASS 3 4 +Brand#11 MEDIUM PLATED TIN 19 4 +Brand#11 PROMO ANODIZED BRASS 3 4 +Brand#11 PROMO ANODIZED BRASS 19 4 +Brand#11 PROMO ANODIZED BRASS 45 4 +Brand#11 PROMO ANODIZED BRASS 49 4 +Brand#11 PROMO ANODIZED STEEL 23 4 +Brand#11 PROMO ANODIZED TIN 45 4 +Brand#11 PROMO BRUSHED BRASS 23 4 +Brand#11 PROMO BRUSHED STEEL 3 4 +Brand#11 PROMO BURNISHED BRASS 23 4 +Brand#11 PROMO BURNISHED BRASS 36 4 +Brand#11 PROMO BURNISHED BRASS 49 4 +Brand#11 PROMO BURNISHED TIN 9 4 +Brand#11 PROMO PLATED BRASS 9 4 +Brand#11 PROMO PLATED BRASS 45 4 +Brand#11 PROMO PLATED NICKEL 19 4 +Brand#11 PROMO POLISHED BRASS 3 4 +Brand#11 PROMO POLISHED BRASS 9 4 +Brand#11 PROMO POLISHED BRASS 19 4 +Brand#11 PROMO POLISHED COPPER 14 4 +Brand#11 PROMO POLISHED COPPER 45 4 +Brand#11 PROMO POLISHED TIN 49 4 +Brand#11 SMALL ANODIZED COPPER 36 4 +Brand#11 SMALL ANODIZED NICKEL 3 4 +Brand#11 SMALL ANODIZED NICKEL 14 4 +Brand#11 SMALL ANODIZED TIN 14 4 +Brand#11 SMALL ANODIZED TIN 19 4 +Brand#11 SMALL ANODIZED TIN 45 4 +Brand#11 SMALL BRUSHED TIN 14 4 +Brand#11 SMALL BRUSHED TIN 23 4 +Brand#11 SMALL BRUSHED TIN 45 4 +Brand#11 SMALL BURNISHED BRASS 49 4 +Brand#11 SMALL BURNISHED COPPER 23 4 +Brand#11 SMALL PLATED COPPER 45 4 +Brand#11 SMALL PLATED NICKEL 3 4 +Brand#11 SMALL PLATED STEEL 36 4 +Brand#11 SMALL PLATED TIN 19 4 +Brand#11 SMALL POLISHED BRASS 14 4 +Brand#11 SMALL POLISHED BRASS 23 4 +Brand#11 SMALL POLISHED COPPER 14 4 +Brand#11 SMALL POLISHED COPPER 36 4 +Brand#11 SMALL POLISHED STEEL 9 4 +Brand#11 STANDARD BRUSHED COPPER 23 4 +Brand#11 STANDARD BRUSHED NICKEL 14 4 +Brand#11 STANDARD BRUSHED TIN 14 4 +Brand#11 STANDARD BURNISHED BRASS 3 4 +Brand#11 STANDARD BURNISHED STEEL 23 4 +Brand#11 STANDARD PLATED BRASS 19 4 +Brand#11 STANDARD PLATED TIN 19 4 +Brand#11 STANDARD POLISHED NICKEL 45 4 +Brand#11 STANDARD POLISHED TIN 14 4 +Brand#11 STANDARD POLISHED TIN 45 4 +Brand#12 ECONOMY ANODIZED BRASS 23 4 +Brand#12 ECONOMY ANODIZED COPPER 14 4 +Brand#12 ECONOMY ANODIZED NICKEL 19 4 +Brand#12 ECONOMY ANODIZED NICKEL 45 4 +Brand#12 ECONOMY ANODIZED STEEL 9 4 +Brand#12 ECONOMY BRUSHED COPPER 36 4 +Brand#12 ECONOMY BRUSHED NICKEL 49 4 +Brand#12 ECONOMY BRUSHED STEEL 49 4 +Brand#12 ECONOMY BURNISHED COPPER 45 4 +Brand#12 ECONOMY PLATED COPPER 23 4 +Brand#12 ECONOMY PLATED STEEL 23 4 +Brand#12 ECONOMY PLATED TIN 36 4 +Brand#12 ECONOMY POLISHED BRASS 14 4 +Brand#12 ECONOMY POLISHED COPPER 45 4 +Brand#12 ECONOMY POLISHED NICKEL 9 4 +Brand#12 LARGE ANODIZED NICKEL 9 4 +Brand#12 LARGE ANODIZED NICKEL 49 4 +Brand#12 LARGE ANODIZED STEEL 49 4 +Brand#12 LARGE ANODIZED TIN 36 4 +Brand#12 LARGE ANODIZED TIN 45 4 +Brand#12 LARGE BURNISHED BRASS 14 4 +Brand#12 LARGE BURNISHED BRASS 19 4 +Brand#12 LARGE BURNISHED COPPER 9 4 +Brand#12 LARGE BURNISHED NICKEL 45 4 +Brand#12 LARGE BURNISHED TIN 36 4 +Brand#12 LARGE PLATED BRASS 3 4 +Brand#12 LARGE PLATED STEEL 36 4 +Brand#12 LARGE PLATED STEEL 45 4 +Brand#12 LARGE PLATED TIN 23 4 +Brand#12 LARGE POLISHED COPPER 14 4 +Brand#12 LARGE POLISHED COPPER 19 4 +Brand#12 LARGE POLISHED COPPER 49 4 +Brand#12 LARGE POLISHED STEEL 3 4 +Brand#12 MEDIUM ANODIZED COPPER 9 4 +Brand#12 MEDIUM ANODIZED COPPER 45 4 +Brand#12 MEDIUM ANODIZED NICKEL 45 4 +Brand#12 MEDIUM BRUSHED BRASS 19 4 +Brand#12 MEDIUM BRUSHED COPPER 9 4 +Brand#12 MEDIUM BRUSHED COPPER 36 4 +Brand#12 MEDIUM BRUSHED COPPER 49 4 +Brand#12 MEDIUM BRUSHED NICKEL 3 4 +Brand#12 MEDIUM BRUSHED NICKEL 14 4 +Brand#12 MEDIUM BRUSHED NICKEL 23 4 +Brand#12 MEDIUM BURNISHED BRASS 3 4 +Brand#12 MEDIUM BURNISHED COPPER 36 4 +Brand#12 MEDIUM BURNISHED NICKEL 19 4 +Brand#12 MEDIUM BURNISHED TIN 14 4 +Brand#12 MEDIUM PLATED BRASS 23 4 +Brand#12 MEDIUM PLATED TIN 19 4 +Brand#12 MEDIUM PLATED TIN 23 4 +Brand#12 MEDIUM PLATED TIN 49 4 +Brand#12 PROMO ANODIZED BRASS 9 4 +Brand#12 PROMO ANODIZED BRASS 45 4 +Brand#12 PROMO ANODIZED NICKEL 14 4 +Brand#12 PROMO ANODIZED STEEL 49 4 +Brand#12 PROMO ANODIZED TIN 3 4 +Brand#12 PROMO ANODIZED TIN 19 4 +Brand#12 PROMO BRUSHED COPPER 14 4 +Brand#12 PROMO BRUSHED COPPER 19 4 +Brand#12 PROMO BRUSHED NICKEL 23 4 +Brand#12 PROMO BRUSHED STEEL 23 4 +Brand#12 PROMO BRUSHED STEEL 36 4 +Brand#12 PROMO BURNISHED BRASS 49 4 +Brand#12 PROMO BURNISHED TIN 9 4 +Brand#12 PROMO BURNISHED TIN 14 4 +Brand#12 PROMO PLATED BRASS 36 4 +Brand#12 PROMO POLISHED COPPER 23 4 +Brand#12 PROMO POLISHED NICKEL 3 4 +Brand#12 PROMO POLISHED NICKEL 9 4 +Brand#12 PROMO POLISHED STEEL 14 4 +Brand#12 PROMO POLISHED TIN 23 4 +Brand#12 PROMO POLISHED TIN 36 4 +Brand#12 SMALL ANODIZED BRASS 36 4 +Brand#12 SMALL ANODIZED COPPER 23 4 +Brand#12 SMALL ANODIZED STEEL 36 4 +Brand#12 SMALL ANODIZED TIN 14 4 +Brand#12 SMALL BRUSHED COPPER 19 4 +Brand#12 SMALL BRUSHED COPPER 36 4 +Brand#12 SMALL BRUSHED TIN 36 4 +Brand#12 SMALL BURNISHED BRASS 14 4 +Brand#12 SMALL BURNISHED COPPER 9 4 +Brand#12 SMALL BURNISHED COPPER 36 4 +Brand#12 SMALL PLATED BRASS 9 4 +Brand#12 SMALL POLISHED BRASS 49 4 +Brand#12 SMALL POLISHED NICKEL 19 4 +Brand#12 SMALL POLISHED TIN 3 4 +Brand#12 STANDARD ANODIZED BRASS 19 4 +Brand#12 STANDARD ANODIZED NICKEL 19 4 +Brand#12 STANDARD ANODIZED STEEL 19 4 +Brand#12 STANDARD BRUSHED COPPER 36 4 +Brand#12 STANDARD BRUSHED NICKEL 23 4 +Brand#12 STANDARD BRUSHED STEEL 49 4 +Brand#12 STANDARD BURNISHED BRASS 23 4 +Brand#12 STANDARD BURNISHED COPPER 14 4 +Brand#12 STANDARD BURNISHED NICKEL 45 4 +Brand#12 STANDARD BURNISHED NICKEL 49 4 +Brand#12 STANDARD BURNISHED TIN 3 4 +Brand#12 STANDARD BURNISHED TIN 14 4 +Brand#12 STANDARD PLATED BRASS 19 4 +Brand#12 STANDARD PLATED NICKEL 45 4 +Brand#12 STANDARD PLATED STEEL 36 4 +Brand#12 STANDARD PLATED STEEL 45 4 +Brand#12 STANDARD PLATED TIN 9 4 +Brand#12 STANDARD POLISHED BRASS 49 4 +Brand#12 STANDARD POLISHED COPPER 3 4 +Brand#12 STANDARD POLISHED NICKEL 23 4 +Brand#12 STANDARD POLISHED TIN 14 4 +Brand#13 ECONOMY ANODIZED NICKEL 14 4 +Brand#13 ECONOMY ANODIZED NICKEL 19 4 +Brand#13 ECONOMY ANODIZED STEEL 45 4 +Brand#13 ECONOMY ANODIZED STEEL 49 4 +Brand#13 ECONOMY BRUSHED BRASS 3 4 +Brand#13 ECONOMY BURNISHED STEEL 14 4 +Brand#13 ECONOMY BURNISHED TIN 19 4 +Brand#13 ECONOMY BURNISHED TIN 45 4 +Brand#13 ECONOMY PLATED COPPER 19 4 +Brand#13 ECONOMY PLATED NICKEL 3 4 +Brand#13 ECONOMY PLATED STEEL 23 4 +Brand#13 ECONOMY PLATED TIN 3 4 +Brand#13 ECONOMY POLISHED BRASS 3 4 +Brand#13 ECONOMY POLISHED COPPER 9 4 +Brand#13 ECONOMY POLISHED COPPER 49 4 +Brand#13 ECONOMY POLISHED STEEL 23 4 +Brand#13 ECONOMY POLISHED STEEL 49 4 +Brand#13 LARGE ANODIZED BRASS 23 4 +Brand#13 LARGE ANODIZED COPPER 19 4 +Brand#13 LARGE ANODIZED NICKEL 9 4 +Brand#13 LARGE ANODIZED STEEL 45 4 +Brand#13 LARGE ANODIZED TIN 19 4 +Brand#13 LARGE BRUSHED BRASS 3 4 +Brand#13 LARGE BRUSHED BRASS 9 4 +Brand#13 LARGE BRUSHED BRASS 19 4 +Brand#13 LARGE BRUSHED COPPER 9 4 +Brand#13 LARGE BRUSHED COPPER 36 4 +Brand#13 LARGE BRUSHED NICKEL 3 4 +Brand#13 LARGE BRUSHED NICKEL 9 4 +Brand#13 LARGE BRUSHED NICKEL 14 4 +Brand#13 LARGE BRUSHED NICKEL 23 4 +Brand#13 LARGE BRUSHED STEEL 19 4 +Brand#13 LARGE BRUSHED TIN 49 4 +Brand#13 LARGE BURNISHED BRASS 49 4 +Brand#13 LARGE BURNISHED TIN 49 4 +Brand#13 LARGE PLATED COPPER 23 4 +Brand#13 LARGE PLATED STEEL 14 4 +Brand#13 LARGE PLATED STEEL 19 4 +Brand#13 LARGE PLATED STEEL 36 4 +Brand#13 LARGE PLATED TIN 14 4 +Brand#13 LARGE PLATED TIN 45 4 +Brand#13 LARGE POLISHED BRASS 3 4 +Brand#13 LARGE POLISHED BRASS 23 4 +Brand#13 LARGE POLISHED BRASS 49 4 +Brand#13 MEDIUM ANODIZED BRASS 3 4 +Brand#13 MEDIUM ANODIZED BRASS 36 4 +Brand#13 MEDIUM ANODIZED COPPER 14 4 +Brand#13 MEDIUM ANODIZED NICKEL 3 4 +Brand#13 MEDIUM ANODIZED STEEL 14 4 +Brand#13 MEDIUM ANODIZED STEEL 19 4 +Brand#13 MEDIUM ANODIZED STEEL 36 4 +Brand#13 MEDIUM BRUSHED BRASS 49 4 +Brand#13 MEDIUM BRUSHED COPPER 23 4 +Brand#13 MEDIUM BRUSHED NICKEL 45 4 +Brand#13 MEDIUM BURNISHED BRASS 9 4 +Brand#13 MEDIUM BURNISHED STEEL 19 4 +Brand#13 MEDIUM BURNISHED STEEL 49 4 +Brand#13 MEDIUM PLATED BRASS 3 4 +Brand#13 MEDIUM PLATED BRASS 23 4 +Brand#13 MEDIUM PLATED BRASS 36 4 +Brand#13 MEDIUM PLATED COPPER 19 4 +Brand#13 MEDIUM PLATED COPPER 23 4 +Brand#13 MEDIUM PLATED STEEL 3 4 +Brand#13 PROMO ANODIZED BRASS 14 4 +Brand#13 PROMO ANODIZED COPPER 9 4 +Brand#13 PROMO ANODIZED COPPER 45 4 +Brand#13 PROMO ANODIZED STEEL 23 4 +Brand#13 PROMO BRUSHED COPPER 49 4 +Brand#13 PROMO BURNISHED COPPER 19 4 +Brand#13 PROMO BURNISHED NICKEL 9 4 +Brand#13 PROMO BURNISHED STEEL 23 4 +Brand#13 PROMO BURNISHED STEEL 45 4 +Brand#13 PROMO BURNISHED TIN 19 4 +Brand#13 PROMO PLATED BRASS 14 4 +Brand#13 PROMO PLATED BRASS 19 4 +Brand#13 PROMO PLATED COPPER 3 4 +Brand#13 PROMO PLATED COPPER 19 4 +Brand#13 PROMO PLATED TIN 19 4 +Brand#13 PROMO POLISHED BRASS 49 4 +Brand#13 PROMO POLISHED STEEL 45 4 +Brand#13 PROMO POLISHED TIN 14 4 +Brand#13 SMALL ANODIZED STEEL 23 4 +Brand#13 SMALL ANODIZED TIN 3 4 +Brand#13 SMALL ANODIZED TIN 45 4 +Brand#13 SMALL BRUSHED COPPER 3 4 +Brand#13 SMALL BRUSHED NICKEL 19 4 +Brand#13 SMALL BRUSHED TIN 9 4 +Brand#13 SMALL BRUSHED TIN 45 4 +Brand#13 SMALL BURNISHED BRASS 19 4 +Brand#13 SMALL BURNISHED BRASS 45 4 +Brand#13 SMALL PLATED BRASS 9 4 +Brand#13 SMALL PLATED TIN 45 4 +Brand#13 SMALL POLISHED NICKEL 19 4 +Brand#13 SMALL POLISHED STEEL 49 4 +Brand#13 STANDARD ANODIZED COPPER 45 4 +Brand#13 STANDARD ANODIZED NICKEL 9 4 +Brand#13 STANDARD ANODIZED NICKEL 19 4 +Brand#13 STANDARD ANODIZED STEEL 14 4 +Brand#13 STANDARD ANODIZED TIN 9 4 +Brand#13 STANDARD ANODIZED TIN 36 4 +Brand#13 STANDARD BRUSHED BRASS 19 4 +Brand#13 STANDARD BRUSHED TIN 9 4 +Brand#13 STANDARD BURNISHED BRASS 9 4 +Brand#13 STANDARD BURNISHED BRASS 14 4 +Brand#13 STANDARD BURNISHED COPPER 45 4 +Brand#13 STANDARD PLATED BRASS 49 4 +Brand#13 STANDARD PLATED COPPER 19 4 +Brand#13 STANDARD PLATED NICKEL 23 4 +Brand#13 STANDARD PLATED TIN 9 4 +Brand#13 STANDARD POLISHED BRASS 49 4 +Brand#13 STANDARD POLISHED COPPER 9 4 +Brand#13 STANDARD POLISHED COPPER 49 4 +Brand#13 STANDARD POLISHED NICKEL 14 4 +Brand#13 STANDARD POLISHED NICKEL 19 4 +Brand#13 STANDARD POLISHED STEEL 23 4 +Brand#14 ECONOMY ANODIZED BRASS 19 4 +Brand#14 ECONOMY ANODIZED COPPER 9 4 +Brand#14 ECONOMY ANODIZED STEEL 19 4 +Brand#14 ECONOMY ANODIZED STEEL 45 4 +Brand#14 ECONOMY BRUSHED BRASS 19 4 +Brand#14 ECONOMY BRUSHED COPPER 45 4 +Brand#14 ECONOMY BRUSHED NICKEL 14 4 +Brand#14 ECONOMY BRUSHED TIN 14 4 +Brand#14 ECONOMY BURNISHED COPPER 9 4 +Brand#14 ECONOMY BURNISHED COPPER 19 4 +Brand#14 ECONOMY BURNISHED STEEL 36 4 +Brand#14 ECONOMY BURNISHED TIN 3 4 +Brand#14 ECONOMY PLATED BRASS 36 4 +Brand#14 ECONOMY PLATED COPPER 49 4 +Brand#14 ECONOMY PLATED STEEL 45 4 +Brand#14 ECONOMY PLATED TIN 9 4 +Brand#14 ECONOMY POLISHED COPPER 3 4 +Brand#14 ECONOMY POLISHED TIN 19 4 +Brand#14 LARGE ANODIZED COPPER 9 4 +Brand#14 LARGE ANODIZED COPPER 23 4 +Brand#14 LARGE ANODIZED NICKEL 3 4 +Brand#14 LARGE ANODIZED NICKEL 9 4 +Brand#14 LARGE ANODIZED NICKEL 19 4 +Brand#14 LARGE ANODIZED TIN 9 4 +Brand#14 LARGE BRUSHED COPPER 14 4 +Brand#14 LARGE BRUSHED NICKEL 45 4 +Brand#14 LARGE PLATED BRASS 3 4 +Brand#14 LARGE PLATED NICKEL 3 4 +Brand#14 LARGE PLATED NICKEL 14 4 +Brand#14 LARGE PLATED NICKEL 49 4 +Brand#14 LARGE PLATED TIN 49 4 +Brand#14 LARGE POLISHED BRASS 9 4 +Brand#14 LARGE POLISHED BRASS 14 4 +Brand#14 LARGE POLISHED BRASS 36 4 +Brand#14 LARGE POLISHED NICKEL 3 4 +Brand#14 LARGE POLISHED NICKEL 14 4 +Brand#14 LARGE POLISHED STEEL 9 4 +Brand#14 LARGE POLISHED STEEL 23 4 +Brand#14 LARGE POLISHED STEEL 36 4 +Brand#14 MEDIUM ANODIZED NICKEL 3 4 +Brand#14 MEDIUM ANODIZED NICKEL 49 4 +Brand#14 MEDIUM ANODIZED STEEL 23 4 +Brand#14 MEDIUM ANODIZED STEEL 36 4 +Brand#14 MEDIUM BRUSHED BRASS 9 4 +Brand#14 MEDIUM BRUSHED COPPER 23 4 +Brand#14 MEDIUM BRUSHED STEEL 14 4 +Brand#14 MEDIUM BURNISHED COPPER 14 4 +Brand#14 MEDIUM BURNISHED STEEL 3 4 +Brand#14 MEDIUM BURNISHED STEEL 49 4 +Brand#14 MEDIUM PLATED BRASS 36 4 +Brand#14 MEDIUM PLATED STEEL 49 4 +Brand#14 MEDIUM PLATED TIN 14 4 +Brand#14 PROMO ANODIZED BRASS 49 4 +Brand#14 PROMO ANODIZED STEEL 36 4 +Brand#14 PROMO BRUSHED STEEL 19 4 +Brand#14 PROMO BURNISHED BRASS 23 4 +Brand#14 PROMO BURNISHED STEEL 36 4 +Brand#14 PROMO PLATED BRASS 9 4 +Brand#14 PROMO PLATED BRASS 45 4 +Brand#14 PROMO PLATED COPPER 45 4 +Brand#14 PROMO PLATED STEEL 3 4 +Brand#14 PROMO POLISHED BRASS 9 4 +Brand#14 PROMO POLISHED COPPER 49 4 +Brand#14 PROMO POLISHED STEEL 19 4 +Brand#14 SMALL ANODIZED STEEL 23 4 +Brand#14 SMALL ANODIZED TIN 23 4 +Brand#14 SMALL BRUSHED BRASS 19 4 +Brand#14 SMALL BRUSHED BRASS 36 4 +Brand#14 SMALL BRUSHED COPPER 9 4 +Brand#14 SMALL BRUSHED TIN 36 4 +Brand#14 SMALL BURNISHED BRASS 45 4 +Brand#14 SMALL BURNISHED COPPER 9 4 +Brand#14 SMALL BURNISHED COPPER 14 4 +Brand#14 SMALL BURNISHED COPPER 45 4 +Brand#14 SMALL BURNISHED NICKEL 36 4 +Brand#14 SMALL BURNISHED STEEL 36 4 +Brand#14 SMALL BURNISHED TIN 23 4 +Brand#14 SMALL PLATED NICKEL 3 4 +Brand#14 SMALL PLATED NICKEL 9 4 +Brand#14 SMALL PLATED STEEL 14 4 +Brand#14 SMALL POLISHED BRASS 36 4 +Brand#14 SMALL POLISHED COPPER 36 4 +Brand#14 SMALL POLISHED NICKEL 9 4 +Brand#14 SMALL POLISHED STEEL 14 4 +Brand#14 SMALL POLISHED TIN 14 4 +Brand#14 STANDARD ANODIZED BRASS 19 4 +Brand#14 STANDARD ANODIZED NICKEL 14 4 +Brand#14 STANDARD ANODIZED STEEL 9 4 +Brand#14 STANDARD BRUSHED COPPER 45 4 +Brand#14 STANDARD BRUSHED NICKEL 45 4 +Brand#14 STANDARD BRUSHED TIN 45 4 +Brand#14 STANDARD BURNISHED BRASS 9 4 +Brand#14 STANDARD BURNISHED BRASS 23 4 +Brand#14 STANDARD BURNISHED BRASS 49 4 +Brand#14 STANDARD BURNISHED NICKEL 9 4 +Brand#14 STANDARD PLATED BRASS 36 4 +Brand#14 STANDARD PLATED COPPER 45 4 +Brand#14 STANDARD POLISHED NICKEL 3 4 +Brand#14 STANDARD POLISHED NICKEL 9 4 +Brand#14 STANDARD POLISHED TIN 19 4 +Brand#15 ECONOMY ANODIZED COPPER 14 4 +Brand#15 ECONOMY ANODIZED STEEL 19 4 +Brand#15 ECONOMY ANODIZED STEEL 36 4 +Brand#15 ECONOMY BRUSHED BRASS 36 4 +Brand#15 ECONOMY BRUSHED COPPER 14 4 +Brand#15 ECONOMY BRUSHED NICKEL 14 4 +Brand#15 ECONOMY BRUSHED STEEL 3 4 +Brand#15 ECONOMY BRUSHED TIN 3 4 +Brand#15 ECONOMY BURNISHED BRASS 14 4 +Brand#15 ECONOMY BURNISHED COPPER 3 4 +Brand#15 ECONOMY BURNISHED COPPER 23 4 +Brand#15 ECONOMY PLATED NICKEL 49 4 +Brand#15 ECONOMY PLATED STEEL 3 4 +Brand#15 ECONOMY PLATED STEEL 19 4 +Brand#15 ECONOMY PLATED STEEL 45 4 +Brand#15 LARGE ANODIZED BRASS 19 4 +Brand#15 LARGE ANODIZED BRASS 36 4 +Brand#15 LARGE ANODIZED BRASS 45 4 +Brand#15 LARGE ANODIZED COPPER 3 4 +Brand#15 LARGE ANODIZED NICKEL 9 4 +Brand#15 LARGE ANODIZED TIN 19 4 +Brand#15 LARGE BRUSHED BRASS 9 4 +Brand#15 LARGE BRUSHED BRASS 19 4 +Brand#15 LARGE BRUSHED COPPER 14 4 +Brand#15 LARGE BRUSHED STEEL 9 4 +Brand#15 LARGE BRUSHED STEEL 14 4 +Brand#15 LARGE BRUSHED STEEL 19 4 +Brand#15 LARGE BRUSHED STEEL 36 4 +Brand#15 LARGE BURNISHED BRASS 14 4 +Brand#15 LARGE BURNISHED BRASS 19 4 +Brand#15 LARGE BURNISHED COPPER 9 4 +Brand#15 LARGE BURNISHED COPPER 45 4 +Brand#15 LARGE BURNISHED TIN 49 4 +Brand#15 LARGE PLATED BRASS 19 4 +Brand#15 LARGE PLATED COPPER 3 4 +Brand#15 LARGE PLATED COPPER 23 4 +Brand#15 LARGE PLATED NICKEL 36 4 +Brand#15 MEDIUM ANODIZED BRASS 23 4 +Brand#15 MEDIUM ANODIZED COPPER 9 4 +Brand#15 MEDIUM ANODIZED NICKEL 3 4 +Brand#15 MEDIUM ANODIZED TIN 19 4 +Brand#15 MEDIUM BRUSHED BRASS 9 4 +Brand#15 MEDIUM BRUSHED TIN 23 4 +Brand#15 MEDIUM BURNISHED COPPER 36 4 +Brand#15 MEDIUM BURNISHED TIN 45 4 +Brand#15 MEDIUM PLATED COPPER 9 4 +Brand#15 MEDIUM PLATED NICKEL 9 4 +Brand#15 MEDIUM PLATED NICKEL 19 4 +Brand#15 MEDIUM PLATED STEEL 36 4 +Brand#15 MEDIUM PLATED STEEL 49 4 +Brand#15 MEDIUM PLATED TIN 9 4 +Brand#15 MEDIUM PLATED TIN 14 4 +Brand#15 MEDIUM PLATED TIN 23 4 +Brand#15 PROMO ANODIZED COPPER 23 4 +Brand#15 PROMO ANODIZED STEEL 14 4 +Brand#15 PROMO ANODIZED TIN 45 4 +Brand#15 PROMO BRUSHED COPPER 14 4 +Brand#15 PROMO BRUSHED COPPER 19 4 +Brand#15 PROMO BRUSHED NICKEL 19 4 +Brand#15 PROMO BRUSHED NICKEL 23 4 +Brand#15 PROMO BRUSHED STEEL 14 4 +Brand#15 PROMO BRUSHED TIN 36 4 +Brand#15 PROMO BURNISHED NICKEL 9 4 +Brand#15 PROMO BURNISHED STEEL 45 4 +Brand#15 PROMO PLATED COPPER 3 4 +Brand#15 PROMO PLATED COPPER 36 4 +Brand#15 PROMO PLATED STEEL 3 4 +Brand#15 PROMO PLATED TIN 49 4 +Brand#15 PROMO POLISHED COPPER 3 4 +Brand#15 PROMO POLISHED NICKEL 36 4 +Brand#15 PROMO POLISHED STEEL 36 4 +Brand#15 PROMO POLISHED TIN 49 4 +Brand#15 SMALL ANODIZED BRASS 14 4 +Brand#15 SMALL ANODIZED BRASS 19 4 +Brand#15 SMALL ANODIZED COPPER 9 4 +Brand#15 SMALL ANODIZED TIN 45 4 +Brand#15 SMALL BRUSHED BRASS 3 4 +Brand#15 SMALL BRUSHED COPPER 19 4 +Brand#15 SMALL BRUSHED STEEL 23 4 +Brand#15 SMALL BRUSHED TIN 45 4 +Brand#15 SMALL BURNISHED BRASS 19 4 +Brand#15 SMALL BURNISHED COPPER 14 4 +Brand#15 SMALL BURNISHED NICKEL 19 4 +Brand#15 SMALL BURNISHED NICKEL 49 4 +Brand#15 SMALL BURNISHED STEEL 9 4 +Brand#15 SMALL BURNISHED TIN 19 4 +Brand#15 SMALL BURNISHED TIN 23 4 +Brand#15 SMALL BURNISHED TIN 36 4 +Brand#15 SMALL PLATED BRASS 3 4 +Brand#15 SMALL PLATED COPPER 23 4 +Brand#15 SMALL PLATED COPPER 49 4 +Brand#15 SMALL PLATED NICKEL 36 4 +Brand#15 SMALL PLATED NICKEL 45 4 +Brand#15 SMALL PLATED STEEL 3 4 +Brand#15 SMALL PLATED TIN 9 4 +Brand#15 SMALL POLISHED COPPER 9 4 +Brand#15 SMALL POLISHED NICKEL 3 4 +Brand#15 SMALL POLISHED STEEL 19 4 +Brand#15 SMALL POLISHED STEEL 36 4 +Brand#15 SMALL POLISHED TIN 19 4 +Brand#15 SMALL POLISHED TIN 49 4 +Brand#15 STANDARD ANODIZED NICKEL 19 4 +Brand#15 STANDARD ANODIZED NICKEL 49 4 +Brand#15 STANDARD ANODIZED TIN 36 4 +Brand#15 STANDARD BRUSHED NICKEL 3 4 +Brand#15 STANDARD BURNISHED BRASS 23 4 +Brand#15 STANDARD BURNISHED STEEL 3 4 +Brand#15 STANDARD BURNISHED STEEL 45 4 +Brand#15 STANDARD PLATED BRASS 36 4 +Brand#15 STANDARD PLATED COPPER 14 4 +Brand#15 STANDARD PLATED COPPER 23 4 +Brand#15 STANDARD PLATED NICKEL 19 4 +Brand#15 STANDARD PLATED TIN 45 4 +Brand#15 STANDARD POLISHED BRASS 14 4 +Brand#15 STANDARD POLISHED COPPER 23 4 +Brand#15 STANDARD POLISHED NICKEL 45 4 +Brand#21 ECONOMY ANODIZED BRASS 3 4 +Brand#21 ECONOMY ANODIZED NICKEL 14 4 +Brand#21 ECONOMY ANODIZED STEEL 19 4 +Brand#21 ECONOMY ANODIZED STEEL 23 4 +Brand#21 ECONOMY ANODIZED STEEL 49 4 +Brand#21 ECONOMY ANODIZED TIN 19 4 +Brand#21 ECONOMY BRUSHED BRASS 9 4 +Brand#21 ECONOMY BRUSHED BRASS 14 4 +Brand#21 ECONOMY BRUSHED BRASS 36 4 +Brand#21 ECONOMY BRUSHED COPPER 49 4 +Brand#21 ECONOMY BRUSHED STEEL 45 4 +Brand#21 ECONOMY BRUSHED TIN 49 4 +Brand#21 ECONOMY BURNISHED BRASS 3 4 +Brand#21 ECONOMY BURNISHED COPPER 45 4 +Brand#21 ECONOMY BURNISHED STEEL 19 4 +Brand#21 ECONOMY BURNISHED STEEL 36 4 +Brand#21 ECONOMY PLATED BRASS 36 4 +Brand#21 ECONOMY PLATED COPPER 3 4 +Brand#21 ECONOMY PLATED COPPER 14 4 +Brand#21 ECONOMY PLATED NICKEL 49 4 +Brand#21 ECONOMY POLISHED NICKEL 3 4 +Brand#21 ECONOMY POLISHED NICKEL 9 4 +Brand#21 LARGE ANODIZED COPPER 3 4 +Brand#21 LARGE ANODIZED COPPER 9 4 +Brand#21 LARGE ANODIZED STEEL 36 4 +Brand#21 LARGE ANODIZED TIN 45 4 +Brand#21 LARGE BRUSHED COPPER 45 4 +Brand#21 LARGE BRUSHED STEEL 23 4 +Brand#21 LARGE BURNISHED BRASS 49 4 +Brand#21 LARGE BURNISHED COPPER 19 4 +Brand#21 LARGE BURNISHED STEEL 49 4 +Brand#21 LARGE BURNISHED TIN 49 4 +Brand#21 LARGE PLATED BRASS 19 4 +Brand#21 LARGE PLATED NICKEL 23 4 +Brand#21 LARGE PLATED NICKEL 49 4 +Brand#21 LARGE PLATED TIN 19 4 +Brand#21 LARGE POLISHED BRASS 49 4 +Brand#21 LARGE POLISHED COPPER 14 4 +Brand#21 LARGE POLISHED NICKEL 3 4 +Brand#21 LARGE POLISHED NICKEL 14 4 +Brand#21 LARGE POLISHED STEEL 14 4 +Brand#21 LARGE POLISHED TIN 49 4 +Brand#21 MEDIUM ANODIZED COPPER 14 4 +Brand#21 MEDIUM ANODIZED NICKEL 49 4 +Brand#21 MEDIUM BRUSHED COPPER 3 4 +Brand#21 MEDIUM BRUSHED COPPER 49 4 +Brand#21 MEDIUM BRUSHED STEEL 23 4 +Brand#21 MEDIUM BRUSHED TIN 3 4 +Brand#21 MEDIUM BRUSHED TIN 14 4 +Brand#21 MEDIUM BURNISHED NICKEL 14 4 +Brand#21 MEDIUM BURNISHED STEEL 23 4 +Brand#21 MEDIUM BURNISHED TIN 3 4 +Brand#21 MEDIUM PLATED BRASS 3 4 +Brand#21 MEDIUM PLATED BRASS 19 4 +Brand#21 MEDIUM PLATED STEEL 36 4 +Brand#21 PROMO ANODIZED BRASS 9 4 +Brand#21 PROMO ANODIZED COPPER 14 4 +Brand#21 PROMO ANODIZED NICKEL 23 4 +Brand#21 PROMO ANODIZED STEEL 3 4 +Brand#21 PROMO ANODIZED STEEL 14 4 +Brand#21 PROMO ANODIZED STEEL 36 4 +Brand#21 PROMO BRUSHED NICKEL 45 4 +Brand#21 PROMO BRUSHED STEEL 14 4 +Brand#21 PROMO BRUSHED STEEL 23 4 +Brand#21 PROMO BRUSHED STEEL 45 4 +Brand#21 PROMO BURNISHED BRASS 19 4 +Brand#21 PROMO BURNISHED COPPER 19 4 +Brand#21 PROMO BURNISHED NICKEL 9 4 +Brand#21 PROMO BURNISHED TIN 19 4 +Brand#21 PROMO PLATED NICKEL 9 4 +Brand#21 PROMO PLATED NICKEL 36 4 +Brand#21 PROMO PLATED STEEL 49 4 +Brand#21 PROMO PLATED TIN 3 4 +Brand#21 PROMO POLISHED NICKEL 23 4 +Brand#21 PROMO POLISHED TIN 14 4 +Brand#21 PROMO POLISHED TIN 19 4 +Brand#21 PROMO POLISHED TIN 23 4 +Brand#21 SMALL BRUSHED BRASS 23 4 +Brand#21 SMALL BRUSHED COPPER 49 4 +Brand#21 SMALL BURNISHED BRASS 23 4 +Brand#21 SMALL BURNISHED BRASS 36 4 +Brand#21 SMALL BURNISHED STEEL 19 4 +Brand#21 SMALL BURNISHED TIN 19 4 +Brand#21 SMALL PLATED BRASS 45 4 +Brand#21 SMALL PLATED COPPER 45 4 +Brand#21 SMALL PLATED STEEL 45 4 +Brand#21 SMALL PLATED TIN 14 4 +Brand#21 SMALL PLATED TIN 45 4 +Brand#21 SMALL POLISHED COPPER 9 4 +Brand#21 SMALL POLISHED NICKEL 23 4 +Brand#21 SMALL POLISHED TIN 3 4 +Brand#21 STANDARD ANODIZED BRASS 9 4 +Brand#21 STANDARD ANODIZED NICKEL 19 4 +Brand#21 STANDARD ANODIZED TIN 45 4 +Brand#21 STANDARD BURNISHED COPPER 36 4 +Brand#21 STANDARD BURNISHED NICKEL 23 4 +Brand#21 STANDARD BURNISHED TIN 9 4 +Brand#21 STANDARD PLATED BRASS 14 4 +Brand#21 STANDARD PLATED COPPER 19 4 +Brand#21 STANDARD PLATED NICKEL 3 4 +Brand#21 STANDARD PLATED STEEL 9 4 +Brand#21 STANDARD PLATED TIN 9 4 +Brand#21 STANDARD POLISHED BRASS 9 4 +Brand#21 STANDARD POLISHED COPPER 49 4 +Brand#21 STANDARD POLISHED STEEL 36 4 +Brand#21 STANDARD POLISHED TIN 36 4 +Brand#22 ECONOMY ANODIZED STEEL 9 4 +Brand#22 ECONOMY ANODIZED STEEL 14 4 +Brand#22 ECONOMY ANODIZED STEEL 23 4 +Brand#22 ECONOMY ANODIZED TIN 9 4 +Brand#22 ECONOMY ANODIZED TIN 36 4 +Brand#22 ECONOMY BRUSHED NICKEL 36 4 +Brand#22 ECONOMY BRUSHED NICKEL 45 4 +Brand#22 ECONOMY BURNISHED BRASS 9 4 +Brand#22 ECONOMY BURNISHED BRASS 23 4 +Brand#22 ECONOMY BURNISHED BRASS 45 4 +Brand#22 ECONOMY BURNISHED NICKEL 19 4 +Brand#22 ECONOMY BURNISHED NICKEL 49 4 +Brand#22 ECONOMY BURNISHED STEEL 9 4 +Brand#22 ECONOMY BURNISHED STEEL 14 4 +Brand#22 ECONOMY BURNISHED STEEL 23 4 +Brand#22 ECONOMY PLATED BRASS 36 4 +Brand#22 ECONOMY PLATED COPPER 23 4 +Brand#22 ECONOMY PLATED TIN 3 4 +Brand#22 ECONOMY POLISHED TIN 49 4 +Brand#22 LARGE ANODIZED BRASS 19 4 +Brand#22 LARGE ANODIZED COPPER 36 4 +Brand#22 LARGE ANODIZED STEEL 3 4 +Brand#22 LARGE BRUSHED BRASS 23 4 +Brand#22 LARGE BRUSHED BRASS 49 4 +Brand#22 LARGE BRUSHED STEEL 49 4 +Brand#22 LARGE BURNISHED COPPER 19 4 +Brand#22 LARGE BURNISHED STEEL 23 4 +Brand#22 LARGE BURNISHED STEEL 45 4 +Brand#22 LARGE BURNISHED TIN 45 4 +Brand#22 LARGE PLATED COPPER 14 4 +Brand#22 LARGE PLATED STEEL 49 4 +Brand#22 LARGE POLISHED BRASS 19 4 +Brand#22 LARGE POLISHED COPPER 19 4 +Brand#22 LARGE POLISHED COPPER 23 4 +Brand#22 LARGE POLISHED NICKEL 19 4 +Brand#22 LARGE POLISHED TIN 49 4 +Brand#22 MEDIUM ANODIZED BRASS 45 4 +Brand#22 MEDIUM ANODIZED COPPER 19 4 +Brand#22 MEDIUM ANODIZED COPPER 49 4 +Brand#22 MEDIUM ANODIZED NICKEL 9 4 +Brand#22 MEDIUM ANODIZED NICKEL 14 4 +Brand#22 MEDIUM ANODIZED NICKEL 36 4 +Brand#22 MEDIUM ANODIZED TIN 3 4 +Brand#22 MEDIUM ANODIZED TIN 9 4 +Brand#22 MEDIUM BRUSHED BRASS 3 4 +Brand#22 MEDIUM BRUSHED BRASS 14 4 +Brand#22 MEDIUM BRUSHED COPPER 3 4 +Brand#22 MEDIUM BRUSHED COPPER 45 4 +Brand#22 MEDIUM BRUSHED NICKEL 14 4 +Brand#22 MEDIUM BRUSHED TIN 45 4 +Brand#22 MEDIUM BURNISHED COPPER 36 4 +Brand#22 MEDIUM BURNISHED TIN 19 4 +Brand#22 MEDIUM BURNISHED TIN 23 4 +Brand#22 MEDIUM BURNISHED TIN 49 4 +Brand#22 MEDIUM PLATED BRASS 49 4 +Brand#22 MEDIUM PLATED COPPER 9 4 +Brand#22 MEDIUM PLATED STEEL 3 4 +Brand#22 PROMO ANODIZED BRASS 9 4 +Brand#22 PROMO ANODIZED STEEL 36 4 +Brand#22 PROMO ANODIZED TIN 45 4 +Brand#22 PROMO BRUSHED BRASS 3 4 +Brand#22 PROMO BRUSHED BRASS 9 4 +Brand#22 PROMO BRUSHED BRASS 36 4 +Brand#22 PROMO BRUSHED STEEL 36 4 +Brand#22 PROMO BURNISHED BRASS 23 4 +Brand#22 PROMO BURNISHED COPPER 9 4 +Brand#22 PROMO PLATED BRASS 14 4 +Brand#22 PROMO PLATED BRASS 45 4 +Brand#22 PROMO PLATED NICKEL 3 4 +Brand#22 PROMO PLATED STEEL 19 4 +Brand#22 PROMO POLISHED BRASS 3 4 +Brand#22 PROMO POLISHED STEEL 14 4 +Brand#22 PROMO POLISHED STEEL 23 4 +Brand#22 SMALL ANODIZED TIN 36 4 +Brand#22 SMALL ANODIZED TIN 49 4 +Brand#22 SMALL BRUSHED NICKEL 3 4 +Brand#22 SMALL BRUSHED NICKEL 36 4 +Brand#22 SMALL BRUSHED NICKEL 45 4 +Brand#22 SMALL BRUSHED TIN 45 4 +Brand#22 SMALL BURNISHED STEEL 23 4 +Brand#22 SMALL BURNISHED TIN 14 4 +Brand#22 SMALL PLATED STEEL 3 4 +Brand#22 SMALL PLATED TIN 9 4 +Brand#22 SMALL PLATED TIN 36 4 +Brand#22 SMALL POLISHED BRASS 23 4 +Brand#22 SMALL POLISHED NICKEL 19 4 +Brand#22 STANDARD ANODIZED BRASS 14 4 +Brand#22 STANDARD ANODIZED BRASS 23 4 +Brand#22 STANDARD BRUSHED COPPER 49 4 +Brand#22 STANDARD BRUSHED NICKEL 3 4 +Brand#22 STANDARD BRUSHED NICKEL 23 4 +Brand#22 STANDARD BRUSHED STEEL 9 4 +Brand#22 STANDARD BRUSHED TIN 19 4 +Brand#22 STANDARD BURNISHED COPPER 45 4 +Brand#22 STANDARD BURNISHED NICKEL 3 4 +Brand#22 STANDARD BURNISHED NICKEL 14 4 +Brand#22 STANDARD BURNISHED NICKEL 45 4 +Brand#22 STANDARD BURNISHED STEEL 3 4 +Brand#22 STANDARD BURNISHED STEEL 36 4 +Brand#22 STANDARD BURNISHED STEEL 45 4 +Brand#22 STANDARD BURNISHED STEEL 49 4 +Brand#22 STANDARD PLATED BRASS 45 4 +Brand#22 STANDARD PLATED NICKEL 3 4 +Brand#22 STANDARD PLATED NICKEL 45 4 +Brand#22 STANDARD PLATED STEEL 14 4 +Brand#22 STANDARD PLATED TIN 19 4 +Brand#22 STANDARD PLATED TIN 49 4 +Brand#22 STANDARD POLISHED COPPER 9 4 +Brand#22 STANDARD POLISHED STEEL 49 4 +Brand#22 STANDARD POLISHED TIN 45 4 +Brand#23 ECONOMY ANODIZED NICKEL 49 4 +Brand#23 ECONOMY ANODIZED STEEL 14 4 +Brand#23 ECONOMY ANODIZED STEEL 49 4 +Brand#23 ECONOMY ANODIZED TIN 49 4 +Brand#23 ECONOMY BRUSHED BRASS 3 4 +Brand#23 ECONOMY BRUSHED COPPER 9 4 +Brand#23 ECONOMY BRUSHED TIN 9 4 +Brand#23 ECONOMY BURNISHED STEEL 49 4 +Brand#23 ECONOMY PLATED COPPER 14 4 +Brand#23 ECONOMY PLATED NICKEL 23 4 +Brand#23 ECONOMY PLATED STEEL 14 4 +Brand#23 ECONOMY POLISHED NICKEL 9 4 +Brand#23 LARGE ANODIZED BRASS 14 4 +Brand#23 LARGE ANODIZED COPPER 9 4 +Brand#23 LARGE ANODIZED COPPER 14 4 +Brand#23 LARGE ANODIZED COPPER 45 4 +Brand#23 LARGE ANODIZED STEEL 19 4 +Brand#23 LARGE ANODIZED STEEL 36 4 +Brand#23 LARGE ANODIZED STEEL 49 4 +Brand#23 LARGE ANODIZED TIN 9 4 +Brand#23 LARGE PLATED BRASS 9 4 +Brand#23 LARGE PLATED BRASS 49 4 +Brand#23 LARGE PLATED COPPER 3 4 +Brand#23 LARGE POLISHED BRASS 45 4 +Brand#23 LARGE POLISHED STEEL 9 4 +Brand#23 MEDIUM ANODIZED BRASS 19 4 +Brand#23 MEDIUM ANODIZED NICKEL 3 4 +Brand#23 MEDIUM ANODIZED NICKEL 14 4 +Brand#23 MEDIUM ANODIZED STEEL 45 4 +Brand#23 MEDIUM ANODIZED TIN 36 4 +Brand#23 MEDIUM ANODIZED TIN 45 4 +Brand#23 MEDIUM BRUSHED COPPER 3 4 +Brand#23 MEDIUM BRUSHED COPPER 23 4 +Brand#23 MEDIUM BRUSHED NICKEL 3 4 +Brand#23 MEDIUM BRUSHED TIN 14 4 +Brand#23 MEDIUM BURNISHED BRASS 9 4 +Brand#23 MEDIUM BURNISHED BRASS 45 4 +Brand#23 MEDIUM BURNISHED COPPER 19 4 +Brand#23 MEDIUM PLATED COPPER 19 4 +Brand#23 MEDIUM PLATED COPPER 36 4 +Brand#23 MEDIUM PLATED COPPER 45 4 +Brand#23 MEDIUM PLATED NICKEL 9 4 +Brand#23 MEDIUM PLATED NICKEL 14 4 +Brand#23 PROMO ANODIZED COPPER 9 4 +Brand#23 PROMO ANODIZED COPPER 19 4 +Brand#23 PROMO ANODIZED STEEL 36 4 +Brand#23 PROMO ANODIZED TIN 14 4 +Brand#23 PROMO BRUSHED BRASS 3 4 +Brand#23 PROMO BRUSHED BRASS 19 4 +Brand#23 PROMO BRUSHED BRASS 36 4 +Brand#23 PROMO BRUSHED COPPER 3 4 +Brand#23 PROMO BRUSHED TIN 49 4 +Brand#23 PROMO BURNISHED BRASS 14 4 +Brand#23 PROMO BURNISHED BRASS 45 4 +Brand#23 PROMO BURNISHED COPPER 14 4 +Brand#23 PROMO PLATED BRASS 23 4 +Brand#23 PROMO POLISHED BRASS 14 4 +Brand#23 PROMO POLISHED BRASS 23 4 +Brand#23 PROMO POLISHED COPPER 36 4 +Brand#23 PROMO POLISHED STEEL 36 4 +Brand#23 SMALL ANODIZED BRASS 23 4 +Brand#23 SMALL ANODIZED STEEL 23 4 +Brand#23 SMALL BRUSHED BRASS 49 4 +Brand#23 SMALL BRUSHED COPPER 45 4 +Brand#23 SMALL BRUSHED STEEL 3 4 +Brand#23 SMALL BRUSHED STEEL 19 4 +Brand#23 SMALL BURNISHED BRASS 36 4 +Brand#23 SMALL BURNISHED COPPER 45 4 +Brand#23 SMALL BURNISHED COPPER 49 4 +Brand#23 SMALL BURNISHED STEEL 45 4 +Brand#23 SMALL PLATED BRASS 36 4 +Brand#23 SMALL PLATED BRASS 49 4 +Brand#23 SMALL PLATED COPPER 14 4 +Brand#23 SMALL PLATED TIN 14 4 +Brand#23 SMALL POLISHED BRASS 9 4 +Brand#23 SMALL POLISHED BRASS 14 4 +Brand#23 SMALL POLISHED NICKEL 3 4 +Brand#23 SMALL POLISHED STEEL 14 4 +Brand#23 SMALL POLISHED TIN 9 4 +Brand#23 STANDARD ANODIZED BRASS 19 4 +Brand#23 STANDARD ANODIZED BRASS 45 4 +Brand#23 STANDARD ANODIZED COPPER 19 4 +Brand#23 STANDARD ANODIZED TIN 3 4 +Brand#23 STANDARD BRUSHED COPPER 36 4 +Brand#23 STANDARD BRUSHED NICKEL 19 4 +Brand#23 STANDARD BRUSHED STEEL 49 4 +Brand#23 STANDARD BURNISHED COPPER 19 4 +Brand#23 STANDARD PLATED BRASS 3 4 +Brand#23 STANDARD PLATED BRASS 9 4 +Brand#23 STANDARD PLATED STEEL 36 4 +Brand#23 STANDARD PLATED TIN 19 4 +Brand#23 STANDARD POLISHED BRASS 9 4 +Brand#23 STANDARD POLISHED BRASS 49 4 +Brand#23 STANDARD POLISHED STEEL 19 4 +Brand#23 STANDARD POLISHED STEEL 49 4 +Brand#23 STANDARD POLISHED TIN 23 4 +Brand#24 ECONOMY ANODIZED BRASS 3 4 +Brand#24 ECONOMY ANODIZED BRASS 9 4 +Brand#24 ECONOMY ANODIZED BRASS 23 4 +Brand#24 ECONOMY ANODIZED COPPER 9 4 +Brand#24 ECONOMY ANODIZED COPPER 49 4 +Brand#24 ECONOMY BRUSHED BRASS 36 4 +Brand#24 ECONOMY BRUSHED COPPER 23 4 +Brand#24 ECONOMY BURNISHED COPPER 3 4 +Brand#24 ECONOMY BURNISHED NICKEL 19 4 +Brand#24 ECONOMY BURNISHED STEEL 45 4 +Brand#24 ECONOMY PLATED BRASS 23 4 +Brand#24 ECONOMY PLATED COPPER 36 4 +Brand#24 ECONOMY PLATED STEEL 45 4 +Brand#24 ECONOMY POLISHED BRASS 23 4 +Brand#24 ECONOMY POLISHED COPPER 45 4 +Brand#24 ECONOMY POLISHED NICKEL 36 4 +Brand#24 ECONOMY POLISHED STEEL 14 4 +Brand#24 ECONOMY POLISHED STEEL 36 4 +Brand#24 LARGE ANODIZED NICKEL 23 4 +Brand#24 LARGE ANODIZED NICKEL 45 4 +Brand#24 LARGE ANODIZED TIN 45 4 +Brand#24 LARGE BRUSHED BRASS 14 4 +Brand#24 LARGE BRUSHED BRASS 23 4 +Brand#24 LARGE BRUSHED STEEL 9 4 +Brand#24 LARGE BRUSHED STEEL 23 4 +Brand#24 LARGE BRUSHED STEEL 45 4 +Brand#24 LARGE BRUSHED TIN 49 4 +Brand#24 LARGE BURNISHED BRASS 3 4 +Brand#24 LARGE BURNISHED NICKEL 19 4 +Brand#24 LARGE PLATED BRASS 9 4 +Brand#24 LARGE PLATED NICKEL 36 4 +Brand#24 LARGE PLATED NICKEL 49 4 +Brand#24 LARGE PLATED TIN 9 4 +Brand#24 LARGE PLATED TIN 19 4 +Brand#24 LARGE PLATED TIN 36 4 +Brand#24 LARGE PLATED TIN 49 4 +Brand#24 LARGE POLISHED BRASS 9 4 +Brand#24 LARGE POLISHED COPPER 9 4 +Brand#24 LARGE POLISHED COPPER 49 4 +Brand#24 LARGE POLISHED NICKEL 19 4 +Brand#24 LARGE POLISHED STEEL 23 4 +Brand#24 LARGE POLISHED TIN 14 4 +Brand#24 MEDIUM ANODIZED COPPER 45 4 +Brand#24 MEDIUM BRUSHED COPPER 9 4 +Brand#24 MEDIUM BRUSHED COPPER 14 4 +Brand#24 MEDIUM BRUSHED NICKEL 9 4 +Brand#24 MEDIUM BRUSHED NICKEL 23 4 +Brand#24 MEDIUM BRUSHED STEEL 14 4 +Brand#24 MEDIUM BRUSHED STEEL 45 4 +Brand#24 MEDIUM BRUSHED STEEL 49 4 +Brand#24 MEDIUM BURNISHED BRASS 36 4 +Brand#24 MEDIUM BURNISHED NICKEL 36 4 +Brand#24 MEDIUM BURNISHED STEEL 36 4 +Brand#24 MEDIUM PLATED COPPER 14 4 +Brand#24 MEDIUM PLATED STEEL 3 4 +Brand#24 MEDIUM PLATED STEEL 19 4 +Brand#24 PROMO ANODIZED NICKEL 9 4 +Brand#24 PROMO ANODIZED NICKEL 19 4 +Brand#24 PROMO ANODIZED NICKEL 45 4 +Brand#24 PROMO ANODIZED STEEL 3 4 +Brand#24 PROMO ANODIZED TIN 45 4 +Brand#24 PROMO BRUSHED BRASS 19 4 +Brand#24 PROMO BRUSHED NICKEL 19 4 +Brand#24 PROMO BRUSHED NICKEL 45 4 +Brand#24 PROMO BRUSHED STEEL 49 4 +Brand#24 PROMO BURNISHED BRASS 3 4 +Brand#24 PROMO BURNISHED BRASS 45 4 +Brand#24 PROMO BURNISHED STEEL 49 4 +Brand#24 PROMO PLATED BRASS 3 4 +Brand#24 PROMO PLATED COPPER 23 4 +Brand#24 PROMO PLATED COPPER 49 4 +Brand#24 PROMO POLISHED BRASS 3 4 +Brand#24 PROMO POLISHED BRASS 14 4 +Brand#24 PROMO POLISHED NICKEL 3 4 +Brand#24 PROMO POLISHED STEEL 14 4 +Brand#24 PROMO POLISHED STEEL 19 4 +Brand#24 PROMO POLISHED STEEL 23 4 +Brand#24 SMALL ANODIZED BRASS 19 4 +Brand#24 SMALL ANODIZED COPPER 3 4 +Brand#24 SMALL ANODIZED NICKEL 14 4 +Brand#24 SMALL ANODIZED STEEL 36 4 +Brand#24 SMALL ANODIZED TIN 3 4 +Brand#24 SMALL ANODIZED TIN 36 4 +Brand#24 SMALL BRUSHED COPPER 49 4 +Brand#24 SMALL BRUSHED NICKEL 49 4 +Brand#24 SMALL BURNISHED BRASS 14 4 +Brand#24 SMALL BURNISHED BRASS 19 4 +Brand#24 SMALL BURNISHED TIN 9 4 +Brand#24 SMALL PLATED BRASS 3 4 +Brand#24 SMALL PLATED COPPER 14 4 +Brand#24 SMALL PLATED COPPER 36 4 +Brand#24 SMALL PLATED NICKEL 14 4 +Brand#24 SMALL PLATED NICKEL 49 4 +Brand#24 SMALL POLISHED BRASS 3 4 +Brand#24 SMALL POLISHED NICKEL 9 4 +Brand#24 SMALL POLISHED NICKEL 19 4 +Brand#24 SMALL POLISHED NICKEL 36 4 +Brand#24 SMALL POLISHED STEEL 9 4 +Brand#24 SMALL POLISHED STEEL 36 4 +Brand#24 STANDARD ANODIZED TIN 9 4 +Brand#24 STANDARD ANODIZED TIN 49 4 +Brand#24 STANDARD BRUSHED BRASS 14 4 +Brand#24 STANDARD BRUSHED COPPER 23 4 +Brand#24 STANDARD BRUSHED NICKEL 19 4 +Brand#24 STANDARD BRUSHED STEEL 14 4 +Brand#24 STANDARD BRUSHED TIN 36 4 +Brand#24 STANDARD BURNISHED COPPER 19 4 +Brand#24 STANDARD BURNISHED COPPER 36 4 +Brand#24 STANDARD BURNISHED NICKEL 45 4 +Brand#24 STANDARD PLATED BRASS 36 4 +Brand#24 STANDARD PLATED COPPER 45 4 +Brand#24 STANDARD PLATED NICKEL 36 4 +Brand#24 STANDARD PLATED TIN 36 4 +Brand#24 STANDARD POLISHED COPPER 45 4 +Brand#24 STANDARD POLISHED NICKEL 14 4 +Brand#25 ECONOMY ANODIZED BRASS 14 4 +Brand#25 ECONOMY ANODIZED BRASS 49 4 +Brand#25 ECONOMY ANODIZED TIN 9 4 +Brand#25 ECONOMY ANODIZED TIN 19 4 +Brand#25 ECONOMY ANODIZED TIN 49 4 +Brand#25 ECONOMY BRUSHED COPPER 36 4 +Brand#25 ECONOMY BURNISHED COPPER 45 4 +Brand#25 ECONOMY BURNISHED TIN 19 4 +Brand#25 ECONOMY PLATED NICKEL 23 4 +Brand#25 ECONOMY PLATED TIN 14 4 +Brand#25 ECONOMY POLISHED BRASS 23 4 +Brand#25 ECONOMY POLISHED COPPER 9 4 +Brand#25 ECONOMY POLISHED NICKEL 3 4 +Brand#25 ECONOMY POLISHED TIN 9 4 +Brand#25 ECONOMY POLISHED TIN 45 4 +Brand#25 LARGE ANODIZED BRASS 3 4 +Brand#25 LARGE ANODIZED BRASS 14 4 +Brand#25 LARGE ANODIZED COPPER 36 4 +Brand#25 LARGE ANODIZED NICKEL 23 4 +Brand#25 LARGE ANODIZED STEEL 23 4 +Brand#25 LARGE BRUSHED NICKEL 19 4 +Brand#25 LARGE BRUSHED NICKEL 49 4 +Brand#25 LARGE BRUSHED TIN 3 4 +Brand#25 LARGE BRUSHED TIN 9 4 +Brand#25 LARGE BURNISHED BRASS 19 4 +Brand#25 LARGE BURNISHED BRASS 23 4 +Brand#25 LARGE BURNISHED BRASS 49 4 +Brand#25 LARGE BURNISHED NICKEL 14 4 +Brand#25 LARGE BURNISHED TIN 49 4 +Brand#25 LARGE PLATED BRASS 14 4 +Brand#25 LARGE PLATED NICKEL 23 4 +Brand#25 LARGE PLATED NICKEL 45 4 +Brand#25 LARGE PLATED TIN 19 4 +Brand#25 LARGE PLATED TIN 23 4 +Brand#25 LARGE POLISHED BRASS 9 4 +Brand#25 LARGE POLISHED COPPER 14 4 +Brand#25 LARGE POLISHED COPPER 36 4 +Brand#25 MEDIUM ANODIZED TIN 36 4 +Brand#25 MEDIUM BRUSHED COPPER 9 4 +Brand#25 MEDIUM BRUSHED COPPER 36 4 +Brand#25 MEDIUM BRUSHED COPPER 49 4 +Brand#25 MEDIUM BURNISHED COPPER 49 4 +Brand#25 MEDIUM BURNISHED NICKEL 9 4 +Brand#25 MEDIUM BURNISHED NICKEL 49 4 +Brand#25 MEDIUM BURNISHED STEEL 3 4 +Brand#25 MEDIUM BURNISHED STEEL 36 4 +Brand#25 MEDIUM BURNISHED STEEL 45 4 +Brand#25 MEDIUM BURNISHED STEEL 49 4 +Brand#25 MEDIUM BURNISHED TIN 9 4 +Brand#25 MEDIUM BURNISHED TIN 36 4 +Brand#25 MEDIUM PLATED BRASS 45 4 +Brand#25 MEDIUM PLATED COPPER 14 4 +Brand#25 MEDIUM PLATED NICKEL 45 4 +Brand#25 MEDIUM PLATED STEEL 9 4 +Brand#25 MEDIUM PLATED STEEL 36 4 +Brand#25 PROMO ANODIZED COPPER 14 4 +Brand#25 PROMO ANODIZED COPPER 19 4 +Brand#25 PROMO ANODIZED STEEL 36 4 +Brand#25 PROMO ANODIZED TIN 3 4 +Brand#25 PROMO ANODIZED TIN 14 4 +Brand#25 PROMO BRUSHED NICKEL 3 4 +Brand#25 PROMO BRUSHED STEEL 19 4 +Brand#25 PROMO BRUSHED TIN 14 4 +Brand#25 PROMO BRUSHED TIN 36 4 +Brand#25 PROMO BURNISHED COPPER 19 4 +Brand#25 PROMO BURNISHED COPPER 45 4 +Brand#25 PROMO BURNISHED COPPER 49 4 +Brand#25 PROMO BURNISHED NICKEL 36 4 +Brand#25 PROMO BURNISHED TIN 3 4 +Brand#25 PROMO PLATED BRASS 45 4 +Brand#25 PROMO PLATED COPPER 19 4 +Brand#25 PROMO PLATED NICKEL 45 4 +Brand#25 PROMO PLATED NICKEL 49 4 +Brand#25 PROMO PLATED STEEL 23 4 +Brand#25 PROMO POLISHED BRASS 23 4 +Brand#25 SMALL ANODIZED BRASS 45 4 +Brand#25 SMALL ANODIZED NICKEL 19 4 +Brand#25 SMALL ANODIZED STEEL 23 4 +Brand#25 SMALL ANODIZED TIN 14 4 +Brand#25 SMALL ANODIZED TIN 19 4 +Brand#25 SMALL BRUSHED COPPER 45 4 +Brand#25 SMALL BRUSHED NICKEL 9 4 +Brand#25 SMALL BURNISHED COPPER 3 4 +Brand#25 SMALL BURNISHED STEEL 3 4 +Brand#25 SMALL BURNISHED STEEL 14 4 +Brand#25 SMALL BURNISHED TIN 3 4 +Brand#25 SMALL PLATED BRASS 19 4 +Brand#25 SMALL PLATED COPPER 23 4 +Brand#25 SMALL PLATED STEEL 45 4 +Brand#25 SMALL PLATED TIN 36 4 +Brand#25 SMALL POLISHED BRASS 23 4 +Brand#25 SMALL POLISHED COPPER 9 4 +Brand#25 SMALL POLISHED STEEL 14 4 +Brand#25 STANDARD ANODIZED STEEL 3 4 +Brand#25 STANDARD ANODIZED STEEL 19 4 +Brand#25 STANDARD ANODIZED TIN 9 4 +Brand#25 STANDARD BRUSHED BRASS 14 4 +Brand#25 STANDARD BRUSHED NICKEL 19 4 +Brand#25 STANDARD BRUSHED TIN 9 4 +Brand#25 STANDARD BURNISHED NICKEL 9 4 +Brand#25 STANDARD PLATED BRASS 3 4 +Brand#25 STANDARD PLATED COPPER 14 4 +Brand#25 STANDARD PLATED NICKEL 36 4 +Brand#25 STANDARD POLISHED BRASS 45 4 +Brand#25 STANDARD POLISHED COPPER 23 4 +Brand#25 STANDARD POLISHED NICKEL 3 4 +Brand#25 STANDARD POLISHED NICKEL 49 4 +Brand#25 STANDARD POLISHED TIN 36 4 +Brand#25 STANDARD POLISHED TIN 45 4 +Brand#31 ECONOMY ANODIZED BRASS 3 4 +Brand#31 ECONOMY ANODIZED COPPER 45 4 +Brand#31 ECONOMY ANODIZED STEEL 3 4 +Brand#31 ECONOMY ANODIZED TIN 45 4 +Brand#31 ECONOMY BRUSHED BRASS 14 4 +Brand#31 ECONOMY BRUSHED COPPER 19 4 +Brand#31 ECONOMY BRUSHED NICKEL 9 4 +Brand#31 ECONOMY BRUSHED NICKEL 14 4 +Brand#31 ECONOMY BRUSHED NICKEL 49 4 +Brand#31 ECONOMY BURNISHED COPPER 36 4 +Brand#31 ECONOMY BURNISHED STEEL 3 4 +Brand#31 ECONOMY BURNISHED TIN 49 4 +Brand#31 ECONOMY PLATED COPPER 49 4 +Brand#31 ECONOMY PLATED NICKEL 9 4 +Brand#31 ECONOMY PLATED STEEL 23 4 +Brand#31 ECONOMY PLATED TIN 36 4 +Brand#31 ECONOMY PLATED TIN 49 4 +Brand#31 ECONOMY POLISHED COPPER 3 4 +Brand#31 ECONOMY POLISHED COPPER 36 4 +Brand#31 ECONOMY POLISHED COPPER 49 4 +Brand#31 ECONOMY POLISHED NICKEL 3 4 +Brand#31 LARGE ANODIZED BRASS 19 4 +Brand#31 LARGE ANODIZED STEEL 45 4 +Brand#31 LARGE BRUSHED BRASS 36 4 +Brand#31 LARGE BRUSHED BRASS 49 4 +Brand#31 LARGE BRUSHED TIN 3 4 +Brand#31 LARGE BURNISHED BRASS 9 4 +Brand#31 LARGE PLATED COPPER 19 4 +Brand#31 LARGE PLATED NICKEL 14 4 +Brand#31 LARGE PLATED TIN 9 4 +Brand#31 LARGE PLATED TIN 14 4 +Brand#31 LARGE POLISHED BRASS 14 4 +Brand#31 LARGE POLISHED STEEL 14 4 +Brand#31 LARGE POLISHED STEEL 45 4 +Brand#31 LARGE POLISHED TIN 19 4 +Brand#31 MEDIUM ANODIZED BRASS 23 4 +Brand#31 MEDIUM ANODIZED BRASS 36 4 +Brand#31 MEDIUM ANODIZED COPPER 14 4 +Brand#31 MEDIUM ANODIZED COPPER 19 4 +Brand#31 MEDIUM ANODIZED COPPER 36 4 +Brand#31 MEDIUM ANODIZED STEEL 14 4 +Brand#31 MEDIUM ANODIZED STEEL 49 4 +Brand#31 MEDIUM ANODIZED TIN 19 4 +Brand#31 MEDIUM ANODIZED TIN 49 4 +Brand#31 MEDIUM BRUSHED BRASS 36 4 +Brand#31 MEDIUM BRUSHED STEEL 14 4 +Brand#31 MEDIUM BURNISHED BRASS 14 4 +Brand#31 MEDIUM BURNISHED COPPER 3 4 +Brand#31 MEDIUM BURNISHED NICKEL 9 4 +Brand#31 MEDIUM BURNISHED STEEL 9 4 +Brand#31 MEDIUM BURNISHED TIN 14 4 +Brand#31 MEDIUM BURNISHED TIN 23 4 +Brand#31 MEDIUM PLATED BRASS 3 4 +Brand#31 MEDIUM PLATED TIN 9 4 +Brand#31 MEDIUM PLATED TIN 36 4 +Brand#31 MEDIUM PLATED TIN 45 4 +Brand#31 PROMO ANODIZED BRASS 3 4 +Brand#31 PROMO ANODIZED NICKEL 9 4 +Brand#31 PROMO BRUSHED BRASS 3 4 +Brand#31 PROMO BRUSHED BRASS 23 4 +Brand#31 PROMO BRUSHED COPPER 23 4 +Brand#31 PROMO BRUSHED NICKEL 45 4 +Brand#31 PROMO BURNISHED COPPER 36 4 +Brand#31 PROMO BURNISHED STEEL 3 4 +Brand#31 PROMO BURNISHED TIN 3 4 +Brand#31 PROMO PLATED BRASS 19 4 +Brand#31 PROMO PLATED NICKEL 36 4 +Brand#31 PROMO POLISHED BRASS 49 4 +Brand#31 PROMO POLISHED COPPER 14 4 +Brand#31 PROMO POLISHED NICKEL 3 4 +Brand#31 PROMO POLISHED NICKEL 9 4 +Brand#31 PROMO POLISHED TIN 3 4 +Brand#31 PROMO POLISHED TIN 23 4 +Brand#31 SMALL ANODIZED COPPER 45 4 +Brand#31 SMALL ANODIZED STEEL 23 4 +Brand#31 SMALL ANODIZED TIN 3 4 +Brand#31 SMALL BRUSHED COPPER 36 4 +Brand#31 SMALL BRUSHED COPPER 49 4 +Brand#31 SMALL BRUSHED NICKEL 19 4 +Brand#31 SMALL BRUSHED NICKEL 23 4 +Brand#31 SMALL BURNISHED BRASS 45 4 +Brand#31 SMALL BURNISHED NICKEL 9 4 +Brand#31 SMALL BURNISHED NICKEL 36 4 +Brand#31 SMALL PLATED COPPER 36 4 +Brand#31 SMALL PLATED NICKEL 9 4 +Brand#31 SMALL PLATED NICKEL 36 4 +Brand#31 SMALL POLISHED BRASS 3 4 +Brand#31 SMALL POLISHED COPPER 45 4 +Brand#31 SMALL POLISHED NICKEL 45 4 +Brand#31 SMALL POLISHED TIN 23 4 +Brand#31 SMALL POLISHED TIN 49 4 +Brand#31 STANDARD BRUSHED STEEL 23 4 +Brand#31 STANDARD BRUSHED STEEL 49 4 +Brand#31 STANDARD BURNISHED BRASS 14 4 +Brand#31 STANDARD BURNISHED NICKEL 45 4 +Brand#31 STANDARD PLATED NICKEL 3 4 +Brand#31 STANDARD POLISHED BRASS 3 4 +Brand#31 STANDARD POLISHED BRASS 45 4 +Brand#31 STANDARD POLISHED STEEL 36 4 +Brand#32 ECONOMY ANODIZED BRASS 19 4 +Brand#32 ECONOMY ANODIZED COPPER 36 4 +Brand#32 ECONOMY ANODIZED STEEL 23 4 +Brand#32 ECONOMY ANODIZED STEEL 36 4 +Brand#32 ECONOMY ANODIZED STEEL 45 4 +Brand#32 ECONOMY ANODIZED TIN 19 4 +Brand#32 ECONOMY BRUSHED COPPER 45 4 +Brand#32 ECONOMY BRUSHED TIN 45 4 +Brand#32 ECONOMY BURNISHED BRASS 23 4 +Brand#32 ECONOMY BURNISHED COPPER 36 4 +Brand#32 ECONOMY BURNISHED COPPER 45 4 +Brand#32 ECONOMY BURNISHED STEEL 19 4 +Brand#32 ECONOMY PLATED BRASS 9 4 +Brand#32 ECONOMY PLATED COPPER 9 4 +Brand#32 ECONOMY PLATED NICKEL 23 4 +Brand#32 ECONOMY PLATED TIN 45 4 +Brand#32 ECONOMY POLISHED STEEL 3 4 +Brand#32 LARGE ANODIZED BRASS 23 4 +Brand#32 LARGE ANODIZED BRASS 36 4 +Brand#32 LARGE ANODIZED NICKEL 45 4 +Brand#32 LARGE ANODIZED STEEL 3 4 +Brand#32 LARGE ANODIZED STEEL 14 4 +Brand#32 LARGE BRUSHED STEEL 45 4 +Brand#32 LARGE BRUSHED TIN 45 4 +Brand#32 LARGE BURNISHED NICKEL 36 4 +Brand#32 LARGE BURNISHED TIN 19 4 +Brand#32 LARGE BURNISHED TIN 45 4 +Brand#32 LARGE PLATED BRASS 3 4 +Brand#32 LARGE PLATED NICKEL 49 4 +Brand#32 LARGE PLATED STEEL 19 4 +Brand#32 LARGE PLATED STEEL 36 4 +Brand#32 LARGE POLISHED BRASS 45 4 +Brand#32 LARGE POLISHED COPPER 9 4 +Brand#32 LARGE POLISHED COPPER 49 4 +Brand#32 LARGE POLISHED NICKEL 3 4 +Brand#32 MEDIUM ANODIZED BRASS 3 4 +Brand#32 MEDIUM ANODIZED BRASS 9 4 +Brand#32 MEDIUM ANODIZED TIN 23 4 +Brand#32 MEDIUM BRUSHED BRASS 23 4 +Brand#32 MEDIUM BRUSHED BRASS 49 4 +Brand#32 MEDIUM BRUSHED COPPER 9 4 +Brand#32 MEDIUM BRUSHED COPPER 19 4 +Brand#32 MEDIUM BRUSHED TIN 49 4 +Brand#32 MEDIUM BURNISHED BRASS 9 4 +Brand#32 MEDIUM BURNISHED BRASS 36 4 +Brand#32 MEDIUM BURNISHED BRASS 49 4 +Brand#32 MEDIUM BURNISHED COPPER 9 4 +Brand#32 MEDIUM BURNISHED COPPER 45 4 +Brand#32 MEDIUM BURNISHED NICKEL 49 4 +Brand#32 MEDIUM BURNISHED TIN 9 4 +Brand#32 MEDIUM BURNISHED TIN 45 4 +Brand#32 MEDIUM PLATED BRASS 3 4 +Brand#32 MEDIUM PLATED BRASS 49 4 +Brand#32 MEDIUM PLATED COPPER 3 4 +Brand#32 MEDIUM PLATED STEEL 9 4 +Brand#32 MEDIUM PLATED TIN 9 4 +Brand#32 PROMO ANODIZED BRASS 3 4 +Brand#32 PROMO ANODIZED COPPER 19 4 +Brand#32 PROMO ANODIZED NICKEL 23 4 +Brand#32 PROMO BRUSHED COPPER 23 4 +Brand#32 PROMO BRUSHED NICKEL 14 4 +Brand#32 PROMO BRUSHED NICKEL 36 4 +Brand#32 PROMO BRUSHED STEEL 14 4 +Brand#32 PROMO BRUSHED STEEL 23 4 +Brand#32 PROMO BRUSHED STEEL 49 4 +Brand#32 PROMO BURNISHED BRASS 45 4 +Brand#32 PROMO BURNISHED NICKEL 45 4 +Brand#32 PROMO BURNISHED TIN 14 4 +Brand#32 PROMO BURNISHED TIN 45 4 +Brand#32 PROMO PLATED TIN 19 4 +Brand#32 PROMO POLISHED NICKEL 36 4 +Brand#32 PROMO POLISHED TIN 3 4 +Brand#32 SMALL ANODIZED BRASS 3 4 +Brand#32 SMALL ANODIZED NICKEL 3 4 +Brand#32 SMALL ANODIZED NICKEL 14 4 +Brand#32 SMALL ANODIZED TIN 9 4 +Brand#32 SMALL BRUSHED BRASS 9 4 +Brand#32 SMALL BRUSHED BRASS 19 4 +Brand#32 SMALL BRUSHED COPPER 3 4 +Brand#32 SMALL BRUSHED COPPER 23 4 +Brand#32 SMALL BRUSHED NICKEL 9 4 +Brand#32 SMALL BRUSHED NICKEL 45 4 +Brand#32 SMALL BRUSHED STEEL 23 4 +Brand#32 SMALL BRUSHED TIN 9 4 +Brand#32 SMALL BURNISHED NICKEL 36 4 +Brand#32 SMALL BURNISHED STEEL 3 4 +Brand#32 SMALL BURNISHED TIN 23 4 +Brand#32 SMALL PLATED BRASS 49 4 +Brand#32 SMALL PLATED COPPER 36 4 +Brand#32 SMALL PLATED COPPER 45 4 +Brand#32 SMALL PLATED NICKEL 45 4 +Brand#32 SMALL PLATED STEEL 45 4 +Brand#32 SMALL PLATED TIN 23 4 +Brand#32 SMALL PLATED TIN 36 4 +Brand#32 SMALL PLATED TIN 45 4 +Brand#32 SMALL POLISHED NICKEL 36 4 +Brand#32 SMALL POLISHED STEEL 14 4 +Brand#32 SMALL POLISHED STEEL 23 4 +Brand#32 SMALL POLISHED STEEL 36 4 +Brand#32 SMALL POLISHED TIN 36 4 +Brand#32 SMALL POLISHED TIN 45 4 +Brand#32 STANDARD ANODIZED NICKEL 19 4 +Brand#32 STANDARD ANODIZED TIN 9 4 +Brand#32 STANDARD ANODIZED TIN 14 4 +Brand#32 STANDARD ANODIZED TIN 19 4 +Brand#32 STANDARD BRUSHED NICKEL 23 4 +Brand#32 STANDARD BURNISHED BRASS 36 4 +Brand#32 STANDARD BURNISHED BRASS 45 4 +Brand#32 STANDARD BURNISHED COPPER 3 4 +Brand#32 STANDARD BURNISHED COPPER 36 4 +Brand#32 STANDARD BURNISHED NICKEL 49 4 +Brand#32 STANDARD BURNISHED STEEL 49 4 +Brand#32 STANDARD BURNISHED TIN 23 4 +Brand#32 STANDARD PLATED BRASS 9 4 +Brand#32 STANDARD PLATED BRASS 45 4 +Brand#32 STANDARD PLATED STEEL 36 4 +Brand#32 STANDARD POLISHED BRASS 14 4 +Brand#32 STANDARD POLISHED COPPER 36 4 +Brand#32 STANDARD POLISHED STEEL 14 4 +Brand#33 ECONOMY ANODIZED BRASS 23 4 +Brand#33 ECONOMY ANODIZED COPPER 9 4 +Brand#33 ECONOMY ANODIZED NICKEL 3 4 +Brand#33 ECONOMY ANODIZED NICKEL 9 4 +Brand#33 ECONOMY ANODIZED NICKEL 23 4 +Brand#33 ECONOMY ANODIZED NICKEL 36 4 +Brand#33 ECONOMY BRUSHED BRASS 14 4 +Brand#33 ECONOMY BRUSHED COPPER 23 4 +Brand#33 ECONOMY BURNISHED BRASS 49 4 +Brand#33 ECONOMY BURNISHED COPPER 3 4 +Brand#33 ECONOMY BURNISHED COPPER 14 4 +Brand#33 ECONOMY BURNISHED STEEL 3 4 +Brand#33 ECONOMY BURNISHED TIN 36 4 +Brand#33 ECONOMY BURNISHED TIN 45 4 +Brand#33 ECONOMY PLATED COPPER 19 4 +Brand#33 ECONOMY PLATED COPPER 45 4 +Brand#33 ECONOMY PLATED NICKEL 14 4 +Brand#33 ECONOMY PLATED NICKEL 36 4 +Brand#33 ECONOMY PLATED STEEL 3 4 +Brand#33 ECONOMY PLATED STEEL 23 4 +Brand#33 ECONOMY PLATED STEEL 36 4 +Brand#33 ECONOMY POLISHED BRASS 14 4 +Brand#33 ECONOMY POLISHED NICKEL 19 4 +Brand#33 ECONOMY POLISHED TIN 9 4 +Brand#33 LARGE ANODIZED BRASS 36 4 +Brand#33 LARGE ANODIZED COPPER 19 4 +Brand#33 LARGE ANODIZED COPPER 45 4 +Brand#33 LARGE ANODIZED NICKEL 36 4 +Brand#33 LARGE ANODIZED NICKEL 45 4 +Brand#33 LARGE ANODIZED STEEL 3 4 +Brand#33 LARGE ANODIZED STEEL 45 4 +Brand#33 LARGE ANODIZED TIN 45 4 +Brand#33 LARGE BRUSHED BRASS 3 4 +Brand#33 LARGE BRUSHED BRASS 49 4 +Brand#33 LARGE BRUSHED STEEL 19 4 +Brand#33 LARGE BRUSHED TIN 36 4 +Brand#33 LARGE BURNISHED COPPER 45 4 +Brand#33 LARGE BURNISHED NICKEL 23 4 +Brand#33 LARGE BURNISHED STEEL 19 4 +Brand#33 LARGE PLATED BRASS 3 4 +Brand#33 LARGE PLATED COPPER 19 4 +Brand#33 LARGE PLATED STEEL 3 4 +Brand#33 LARGE PLATED STEEL 19 4 +Brand#33 LARGE PLATED TIN 45 4 +Brand#33 LARGE POLISHED BRASS 45 4 +Brand#33 LARGE POLISHED STEEL 14 4 +Brand#33 LARGE POLISHED STEEL 23 4 +Brand#33 LARGE POLISHED TIN 23 4 +Brand#33 MEDIUM ANODIZED BRASS 3 4 +Brand#33 MEDIUM ANODIZED COPPER 9 4 +Brand#33 MEDIUM ANODIZED COPPER 36 4 +Brand#33 MEDIUM ANODIZED COPPER 49 4 +Brand#33 MEDIUM ANODIZED NICKEL 3 4 +Brand#33 MEDIUM ANODIZED NICKEL 19 4 +Brand#33 MEDIUM BRUSHED BRASS 3 4 +Brand#33 MEDIUM BRUSHED STEEL 19 4 +Brand#33 MEDIUM BRUSHED TIN 14 4 +Brand#33 MEDIUM BURNISHED COPPER 14 4 +Brand#33 MEDIUM BURNISHED COPPER 49 4 +Brand#33 MEDIUM BURNISHED TIN 36 4 +Brand#33 MEDIUM PLATED BRASS 3 4 +Brand#33 MEDIUM PLATED STEEL 3 4 +Brand#33 MEDIUM PLATED STEEL 49 4 +Brand#33 PROMO ANODIZED BRASS 3 4 +Brand#33 PROMO BRUSHED BRASS 49 4 +Brand#33 PROMO BURNISHED COPPER 23 4 +Brand#33 PROMO BURNISHED NICKEL 14 4 +Brand#33 PROMO BURNISHED NICKEL 36 4 +Brand#33 PROMO BURNISHED TIN 19 4 +Brand#33 PROMO BURNISHED TIN 23 4 +Brand#33 PROMO PLATED COPPER 14 4 +Brand#33 PROMO PLATED STEEL 45 4 +Brand#33 PROMO PLATED STEEL 49 4 +Brand#33 PROMO PLATED TIN 49 4 +Brand#33 PROMO POLISHED COPPER 3 4 +Brand#33 PROMO POLISHED STEEL 3 4 +Brand#33 PROMO POLISHED STEEL 9 4 +Brand#33 PROMO POLISHED STEEL 23 4 +Brand#33 SMALL ANODIZED BRASS 19 4 +Brand#33 SMALL ANODIZED COPPER 23 4 +Brand#33 SMALL ANODIZED COPPER 49 4 +Brand#33 SMALL ANODIZED STEEL 9 4 +Brand#33 SMALL BRUSHED BRASS 3 4 +Brand#33 SMALL BRUSHED COPPER 3 4 +Brand#33 SMALL BRUSHED NICKEL 45 4 +Brand#33 SMALL BRUSHED STEEL 3 4 +Brand#33 SMALL BRUSHED TIN 9 4 +Brand#33 SMALL BURNISHED BRASS 19 4 +Brand#33 SMALL BURNISHED NICKEL 3 4 +Brand#33 SMALL PLATED BRASS 3 4 +Brand#33 SMALL PLATED STEEL 14 4 +Brand#33 SMALL PLATED STEEL 45 4 +Brand#33 SMALL PLATED TIN 23 4 +Brand#33 SMALL PLATED TIN 36 4 +Brand#33 SMALL POLISHED NICKEL 23 4 +Brand#33 SMALL POLISHED TIN 19 4 +Brand#33 SMALL POLISHED TIN 23 4 +Brand#33 SMALL POLISHED TIN 45 4 +Brand#33 STANDARD ANODIZED COPPER 49 4 +Brand#33 STANDARD ANODIZED STEEL 14 4 +Brand#33 STANDARD ANODIZED STEEL 45 4 +Brand#33 STANDARD ANODIZED STEEL 49 4 +Brand#33 STANDARD ANODIZED TIN 45 4 +Brand#33 STANDARD BRUSHED BRASS 9 4 +Brand#33 STANDARD BRUSHED NICKEL 45 4 +Brand#33 STANDARD BRUSHED STEEL 9 4 +Brand#33 STANDARD BRUSHED TIN 36 4 +Brand#33 STANDARD BURNISHED BRASS 9 4 +Brand#33 STANDARD BURNISHED BRASS 23 4 +Brand#33 STANDARD BURNISHED NICKEL 49 4 +Brand#33 STANDARD PLATED BRASS 49 4 +Brand#33 STANDARD PLATED COPPER 3 4 +Brand#33 STANDARD PLATED COPPER 14 4 +Brand#33 STANDARD PLATED NICKEL 36 4 +Brand#33 STANDARD PLATED STEEL 3 4 +Brand#33 STANDARD PLATED STEEL 36 4 +Brand#33 STANDARD PLATED TIN 14 4 +Brand#33 STANDARD POLISHED BRASS 9 4 +Brand#33 STANDARD POLISHED BRASS 19 4 +Brand#33 STANDARD POLISHED STEEL 3 4 +Brand#33 STANDARD POLISHED STEEL 9 4 +Brand#33 STANDARD POLISHED STEEL 14 4 +Brand#34 ECONOMY ANODIZED BRASS 9 4 +Brand#34 ECONOMY ANODIZED COPPER 3 4 +Brand#34 ECONOMY ANODIZED COPPER 14 4 +Brand#34 ECONOMY ANODIZED COPPER 19 4 +Brand#34 ECONOMY ANODIZED STEEL 9 4 +Brand#34 ECONOMY ANODIZED TIN 49 4 +Brand#34 ECONOMY BRUSHED BRASS 14 4 +Brand#34 ECONOMY BRUSHED NICKEL 49 4 +Brand#34 ECONOMY BURNISHED COPPER 9 4 +Brand#34 ECONOMY BURNISHED STEEL 19 4 +Brand#34 ECONOMY BURNISHED TIN 3 4 +Brand#34 ECONOMY BURNISHED TIN 23 4 +Brand#34 ECONOMY PLATED BRASS 9 4 +Brand#34 ECONOMY PLATED BRASS 14 4 +Brand#34 ECONOMY PLATED COPPER 3 4 +Brand#34 ECONOMY PLATED NICKEL 45 4 +Brand#34 ECONOMY PLATED TIN 14 4 +Brand#34 ECONOMY PLATED TIN 45 4 +Brand#34 ECONOMY POLISHED BRASS 45 4 +Brand#34 LARGE ANODIZED BRASS 14 4 +Brand#34 LARGE ANODIZED BRASS 23 4 +Brand#34 LARGE ANODIZED BRASS 36 4 +Brand#34 LARGE ANODIZED NICKEL 3 4 +Brand#34 LARGE ANODIZED TIN 49 4 +Brand#34 LARGE BRUSHED BRASS 49 4 +Brand#34 LARGE BRUSHED COPPER 23 4 +Brand#34 LARGE BRUSHED NICKEL 23 4 +Brand#34 LARGE BRUSHED STEEL 14 4 +Brand#34 LARGE BRUSHED STEEL 19 4 +Brand#34 LARGE BRUSHED TIN 9 4 +Brand#34 LARGE BURNISHED BRASS 23 4 +Brand#34 LARGE BURNISHED COPPER 3 4 +Brand#34 LARGE BURNISHED COPPER 36 4 +Brand#34 LARGE BURNISHED NICKEL 19 4 +Brand#34 LARGE PLATED BRASS 23 4 +Brand#34 LARGE PLATED BRASS 36 4 +Brand#34 LARGE PLATED BRASS 45 4 +Brand#34 LARGE PLATED COPPER 23 4 +Brand#34 LARGE PLATED COPPER 49 4 +Brand#34 LARGE PLATED STEEL 49 4 +Brand#34 LARGE POLISHED NICKEL 49 4 +Brand#34 MEDIUM ANODIZED COPPER 36 4 +Brand#34 MEDIUM ANODIZED TIN 3 4 +Brand#34 MEDIUM BRUSHED BRASS 49 4 +Brand#34 MEDIUM BRUSHED COPPER 9 4 +Brand#34 MEDIUM BRUSHED NICKEL 9 4 +Brand#34 MEDIUM BRUSHED NICKEL 23 4 +Brand#34 MEDIUM BRUSHED TIN 3 4 +Brand#34 MEDIUM BRUSHED TIN 14 4 +Brand#34 MEDIUM BURNISHED STEEL 45 4 +Brand#34 MEDIUM BURNISHED STEEL 49 4 +Brand#34 MEDIUM PLATED COPPER 36 4 +Brand#34 MEDIUM PLATED TIN 3 4 +Brand#34 MEDIUM PLATED TIN 14 4 +Brand#34 PROMO ANODIZED COPPER 45 4 +Brand#34 PROMO ANODIZED NICKEL 14 4 +Brand#34 PROMO ANODIZED STEEL 49 4 +Brand#34 PROMO ANODIZED TIN 14 4 +Brand#34 PROMO BRUSHED BRASS 9 4 +Brand#34 PROMO BRUSHED BRASS 23 4 +Brand#34 PROMO BRUSHED COPPER 36 4 +Brand#34 PROMO BRUSHED STEEL 36 4 +Brand#34 PROMO BURNISHED BRASS 49 4 +Brand#34 PROMO BURNISHED STEEL 3 4 +Brand#34 PROMO PLATED BRASS 9 4 +Brand#34 PROMO PLATED STEEL 49 4 +Brand#34 PROMO POLISHED BRASS 23 4 +Brand#34 PROMO POLISHED NICKEL 3 4 +Brand#34 PROMO POLISHED NICKEL 36 4 +Brand#34 SMALL ANODIZED BRASS 36 4 +Brand#34 SMALL ANODIZED COPPER 45 4 +Brand#34 SMALL ANODIZED NICKEL 14 4 +Brand#34 SMALL ANODIZED NICKEL 36 4 +Brand#34 SMALL ANODIZED STEEL 3 4 +Brand#34 SMALL ANODIZED STEEL 19 4 +Brand#34 SMALL ANODIZED STEEL 23 4 +Brand#34 SMALL ANODIZED STEEL 36 4 +Brand#34 SMALL BRUSHED BRASS 14 4 +Brand#34 SMALL BRUSHED BRASS 36 4 +Brand#34 SMALL BRUSHED NICKEL 14 4 +Brand#34 SMALL BRUSHED NICKEL 36 4 +Brand#34 SMALL BRUSHED NICKEL 45 4 +Brand#34 SMALL BRUSHED TIN 9 4 +Brand#34 SMALL BRUSHED TIN 23 4 +Brand#34 SMALL BRUSHED TIN 36 4 +Brand#34 SMALL BURNISHED COPPER 9 4 +Brand#34 SMALL BURNISHED TIN 36 4 +Brand#34 SMALL PLATED BRASS 14 4 +Brand#34 SMALL PLATED COPPER 36 4 +Brand#34 SMALL PLATED TIN 45 4 +Brand#34 SMALL POLISHED NICKEL 14 4 +Brand#34 SMALL POLISHED NICKEL 45 4 +Brand#34 SMALL POLISHED TIN 9 4 +Brand#34 SMALL POLISHED TIN 14 4 +Brand#34 SMALL POLISHED TIN 19 4 +Brand#34 STANDARD ANODIZED BRASS 23 4 +Brand#34 STANDARD ANODIZED BRASS 36 4 +Brand#34 STANDARD ANODIZED COPPER 45 4 +Brand#34 STANDARD ANODIZED NICKEL 36 4 +Brand#34 STANDARD ANODIZED STEEL 9 4 +Brand#34 STANDARD ANODIZED STEEL 49 4 +Brand#34 STANDARD ANODIZED TIN 9 4 +Brand#34 STANDARD BRUSHED BRASS 19 4 +Brand#34 STANDARD BRUSHED BRASS 23 4 +Brand#34 STANDARD BRUSHED NICKEL 23 4 +Brand#34 STANDARD BRUSHED STEEL 3 4 +Brand#34 STANDARD BRUSHED TIN 19 4 +Brand#34 STANDARD BURNISHED COPPER 45 4 +Brand#34 STANDARD BURNISHED NICKEL 19 4 +Brand#34 STANDARD BURNISHED NICKEL 45 4 +Brand#34 STANDARD BURNISHED STEEL 36 4 +Brand#34 STANDARD BURNISHED TIN 45 4 +Brand#34 STANDARD PLATED BRASS 9 4 +Brand#34 STANDARD PLATED COPPER 9 4 +Brand#34 STANDARD PLATED NICKEL 36 4 +Brand#35 ECONOMY ANODIZED COPPER 3 4 +Brand#35 ECONOMY ANODIZED STEEL 45 4 +Brand#35 ECONOMY BRUSHED BRASS 3 4 +Brand#35 ECONOMY BRUSHED NICKEL 49 4 +Brand#35 ECONOMY BRUSHED STEEL 23 4 +Brand#35 ECONOMY BRUSHED STEEL 45 4 +Brand#35 ECONOMY BRUSHED TIN 14 4 +Brand#35 ECONOMY BRUSHED TIN 23 4 +Brand#35 ECONOMY BURNISHED NICKEL 19 4 +Brand#35 ECONOMY BURNISHED STEEL 36 4 +Brand#35 ECONOMY BURNISHED TIN 9 4 +Brand#35 ECONOMY BURNISHED TIN 19 4 +Brand#35 ECONOMY BURNISHED TIN 49 4 +Brand#35 ECONOMY POLISHED COPPER 9 4 +Brand#35 ECONOMY POLISHED TIN 19 4 +Brand#35 LARGE ANODIZED BRASS 3 4 +Brand#35 LARGE ANODIZED BRASS 23 4 +Brand#35 LARGE ANODIZED COPPER 49 4 +Brand#35 LARGE ANODIZED STEEL 36 4 +Brand#35 LARGE ANODIZED TIN 9 4 +Brand#35 LARGE BRUSHED COPPER 9 4 +Brand#35 LARGE BRUSHED COPPER 23 4 +Brand#35 LARGE BRUSHED STEEL 3 4 +Brand#35 LARGE BRUSHED STEEL 9 4 +Brand#35 LARGE BURNISHED BRASS 36 4 +Brand#35 LARGE BURNISHED BRASS 45 4 +Brand#35 LARGE BURNISHED COPPER 23 4 +Brand#35 LARGE BURNISHED NICKEL 23 4 +Brand#35 LARGE PLATED BRASS 9 4 +Brand#35 LARGE PLATED COPPER 36 4 +Brand#35 LARGE POLISHED BRASS 49 4 +Brand#35 LARGE POLISHED STEEL 9 4 +Brand#35 LARGE POLISHED TIN 14 4 +Brand#35 MEDIUM ANODIZED BRASS 9 4 +Brand#35 MEDIUM ANODIZED BRASS 36 4 +Brand#35 MEDIUM ANODIZED COPPER 9 4 +Brand#35 MEDIUM BRUSHED BRASS 14 4 +Brand#35 MEDIUM BRUSHED COPPER 9 4 +Brand#35 MEDIUM BRUSHED COPPER 36 4 +Brand#35 MEDIUM BURNISHED BRASS 49 4 +Brand#35 MEDIUM BURNISHED NICKEL 45 4 +Brand#35 MEDIUM BURNISHED TIN 36 4 +Brand#35 MEDIUM PLATED BRASS 23 4 +Brand#35 MEDIUM PLATED COPPER 9 4 +Brand#35 MEDIUM PLATED NICKEL 45 4 +Brand#35 MEDIUM PLATED NICKEL 49 4 +Brand#35 MEDIUM PLATED STEEL 49 4 +Brand#35 PROMO ANODIZED COPPER 49 4 +Brand#35 PROMO ANODIZED NICKEL 19 4 +Brand#35 PROMO ANODIZED NICKEL 23 4 +Brand#35 PROMO ANODIZED TIN 3 4 +Brand#35 PROMO ANODIZED TIN 14 4 +Brand#35 PROMO BRUSHED BRASS 49 4 +Brand#35 PROMO BRUSHED NICKEL 14 4 +Brand#35 PROMO BRUSHED NICKEL 19 4 +Brand#35 PROMO BURNISHED BRASS 3 4 +Brand#35 PROMO BURNISHED STEEL 3 4 +Brand#35 PROMO PLATED BRASS 19 4 +Brand#35 PROMO PLATED COPPER 14 4 +Brand#35 PROMO PLATED STEEL 23 4 +Brand#35 PROMO PLATED STEEL 36 4 +Brand#35 PROMO PLATED TIN 19 4 +Brand#35 PROMO POLISHED BRASS 9 4 +Brand#35 PROMO POLISHED BRASS 36 4 +Brand#35 PROMO POLISHED NICKEL 36 4 +Brand#35 PROMO POLISHED STEEL 23 4 +Brand#35 PROMO POLISHED TIN 36 4 +Brand#35 PROMO POLISHED TIN 45 4 +Brand#35 SMALL ANODIZED COPPER 9 4 +Brand#35 SMALL ANODIZED STEEL 19 4 +Brand#35 SMALL ANODIZED TIN 19 4 +Brand#35 SMALL BRUSHED BRASS 36 4 +Brand#35 SMALL BRUSHED STEEL 49 4 +Brand#35 SMALL BRUSHED TIN 3 4 +Brand#35 SMALL BRUSHED TIN 19 4 +Brand#35 SMALL BRUSHED TIN 23 4 +Brand#35 SMALL BURNISHED BRASS 23 4 +Brand#35 SMALL BURNISHED STEEL 36 4 +Brand#35 SMALL BURNISHED TIN 3 4 +Brand#35 SMALL BURNISHED TIN 36 4 +Brand#35 SMALL BURNISHED TIN 49 4 +Brand#35 SMALL PLATED BRASS 23 4 +Brand#35 SMALL PLATED STEEL 14 4 +Brand#35 SMALL POLISHED BRASS 36 4 +Brand#35 SMALL POLISHED STEEL 3 4 +Brand#35 SMALL POLISHED STEEL 49 4 +Brand#35 SMALL POLISHED TIN 23 4 +Brand#35 SMALL POLISHED TIN 45 4 +Brand#35 STANDARD ANODIZED NICKEL 14 4 +Brand#35 STANDARD ANODIZED STEEL 23 4 +Brand#35 STANDARD ANODIZED STEEL 45 4 +Brand#35 STANDARD ANODIZED TIN 9 4 +Brand#35 STANDARD ANODIZED TIN 19 4 +Brand#35 STANDARD BRUSHED BRASS 3 4 +Brand#35 STANDARD BRUSHED BRASS 23 4 +Brand#35 STANDARD BRUSHED BRASS 36 4 +Brand#35 STANDARD BRUSHED COPPER 36 4 +Brand#35 STANDARD BRUSHED NICKEL 36 4 +Brand#35 STANDARD BRUSHED NICKEL 49 4 +Brand#35 STANDARD BRUSHED TIN 9 4 +Brand#35 STANDARD BURNISHED BRASS 9 4 +Brand#35 STANDARD BURNISHED BRASS 19 4 +Brand#35 STANDARD BURNISHED BRASS 23 4 +Brand#35 STANDARD BURNISHED COPPER 36 4 +Brand#35 STANDARD BURNISHED STEEL 14 4 +Brand#35 STANDARD PLATED COPPER 19 4 +Brand#35 STANDARD PLATED NICKEL 23 4 +Brand#35 STANDARD PLATED STEEL 14 4 +Brand#35 STANDARD PLATED STEEL 23 4 +Brand#35 STANDARD PLATED TIN 49 4 +Brand#35 STANDARD POLISHED NICKEL 23 4 +Brand#35 STANDARD POLISHED TIN 23 4 +Brand#35 STANDARD POLISHED TIN 45 4 +Brand#41 ECONOMY ANODIZED STEEL 49 4 +Brand#41 ECONOMY BRUSHED BRASS 3 4 +Brand#41 ECONOMY BRUSHED COPPER 36 4 +Brand#41 ECONOMY BRUSHED NICKEL 23 4 +Brand#41 ECONOMY BRUSHED STEEL 36 4 +Brand#41 ECONOMY BRUSHED STEEL 45 4 +Brand#41 ECONOMY BRUSHED TIN 14 4 +Brand#41 ECONOMY PLATED COPPER 3 4 +Brand#41 ECONOMY PLATED STEEL 3 4 +Brand#41 ECONOMY PLATED TIN 23 4 +Brand#41 ECONOMY POLISHED COPPER 19 4 +Brand#41 ECONOMY POLISHED NICKEL 9 4 +Brand#41 ECONOMY POLISHED NICKEL 14 4 +Brand#41 ECONOMY POLISHED NICKEL 23 4 +Brand#41 ECONOMY POLISHED NICKEL 49 4 +Brand#41 ECONOMY POLISHED STEEL 9 4 +Brand#41 ECONOMY POLISHED STEEL 19 4 +Brand#41 ECONOMY POLISHED STEEL 45 4 +Brand#41 ECONOMY POLISHED TIN 19 4 +Brand#41 LARGE ANODIZED BRASS 14 4 +Brand#41 LARGE ANODIZED BRASS 23 4 +Brand#41 LARGE ANODIZED COPPER 49 4 +Brand#41 LARGE ANODIZED STEEL 3 4 +Brand#41 LARGE ANODIZED STEEL 23 4 +Brand#41 LARGE BRUSHED COPPER 23 4 +Brand#41 LARGE BRUSHED COPPER 49 4 +Brand#41 LARGE BRUSHED STEEL 19 4 +Brand#41 LARGE BURNISHED BRASS 45 4 +Brand#41 LARGE BURNISHED COPPER 3 4 +Brand#41 LARGE BURNISHED NICKEL 23 4 +Brand#41 LARGE BURNISHED TIN 9 4 +Brand#41 LARGE PLATED NICKEL 3 4 +Brand#41 LARGE PLATED NICKEL 23 4 +Brand#41 LARGE PLATED STEEL 9 4 +Brand#41 LARGE PLATED STEEL 36 4 +Brand#41 LARGE PLATED TIN 9 4 +Brand#41 LARGE POLISHED BRASS 36 4 +Brand#41 LARGE POLISHED COPPER 19 4 +Brand#41 LARGE POLISHED COPPER 49 4 +Brand#41 LARGE POLISHED NICKEL 36 4 +Brand#41 LARGE POLISHED STEEL 14 4 +Brand#41 MEDIUM ANODIZED BRASS 9 4 +Brand#41 MEDIUM ANODIZED COPPER 14 4 +Brand#41 MEDIUM ANODIZED NICKEL 3 4 +Brand#41 MEDIUM ANODIZED NICKEL 9 4 +Brand#41 MEDIUM ANODIZED STEEL 14 4 +Brand#41 MEDIUM BRUSHED COPPER 3 4 +Brand#41 MEDIUM BRUSHED TIN 9 4 +Brand#41 MEDIUM BURNISHED COPPER 23 4 +Brand#41 MEDIUM BURNISHED STEEL 9 4 +Brand#41 MEDIUM BURNISHED STEEL 45 4 +Brand#41 MEDIUM BURNISHED TIN 3 4 +Brand#41 MEDIUM PLATED BRASS 19 4 +Brand#41 MEDIUM PLATED BRASS 45 4 +Brand#41 MEDIUM PLATED COPPER 19 4 +Brand#41 MEDIUM PLATED STEEL 19 4 +Brand#41 MEDIUM PLATED STEEL 23 4 +Brand#41 PROMO ANODIZED BRASS 19 4 +Brand#41 PROMO ANODIZED COPPER 9 4 +Brand#41 PROMO ANODIZED NICKEL 9 4 +Brand#41 PROMO BRUSHED BRASS 14 4 +Brand#41 PROMO BRUSHED COPPER 36 4 +Brand#41 PROMO BRUSHED NICKEL 14 4 +Brand#41 PROMO BURNISHED BRASS 49 4 +Brand#41 PROMO BURNISHED NICKEL 36 4 +Brand#41 PROMO BURNISHED TIN 3 4 +Brand#41 PROMO PLATED NICKEL 14 4 +Brand#41 PROMO PLATED NICKEL 45 4 +Brand#41 PROMO PLATED STEEL 3 4 +Brand#41 PROMO PLATED TIN 3 4 +Brand#41 PROMO POLISHED COPPER 23 4 +Brand#41 SMALL ANODIZED BRASS 3 4 +Brand#41 SMALL ANODIZED BRASS 14 4 +Brand#41 SMALL ANODIZED STEEL 45 4 +Brand#41 SMALL ANODIZED TIN 9 4 +Brand#41 SMALL BRUSHED TIN 19 4 +Brand#41 SMALL BURNISHED COPPER 9 4 +Brand#41 SMALL BURNISHED NICKEL 3 4 +Brand#41 SMALL BURNISHED TIN 45 4 +Brand#41 SMALL PLATED COPPER 14 4 +Brand#41 SMALL PLATED COPPER 36 4 +Brand#41 SMALL PLATED COPPER 49 4 +Brand#41 SMALL PLATED TIN 19 4 +Brand#41 SMALL POLISHED COPPER 14 4 +Brand#41 SMALL POLISHED COPPER 19 4 +Brand#41 SMALL POLISHED COPPER 36 4 +Brand#41 SMALL POLISHED TIN 45 4 +Brand#41 STANDARD ANODIZED COPPER 19 4 +Brand#41 STANDARD ANODIZED NICKEL 9 4 +Brand#41 STANDARD ANODIZED STEEL 49 4 +Brand#41 STANDARD ANODIZED TIN 9 4 +Brand#41 STANDARD ANODIZED TIN 36 4 +Brand#41 STANDARD ANODIZED TIN 49 4 +Brand#41 STANDARD BRUSHED BRASS 19 4 +Brand#41 STANDARD BRUSHED NICKEL 3 4 +Brand#41 STANDARD BRUSHED NICKEL 9 4 +Brand#41 STANDARD BRUSHED STEEL 45 4 +Brand#41 STANDARD BRUSHED TIN 45 4 +Brand#41 STANDARD BURNISHED BRASS 23 4 +Brand#41 STANDARD BURNISHED BRASS 36 4 +Brand#41 STANDARD BURNISHED COPPER 49 4 +Brand#41 STANDARD BURNISHED STEEL 45 4 +Brand#41 STANDARD PLATED BRASS 45 4 +Brand#41 STANDARD PLATED NICKEL 14 4 +Brand#41 STANDARD PLATED STEEL 45 4 +Brand#41 STANDARD PLATED TIN 49 4 +Brand#41 STANDARD POLISHED STEEL 9 4 +Brand#41 STANDARD POLISHED STEEL 19 4 +Brand#41 STANDARD POLISHED TIN 45 4 +Brand#42 ECONOMY ANODIZED NICKEL 19 4 +Brand#42 ECONOMY BRUSHED BRASS 14 4 +Brand#42 ECONOMY BRUSHED COPPER 3 4 +Brand#42 ECONOMY BRUSHED COPPER 14 4 +Brand#42 ECONOMY BRUSHED NICKEL 14 4 +Brand#42 ECONOMY BRUSHED STEEL 14 4 +Brand#42 ECONOMY BRUSHED TIN 19 4 +Brand#42 ECONOMY BRUSHED TIN 49 4 +Brand#42 ECONOMY BURNISHED BRASS 19 4 +Brand#42 ECONOMY BURNISHED COPPER 23 4 +Brand#42 ECONOMY BURNISHED NICKEL 14 4 +Brand#42 ECONOMY BURNISHED TIN 14 4 +Brand#42 ECONOMY PLATED COPPER 23 4 +Brand#42 ECONOMY POLISHED BRASS 3 4 +Brand#42 ECONOMY POLISHED COPPER 9 4 +Brand#42 ECONOMY POLISHED STEEL 9 4 +Brand#42 ECONOMY POLISHED STEEL 36 4 +Brand#42 ECONOMY POLISHED TIN 14 4 +Brand#42 LARGE ANODIZED BRASS 49 4 +Brand#42 LARGE ANODIZED COPPER 14 4 +Brand#42 LARGE ANODIZED COPPER 49 4 +Brand#42 LARGE ANODIZED NICKEL 45 4 +Brand#42 LARGE ANODIZED NICKEL 49 4 +Brand#42 LARGE ANODIZED TIN 45 4 +Brand#42 LARGE BRUSHED BRASS 49 4 +Brand#42 LARGE BURNISHED BRASS 45 4 +Brand#42 LARGE BURNISHED BRASS 49 4 +Brand#42 LARGE BURNISHED COPPER 9 4 +Brand#42 LARGE BURNISHED TIN 9 4 +Brand#42 LARGE PLATED BRASS 45 4 +Brand#42 LARGE PLATED COPPER 9 4 +Brand#42 LARGE PLATED NICKEL 36 4 +Brand#42 LARGE PLATED TIN 23 4 +Brand#42 LARGE POLISHED BRASS 9 4 +Brand#42 LARGE POLISHED NICKEL 3 4 +Brand#42 LARGE POLISHED NICKEL 23 4 +Brand#42 LARGE POLISHED STEEL 9 4 +Brand#42 MEDIUM ANODIZED BRASS 23 4 +Brand#42 MEDIUM ANODIZED COPPER 19 4 +Brand#42 MEDIUM ANODIZED NICKEL 14 4 +Brand#42 MEDIUM ANODIZED NICKEL 19 4 +Brand#42 MEDIUM ANODIZED NICKEL 23 4 +Brand#42 MEDIUM ANODIZED STEEL 9 4 +Brand#42 MEDIUM ANODIZED STEEL 14 4 +Brand#42 MEDIUM ANODIZED STEEL 23 4 +Brand#42 MEDIUM ANODIZED TIN 14 4 +Brand#42 MEDIUM ANODIZED TIN 19 4 +Brand#42 MEDIUM BRUSHED COPPER 45 4 +Brand#42 MEDIUM BRUSHED COPPER 49 4 +Brand#42 MEDIUM BRUSHED STEEL 36 4 +Brand#42 MEDIUM BURNISHED COPPER 49 4 +Brand#42 MEDIUM BURNISHED TIN 3 4 +Brand#42 MEDIUM BURNISHED TIN 49 4 +Brand#42 MEDIUM PLATED NICKEL 45 4 +Brand#42 MEDIUM PLATED STEEL 3 4 +Brand#42 MEDIUM PLATED STEEL 23 4 +Brand#42 MEDIUM PLATED STEEL 45 4 +Brand#42 PROMO ANODIZED NICKEL 3 4 +Brand#42 PROMO ANODIZED NICKEL 19 4 +Brand#42 PROMO ANODIZED STEEL 49 4 +Brand#42 PROMO BRUSHED COPPER 45 4 +Brand#42 PROMO BRUSHED STEEL 19 4 +Brand#42 PROMO BRUSHED TIN 45 4 +Brand#42 PROMO BURNISHED COPPER 45 4 +Brand#42 PROMO BURNISHED NICKEL 3 4 +Brand#42 PROMO BURNISHED STEEL 9 4 +Brand#42 PROMO BURNISHED TIN 49 4 +Brand#42 PROMO PLATED BRASS 45 4 +Brand#42 PROMO PLATED NICKEL 23 4 +Brand#42 PROMO PLATED STEEL 19 4 +Brand#42 PROMO PLATED STEEL 45 4 +Brand#42 PROMO POLISHED COPPER 36 4 +Brand#42 PROMO POLISHED NICKEL 3 4 +Brand#42 SMALL ANODIZED BRASS 23 4 +Brand#42 SMALL ANODIZED COPPER 14 4 +Brand#42 SMALL ANODIZED COPPER 19 4 +Brand#42 SMALL ANODIZED NICKEL 23 4 +Brand#42 SMALL BRUSHED TIN 49 4 +Brand#42 SMALL BURNISHED BRASS 3 4 +Brand#42 SMALL BURNISHED BRASS 36 4 +Brand#42 SMALL BURNISHED COPPER 9 4 +Brand#42 SMALL BURNISHED NICKEL 9 4 +Brand#42 SMALL BURNISHED TIN 9 4 +Brand#42 SMALL PLATED NICKEL 9 4 +Brand#42 SMALL PLATED TIN 36 4 +Brand#42 SMALL POLISHED BRASS 3 4 +Brand#42 SMALL POLISHED COPPER 36 4 +Brand#42 SMALL POLISHED NICKEL 23 4 +Brand#42 SMALL POLISHED STEEL 49 4 +Brand#42 SMALL POLISHED TIN 3 4 +Brand#42 STANDARD ANODIZED BRASS 49 4 +Brand#42 STANDARD ANODIZED COPPER 49 4 +Brand#42 STANDARD ANODIZED NICKEL 36 4 +Brand#42 STANDARD ANODIZED NICKEL 45 4 +Brand#42 STANDARD BRUSHED NICKEL 23 4 +Brand#42 STANDARD BURNISHED NICKEL 49 4 +Brand#42 STANDARD BURNISHED STEEL 3 4 +Brand#42 STANDARD BURNISHED TIN 19 4 +Brand#42 STANDARD PLATED BRASS 19 4 +Brand#42 STANDARD PLATED COPPER 9 4 +Brand#42 STANDARD PLATED NICKEL 45 4 +Brand#42 STANDARD PLATED STEEL 3 4 +Brand#42 STANDARD POLISHED BRASS 36 4 +Brand#42 STANDARD POLISHED BRASS 45 4 +Brand#42 STANDARD POLISHED COPPER 14 4 +Brand#42 STANDARD POLISHED NICKEL 45 4 +Brand#42 STANDARD POLISHED TIN 9 4 +Brand#42 STANDARD POLISHED TIN 19 4 +Brand#42 STANDARD POLISHED TIN 23 4 +Brand#42 STANDARD POLISHED TIN 36 4 +Brand#43 ECONOMY ANODIZED COPPER 19 4 +Brand#43 ECONOMY ANODIZED COPPER 45 4 +Brand#43 ECONOMY ANODIZED NICKEL 3 4 +Brand#43 ECONOMY ANODIZED NICKEL 49 4 +Brand#43 ECONOMY ANODIZED STEEL 23 4 +Brand#43 ECONOMY ANODIZED TIN 49 4 +Brand#43 ECONOMY BRUSHED BRASS 49 4 +Brand#43 ECONOMY BRUSHED COPPER 45 4 +Brand#43 ECONOMY BRUSHED NICKEL 9 4 +Brand#43 ECONOMY BURNISHED NICKEL 9 4 +Brand#43 ECONOMY BURNISHED TIN 19 4 +Brand#43 ECONOMY PLATED COPPER 36 4 +Brand#43 ECONOMY PLATED STEEL 9 4 +Brand#43 ECONOMY PLATED TIN 14 4 +Brand#43 ECONOMY PLATED TIN 19 4 +Brand#43 ECONOMY PLATED TIN 49 4 +Brand#43 ECONOMY POLISHED COPPER 19 4 +Brand#43 ECONOMY POLISHED NICKEL 36 4 +Brand#43 ECONOMY POLISHED TIN 14 4 +Brand#43 ECONOMY POLISHED TIN 45 4 +Brand#43 LARGE ANODIZED BRASS 14 4 +Brand#43 LARGE ANODIZED BRASS 36 4 +Brand#43 LARGE ANODIZED COPPER 45 4 +Brand#43 LARGE BRUSHED COPPER 3 4 +Brand#43 LARGE BRUSHED NICKEL 14 4 +Brand#43 LARGE BRUSHED NICKEL 19 4 +Brand#43 LARGE BRUSHED NICKEL 45 4 +Brand#43 LARGE BRUSHED NICKEL 49 4 +Brand#43 LARGE BURNISHED COPPER 3 4 +Brand#43 LARGE BURNISHED TIN 23 4 +Brand#43 LARGE BURNISHED TIN 45 4 +Brand#43 LARGE PLATED BRASS 45 4 +Brand#43 LARGE PLATED STEEL 14 4 +Brand#43 LARGE PLATED TIN 36 4 +Brand#43 LARGE PLATED TIN 45 4 +Brand#43 LARGE POLISHED BRASS 9 4 +Brand#43 LARGE POLISHED COPPER 9 4 +Brand#43 LARGE POLISHED COPPER 19 4 +Brand#43 LARGE POLISHED STEEL 14 4 +Brand#43 LARGE POLISHED TIN 45 4 +Brand#43 MEDIUM ANODIZED BRASS 14 4 +Brand#43 MEDIUM ANODIZED COPPER 36 4 +Brand#43 MEDIUM ANODIZED COPPER 49 4 +Brand#43 MEDIUM ANODIZED STEEL 19 4 +Brand#43 MEDIUM ANODIZED STEEL 36 4 +Brand#43 MEDIUM BRUSHED BRASS 9 4 +Brand#43 MEDIUM BRUSHED BRASS 49 4 +Brand#43 MEDIUM BRUSHED COPPER 3 4 +Brand#43 MEDIUM BRUSHED NICKEL 9 4 +Brand#43 MEDIUM BRUSHED STEEL 23 4 +Brand#43 MEDIUM BURNISHED COPPER 14 4 +Brand#43 MEDIUM BURNISHED COPPER 45 4 +Brand#43 MEDIUM BURNISHED TIN 23 4 +Brand#43 MEDIUM PLATED BRASS 3 4 +Brand#43 MEDIUM PLATED COPPER 14 4 +Brand#43 MEDIUM PLATED NICKEL 36 4 +Brand#43 MEDIUM PLATED NICKEL 45 4 +Brand#43 MEDIUM PLATED TIN 49 4 +Brand#43 PROMO ANODIZED NICKEL 45 4 +Brand#43 PROMO ANODIZED TIN 14 4 +Brand#43 PROMO BRUSHED NICKEL 14 4 +Brand#43 PROMO BRUSHED STEEL 14 4 +Brand#43 PROMO BRUSHED TIN 45 4 +Brand#43 PROMO BURNISHED BRASS 49 4 +Brand#43 PROMO BURNISHED NICKEL 9 4 +Brand#43 PROMO BURNISHED STEEL 3 4 +Brand#43 PROMO BURNISHED STEEL 36 4 +Brand#43 PROMO BURNISHED TIN 36 4 +Brand#43 PROMO PLATED BRASS 19 4 +Brand#43 PROMO PLATED COPPER 45 4 +Brand#43 PROMO PLATED COPPER 49 4 +Brand#43 PROMO PLATED TIN 3 4 +Brand#43 PROMO POLISHED BRASS 19 4 +Brand#43 PROMO POLISHED BRASS 23 4 +Brand#43 PROMO POLISHED NICKEL 49 4 +Brand#43 PROMO POLISHED STEEL 14 4 +Brand#43 PROMO POLISHED STEEL 19 4 +Brand#43 PROMO POLISHED STEEL 23 4 +Brand#43 PROMO POLISHED STEEL 36 4 +Brand#43 SMALL ANODIZED BRASS 19 4 +Brand#43 SMALL ANODIZED NICKEL 9 4 +Brand#43 SMALL BRUSHED NICKEL 3 4 +Brand#43 SMALL BRUSHED NICKEL 9 4 +Brand#43 SMALL BURNISHED BRASS 49 4 +Brand#43 SMALL BURNISHED STEEL 23 4 +Brand#43 SMALL PLATED BRASS 14 4 +Brand#43 SMALL PLATED BRASS 36 4 +Brand#43 SMALL PLATED COPPER 23 4 +Brand#43 SMALL PLATED COPPER 49 4 +Brand#43 SMALL PLATED NICKEL 36 4 +Brand#43 SMALL PLATED NICKEL 49 4 +Brand#43 SMALL PLATED STEEL 14 4 +Brand#43 SMALL PLATED TIN 49 4 +Brand#43 SMALL POLISHED STEEL 19 4 +Brand#43 STANDARD ANODIZED BRASS 3 4 +Brand#43 STANDARD ANODIZED COPPER 49 4 +Brand#43 STANDARD ANODIZED NICKEL 14 4 +Brand#43 STANDARD BRUSHED TIN 14 4 +Brand#43 STANDARD BURNISHED BRASS 23 4 +Brand#43 STANDARD BURNISHED STEEL 19 4 +Brand#43 STANDARD BURNISHED STEEL 23 4 +Brand#43 STANDARD PLATED BRASS 9 4 +Brand#43 STANDARD PLATED BRASS 19 4 +Brand#43 STANDARD PLATED BRASS 49 4 +Brand#43 STANDARD PLATED COPPER 36 4 +Brand#43 STANDARD PLATED NICKEL 14 4 +Brand#43 STANDARD PLATED NICKEL 19 4 +Brand#43 STANDARD PLATED TIN 14 4 +Brand#43 STANDARD POLISHED BRASS 23 4 +Brand#43 STANDARD POLISHED TIN 9 4 +Brand#44 ECONOMY ANODIZED BRASS 3 4 +Brand#44 ECONOMY ANODIZED BRASS 45 4 +Brand#44 ECONOMY ANODIZED NICKEL 36 4 +Brand#44 ECONOMY ANODIZED STEEL 19 4 +Brand#44 ECONOMY BRUSHED COPPER 23 4 +Brand#44 ECONOMY BRUSHED TIN 49 4 +Brand#44 ECONOMY BURNISHED COPPER 19 4 +Brand#44 ECONOMY BURNISHED STEEL 45 4 +Brand#44 ECONOMY PLATED STEEL 19 4 +Brand#44 ECONOMY PLATED STEEL 23 4 +Brand#44 ECONOMY PLATED TIN 23 4 +Brand#44 ECONOMY POLISHED BRASS 23 4 +Brand#44 ECONOMY POLISHED COPPER 9 4 +Brand#44 ECONOMY POLISHED COPPER 45 4 +Brand#44 ECONOMY POLISHED NICKEL 14 4 +Brand#44 ECONOMY POLISHED NICKEL 23 4 +Brand#44 ECONOMY POLISHED STEEL 49 4 +Brand#44 ECONOMY POLISHED TIN 23 4 +Brand#44 ECONOMY POLISHED TIN 36 4 +Brand#44 LARGE ANODIZED BRASS 19 4 +Brand#44 LARGE ANODIZED TIN 3 4 +Brand#44 LARGE ANODIZED TIN 14 4 +Brand#44 LARGE BRUSHED TIN 3 4 +Brand#44 LARGE BRUSHED TIN 23 4 +Brand#44 LARGE BURNISHED BRASS 23 4 +Brand#44 LARGE BURNISHED BRASS 49 4 +Brand#44 LARGE BURNISHED COPPER 3 4 +Brand#44 LARGE BURNISHED COPPER 19 4 +Brand#44 LARGE BURNISHED COPPER 36 4 +Brand#44 LARGE BURNISHED TIN 14 4 +Brand#44 LARGE PLATED BRASS 9 4 +Brand#44 LARGE PLATED BRASS 49 4 +Brand#44 LARGE PLATED NICKEL 14 4 +Brand#44 LARGE PLATED STEEL 14 4 +Brand#44 LARGE PLATED TIN 19 4 +Brand#44 LARGE PLATED TIN 23 4 +Brand#44 LARGE POLISHED STEEL 23 4 +Brand#44 LARGE POLISHED STEEL 49 4 +Brand#44 MEDIUM ANODIZED COPPER 45 4 +Brand#44 MEDIUM ANODIZED NICKEL 45 4 +Brand#44 MEDIUM BRUSHED BRASS 49 4 +Brand#44 MEDIUM BRUSHED COPPER 3 4 +Brand#44 MEDIUM BRUSHED COPPER 45 4 +Brand#44 MEDIUM BRUSHED STEEL 19 4 +Brand#44 MEDIUM BRUSHED TIN 49 4 +Brand#44 MEDIUM BURNISHED COPPER 45 4 +Brand#44 MEDIUM BURNISHED NICKEL 23 4 +Brand#44 MEDIUM BURNISHED TIN 23 4 +Brand#44 MEDIUM PLATED COPPER 14 4 +Brand#44 PROMO ANODIZED COPPER 23 4 +Brand#44 PROMO ANODIZED STEEL 36 4 +Brand#44 PROMO BRUSHED COPPER 23 4 +Brand#44 PROMO BRUSHED COPPER 36 4 +Brand#44 PROMO BRUSHED TIN 19 4 +Brand#44 PROMO PLATED BRASS 3 4 +Brand#44 PROMO PLATED COPPER 36 4 +Brand#44 PROMO PLATED STEEL 3 4 +Brand#44 PROMO PLATED STEEL 36 4 +Brand#44 PROMO PLATED STEEL 49 4 +Brand#44 PROMO POLISHED BRASS 3 4 +Brand#44 PROMO POLISHED BRASS 19 4 +Brand#44 PROMO POLISHED COPPER 45 4 +Brand#44 PROMO POLISHED STEEL 36 4 +Brand#44 PROMO POLISHED TIN 9 4 +Brand#44 SMALL ANODIZED COPPER 23 4 +Brand#44 SMALL ANODIZED STEEL 23 4 +Brand#44 SMALL ANODIZED TIN 45 4 +Brand#44 SMALL BRUSHED COPPER 14 4 +Brand#44 SMALL BRUSHED STEEL 45 4 +Brand#44 SMALL BURNISHED COPPER 14 4 +Brand#44 SMALL BURNISHED COPPER 49 4 +Brand#44 SMALL BURNISHED NICKEL 14 4 +Brand#44 SMALL BURNISHED STEEL 23 4 +Brand#44 SMALL BURNISHED TIN 49 4 +Brand#44 SMALL PLATED BRASS 36 4 +Brand#44 SMALL PLATED COPPER 19 4 +Brand#44 SMALL PLATED NICKEL 3 4 +Brand#44 SMALL POLISHED COPPER 3 4 +Brand#44 SMALL POLISHED COPPER 49 4 +Brand#44 SMALL POLISHED STEEL 3 4 +Brand#44 STANDARD ANODIZED BRASS 3 4 +Brand#44 STANDARD ANODIZED COPPER 3 4 +Brand#44 STANDARD ANODIZED NICKEL 3 4 +Brand#44 STANDARD ANODIZED NICKEL 36 4 +Brand#44 STANDARD ANODIZED STEEL 14 4 +Brand#44 STANDARD ANODIZED TIN 3 4 +Brand#44 STANDARD ANODIZED TIN 9 4 +Brand#44 STANDARD ANODIZED TIN 36 4 +Brand#44 STANDARD BRUSHED COPPER 36 4 +Brand#44 STANDARD BRUSHED COPPER 45 4 +Brand#44 STANDARD BRUSHED TIN 9 4 +Brand#44 STANDARD BRUSHED TIN 49 4 +Brand#44 STANDARD BURNISHED COPPER 9 4 +Brand#44 STANDARD BURNISHED STEEL 23 4 +Brand#44 STANDARD PLATED BRASS 14 4 +Brand#44 STANDARD PLATED BRASS 23 4 +Brand#44 STANDARD PLATED BRASS 49 4 +Brand#44 STANDARD PLATED COPPER 14 4 +Brand#44 STANDARD POLISHED NICKEL 19 4 +Brand#44 STANDARD POLISHED TIN 9 4 +Brand#51 ECONOMY ANODIZED BRASS 9 4 +Brand#51 ECONOMY ANODIZED BRASS 23 4 +Brand#51 ECONOMY ANODIZED NICKEL 3 4 +Brand#51 ECONOMY ANODIZED NICKEL 23 4 +Brand#51 ECONOMY ANODIZED STEEL 19 4 +Brand#51 ECONOMY ANODIZED STEEL 23 4 +Brand#51 ECONOMY ANODIZED STEEL 49 4 +Brand#51 ECONOMY BRUSHED BRASS 3 4 +Brand#51 ECONOMY BRUSHED BRASS 49 4 +Brand#51 ECONOMY BRUSHED NICKEL 14 4 +Brand#51 ECONOMY BRUSHED STEEL 45 4 +Brand#51 ECONOMY BRUSHED TIN 36 4 +Brand#51 ECONOMY BURNISHED BRASS 14 4 +Brand#51 ECONOMY BURNISHED COPPER 45 4 +Brand#51 ECONOMY PLATED NICKEL 49 4 +Brand#51 ECONOMY PLATED TIN 36 4 +Brand#51 ECONOMY POLISHED COPPER 9 4 +Brand#51 ECONOMY POLISHED STEEL 14 4 +Brand#51 ECONOMY POLISHED STEEL 49 4 +Brand#51 LARGE ANODIZED COPPER 9 4 +Brand#51 LARGE ANODIZED COPPER 49 4 +Brand#51 LARGE ANODIZED NICKEL 14 4 +Brand#51 LARGE ANODIZED STEEL 36 4 +Brand#51 LARGE BRUSHED NICKEL 3 4 +Brand#51 LARGE BRUSHED NICKEL 9 4 +Brand#51 LARGE BURNISHED BRASS 19 4 +Brand#51 LARGE BURNISHED BRASS 36 4 +Brand#51 LARGE BURNISHED COPPER 14 4 +Brand#51 LARGE BURNISHED NICKEL 14 4 +Brand#51 LARGE PLATED BRASS 36 4 +Brand#51 LARGE POLISHED COPPER 14 4 +Brand#51 LARGE POLISHED NICKEL 23 4 +Brand#51 LARGE POLISHED NICKEL 36 4 +Brand#51 LARGE POLISHED STEEL 19 4 +Brand#51 MEDIUM ANODIZED COPPER 9 4 +Brand#51 MEDIUM ANODIZED STEEL 3 4 +Brand#51 MEDIUM BRUSHED BRASS 36 4 +Brand#51 MEDIUM BRUSHED BRASS 45 4 +Brand#51 MEDIUM BRUSHED STEEL 3 4 +Brand#51 MEDIUM BRUSHED TIN 36 4 +Brand#51 MEDIUM BURNISHED NICKEL 3 4 +Brand#51 MEDIUM BURNISHED NICKEL 36 4 +Brand#51 MEDIUM BURNISHED STEEL 14 4 +Brand#51 MEDIUM BURNISHED TIN 9 4 +Brand#51 MEDIUM PLATED STEEL 19 4 +Brand#51 MEDIUM PLATED TIN 3 4 +Brand#51 PROMO ANODIZED NICKEL 14 4 +Brand#51 PROMO ANODIZED STEEL 23 4 +Brand#51 PROMO ANODIZED TIN 19 4 +Brand#51 PROMO BRUSHED BRASS 23 4 +Brand#51 PROMO BRUSHED COPPER 45 4 +Brand#51 PROMO BRUSHED STEEL 45 4 +Brand#51 PROMO BRUSHED TIN 9 4 +Brand#51 PROMO BURNISHED BRASS 19 4 +Brand#51 PROMO BURNISHED BRASS 23 4 +Brand#51 PROMO BURNISHED NICKEL 14 4 +Brand#51 PROMO PLATED BRASS 3 4 +Brand#51 PROMO PLATED BRASS 23 4 +Brand#51 PROMO PLATED TIN 19 4 +Brand#51 PROMO PLATED TIN 23 4 +Brand#51 PROMO POLISHED BRASS 23 4 +Brand#51 PROMO POLISHED COPPER 9 4 +Brand#51 PROMO POLISHED NICKEL 9 4 +Brand#51 PROMO POLISHED STEEL 49 4 +Brand#51 SMALL ANODIZED STEEL 14 4 +Brand#51 SMALL BRUSHED BRASS 23 4 +Brand#51 SMALL BRUSHED TIN 19 4 +Brand#51 SMALL BURNISHED NICKEL 23 4 +Brand#51 SMALL PLATED COPPER 49 4 +Brand#51 SMALL PLATED NICKEL 3 4 +Brand#51 SMALL PLATED NICKEL 14 4 +Brand#51 SMALL PLATED STEEL 45 4 +Brand#51 SMALL POLISHED NICKEL 14 4 +Brand#51 SMALL POLISHED NICKEL 23 4 +Brand#51 SMALL POLISHED STEEL 3 4 +Brand#51 SMALL POLISHED STEEL 19 4 +Brand#51 SMALL POLISHED STEEL 49 4 +Brand#51 STANDARD ANODIZED NICKEL 3 4 +Brand#51 STANDARD ANODIZED NICKEL 49 4 +Brand#51 STANDARD BRUSHED BRASS 3 4 +Brand#51 STANDARD BRUSHED COPPER 3 4 +Brand#51 STANDARD BRUSHED NICKEL 19 4 +Brand#51 STANDARD BRUSHED STEEL 36 4 +Brand#51 STANDARD BURNISHED COPPER 19 4 +Brand#51 STANDARD BURNISHED NICKEL 49 4 +Brand#51 STANDARD BURNISHED STEEL 23 4 +Brand#51 STANDARD BURNISHED STEEL 36 4 +Brand#51 STANDARD BURNISHED TIN 45 4 +Brand#51 STANDARD PLATED BRASS 36 4 +Brand#51 STANDARD PLATED BRASS 49 4 +Brand#51 STANDARD PLATED COPPER 14 4 +Brand#51 STANDARD PLATED COPPER 23 4 +Brand#51 STANDARD POLISHED BRASS 14 4 +Brand#51 STANDARD POLISHED BRASS 45 4 +Brand#51 STANDARD POLISHED STEEL 36 4 +Brand#51 STANDARD POLISHED STEEL 49 4 +Brand#51 STANDARD POLISHED TIN 45 4 +Brand#52 ECONOMY ANODIZED BRASS 14 4 +Brand#52 ECONOMY ANODIZED BRASS 23 4 +Brand#52 ECONOMY ANODIZED COPPER 36 4 +Brand#52 ECONOMY ANODIZED NICKEL 49 4 +Brand#52 ECONOMY ANODIZED STEEL 19 4 +Brand#52 ECONOMY BRUSHED COPPER 49 4 +Brand#52 ECONOMY BURNISHED BRASS 36 4 +Brand#52 ECONOMY BURNISHED COPPER 19 4 +Brand#52 ECONOMY BURNISHED COPPER 45 4 +Brand#52 ECONOMY BURNISHED NICKEL 19 4 +Brand#52 ECONOMY BURNISHED STEEL 36 4 +Brand#52 ECONOMY PLATED TIN 14 4 +Brand#52 ECONOMY PLATED TIN 23 4 +Brand#52 ECONOMY POLISHED BRASS 23 4 +Brand#52 ECONOMY POLISHED BRASS 45 4 +Brand#52 ECONOMY POLISHED NICKEL 36 4 +Brand#52 ECONOMY POLISHED STEEL 49 4 +Brand#52 LARGE ANODIZED COPPER 14 4 +Brand#52 LARGE ANODIZED NICKEL 3 4 +Brand#52 LARGE ANODIZED NICKEL 45 4 +Brand#52 LARGE ANODIZED TIN 45 4 +Brand#52 LARGE BRUSHED COPPER 19 4 +Brand#52 LARGE BRUSHED NICKEL 3 4 +Brand#52 LARGE BRUSHED NICKEL 19 4 +Brand#52 LARGE BRUSHED NICKEL 23 4 +Brand#52 LARGE BRUSHED STEEL 49 4 +Brand#52 LARGE BRUSHED TIN 14 4 +Brand#52 LARGE BURNISHED NICKEL 9 4 +Brand#52 LARGE BURNISHED TIN 23 4 +Brand#52 LARGE BURNISHED TIN 45 4 +Brand#52 LARGE PLATED BRASS 14 4 +Brand#52 LARGE PLATED COPPER 14 4 +Brand#52 LARGE PLATED COPPER 19 4 +Brand#52 LARGE PLATED NICKEL 45 4 +Brand#52 LARGE PLATED STEEL 9 4 +Brand#52 LARGE PLATED TIN 9 4 +Brand#52 LARGE POLISHED NICKEL 19 4 +Brand#52 LARGE POLISHED NICKEL 23 4 +Brand#52 LARGE POLISHED NICKEL 36 4 +Brand#52 LARGE POLISHED TIN 9 4 +Brand#52 MEDIUM ANODIZED COPPER 36 4 +Brand#52 MEDIUM ANODIZED STEEL 14 4 +Brand#52 MEDIUM ANODIZED TIN 3 4 +Brand#52 MEDIUM ANODIZED TIN 49 4 +Brand#52 MEDIUM BRUSHED COPPER 9 4 +Brand#52 MEDIUM BRUSHED NICKEL 9 4 +Brand#52 MEDIUM BRUSHED STEEL 23 4 +Brand#52 MEDIUM BRUSHED STEEL 49 4 +Brand#52 MEDIUM BURNISHED STEEL 23 4 +Brand#52 MEDIUM BURNISHED TIN 45 4 +Brand#52 MEDIUM BURNISHED TIN 49 4 +Brand#52 MEDIUM PLATED BRASS 36 4 +Brand#52 MEDIUM PLATED STEEL 9 4 +Brand#52 MEDIUM PLATED STEEL 49 4 +Brand#52 MEDIUM PLATED TIN 9 4 +Brand#52 MEDIUM PLATED TIN 49 4 +Brand#52 PROMO ANODIZED BRASS 9 4 +Brand#52 PROMO ANODIZED BRASS 23 4 +Brand#52 PROMO ANODIZED BRASS 36 4 +Brand#52 PROMO ANODIZED NICKEL 45 4 +Brand#52 PROMO ANODIZED STEEL 36 4 +Brand#52 PROMO BRUSHED COPPER 3 4 +Brand#52 PROMO BRUSHED NICKEL 3 4 +Brand#52 PROMO BRUSHED NICKEL 49 4 +Brand#52 PROMO BRUSHED STEEL 14 4 +Brand#52 PROMO BRUSHED TIN 3 4 +Brand#52 PROMO BRUSHED TIN 19 4 +Brand#52 PROMO BRUSHED TIN 36 4 +Brand#52 PROMO BURNISHED COPPER 49 4 +Brand#52 PROMO BURNISHED NICKEL 9 4 +Brand#52 PROMO BURNISHED STEEL 9 4 +Brand#52 PROMO BURNISHED STEEL 23 4 +Brand#52 PROMO BURNISHED TIN 19 4 +Brand#52 PROMO BURNISHED TIN 36 4 +Brand#52 PROMO PLATED BRASS 19 4 +Brand#52 PROMO PLATED BRASS 45 4 +Brand#52 PROMO PLATED BRASS 49 4 +Brand#52 PROMO PLATED COPPER 9 4 +Brand#52 PROMO PLATED NICKEL 3 4 +Brand#52 PROMO PLATED NICKEL 23 4 +Brand#52 PROMO POLISHED NICKEL 14 4 +Brand#52 PROMO POLISHED NICKEL 49 4 +Brand#52 PROMO POLISHED TIN 36 4 +Brand#52 SMALL ANODIZED BRASS 3 4 +Brand#52 SMALL ANODIZED BRASS 14 4 +Brand#52 SMALL ANODIZED COPPER 3 4 +Brand#52 SMALL ANODIZED NICKEL 36 4 +Brand#52 SMALL ANODIZED STEEL 9 4 +Brand#52 SMALL ANODIZED STEEL 19 4 +Brand#52 SMALL BRUSHED NICKEL 19 4 +Brand#52 SMALL BRUSHED STEEL 23 4 +Brand#52 SMALL BRUSHED TIN 14 4 +Brand#52 SMALL BRUSHED TIN 19 4 +Brand#52 SMALL BURNISHED NICKEL 14 4 +Brand#52 SMALL BURNISHED NICKEL 49 4 +Brand#52 SMALL BURNISHED TIN 9 4 +Brand#52 SMALL POLISHED BRASS 36 4 +Brand#52 SMALL POLISHED BRASS 49 4 +Brand#52 SMALL POLISHED TIN 45 4 +Brand#52 STANDARD ANODIZED BRASS 45 4 +Brand#52 STANDARD BRUSHED BRASS 23 4 +Brand#52 STANDARD BRUSHED COPPER 14 4 +Brand#52 STANDARD BRUSHED TIN 36 4 +Brand#52 STANDARD BURNISHED BRASS 49 4 +Brand#52 STANDARD BURNISHED STEEL 19 4 +Brand#52 STANDARD BURNISHED TIN 9 4 +Brand#52 STANDARD BURNISHED TIN 19 4 +Brand#52 STANDARD PLATED NICKEL 36 4 +Brand#52 STANDARD PLATED STEEL 36 4 +Brand#52 STANDARD POLISHED BRASS 36 4 +Brand#52 STANDARD POLISHED COPPER 45 4 +Brand#52 STANDARD POLISHED STEEL 19 4 +Brand#52 STANDARD POLISHED TIN 19 4 +Brand#53 ECONOMY ANODIZED BRASS 45 4 +Brand#53 ECONOMY ANODIZED COPPER 9 4 +Brand#53 ECONOMY ANODIZED NICKEL 3 4 +Brand#53 ECONOMY ANODIZED NICKEL 19 4 +Brand#53 ECONOMY ANODIZED STEEL 45 4 +Brand#53 ECONOMY ANODIZED TIN 14 4 +Brand#53 ECONOMY ANODIZED TIN 36 4 +Brand#53 ECONOMY BRUSHED TIN 45 4 +Brand#53 ECONOMY BURNISHED BRASS 14 4 +Brand#53 ECONOMY BURNISHED COPPER 45 4 +Brand#53 ECONOMY BURNISHED NICKEL 3 4 +Brand#53 ECONOMY BURNISHED NICKEL 49 4 +Brand#53 ECONOMY BURNISHED TIN 45 4 +Brand#53 ECONOMY PLATED BRASS 3 4 +Brand#53 ECONOMY PLATED NICKEL 14 4 +Brand#53 ECONOMY PLATED STEEL 23 4 +Brand#53 ECONOMY PLATED STEEL 36 4 +Brand#53 ECONOMY POLISHED TIN 36 4 +Brand#53 LARGE ANODIZED NICKEL 49 4 +Brand#53 LARGE ANODIZED STEEL 19 4 +Brand#53 LARGE BRUSHED COPPER 3 4 +Brand#53 LARGE BRUSHED COPPER 14 4 +Brand#53 LARGE BRUSHED NICKEL 23 4 +Brand#53 LARGE BRUSHED NICKEL 36 4 +Brand#53 LARGE BRUSHED TIN 36 4 +Brand#53 LARGE BURNISHED BRASS 45 4 +Brand#53 LARGE BURNISHED COPPER 19 4 +Brand#53 LARGE BURNISHED COPPER 36 4 +Brand#53 LARGE BURNISHED NICKEL 23 4 +Brand#53 LARGE BURNISHED STEEL 19 4 +Brand#53 LARGE BURNISHED STEEL 23 4 +Brand#53 LARGE PLATED BRASS 9 4 +Brand#53 LARGE PLATED BRASS 45 4 +Brand#53 LARGE PLATED BRASS 49 4 +Brand#53 LARGE PLATED COPPER 23 4 +Brand#53 LARGE PLATED NICKEL 23 4 +Brand#53 LARGE PLATED NICKEL 49 4 +Brand#53 LARGE PLATED STEEL 49 4 +Brand#53 LARGE PLATED TIN 14 4 +Brand#53 LARGE POLISHED COPPER 49 4 +Brand#53 LARGE POLISHED STEEL 36 4 +Brand#53 LARGE POLISHED TIN 9 4 +Brand#53 MEDIUM ANODIZED BRASS 23 4 +Brand#53 MEDIUM ANODIZED STEEL 14 4 +Brand#53 MEDIUM ANODIZED STEEL 36 4 +Brand#53 MEDIUM ANODIZED TIN 3 4 +Brand#53 MEDIUM ANODIZED TIN 9 4 +Brand#53 MEDIUM BRUSHED BRASS 3 4 +Brand#53 MEDIUM BRUSHED COPPER 3 4 +Brand#53 MEDIUM BRUSHED NICKEL 14 4 +Brand#53 MEDIUM BRUSHED NICKEL 36 4 +Brand#53 MEDIUM BRUSHED NICKEL 49 4 +Brand#53 MEDIUM BRUSHED STEEL 45 4 +Brand#53 MEDIUM BURNISHED BRASS 3 4 +Brand#53 MEDIUM BURNISHED BRASS 36 4 +Brand#53 MEDIUM BURNISHED TIN 9 4 +Brand#53 MEDIUM BURNISHED TIN 14 4 +Brand#53 MEDIUM BURNISHED TIN 36 4 +Brand#53 MEDIUM PLATED BRASS 23 4 +Brand#53 MEDIUM PLATED COPPER 14 4 +Brand#53 MEDIUM PLATED NICKEL 45 4 +Brand#53 MEDIUM PLATED TIN 19 4 +Brand#53 MEDIUM PLATED TIN 45 4 +Brand#53 PROMO ANODIZED BRASS 36 4 +Brand#53 PROMO ANODIZED NICKEL 3 4 +Brand#53 PROMO ANODIZED NICKEL 19 4 +Brand#53 PROMO BRUSHED BRASS 45 4 +Brand#53 PROMO BRUSHED COPPER 3 4 +Brand#53 PROMO BRUSHED COPPER 23 4 +Brand#53 PROMO BRUSHED COPPER 45 4 +Brand#53 PROMO BURNISHED BRASS 23 4 +Brand#53 PROMO BURNISHED BRASS 36 4 +Brand#53 PROMO BURNISHED NICKEL 23 4 +Brand#53 PROMO BURNISHED STEEL 23 4 +Brand#53 PROMO BURNISHED STEEL 49 4 +Brand#53 PROMO PLATED TIN 19 4 +Brand#53 PROMO PLATED TIN 23 4 +Brand#53 PROMO PLATED TIN 36 4 +Brand#53 PROMO POLISHED STEEL 23 4 +Brand#53 PROMO POLISHED TIN 3 4 +Brand#53 SMALL ANODIZED COPPER 23 4 +Brand#53 SMALL ANODIZED COPPER 36 4 +Brand#53 SMALL ANODIZED COPPER 49 4 +Brand#53 SMALL ANODIZED NICKEL 36 4 +Brand#53 SMALL BRUSHED BRASS 36 4 +Brand#53 SMALL BRUSHED COPPER 3 4 +Brand#53 SMALL BRUSHED TIN 3 4 +Brand#53 SMALL BRUSHED TIN 36 4 +Brand#53 SMALL BURNISHED BRASS 9 4 +Brand#53 SMALL BURNISHED BRASS 49 4 +Brand#53 SMALL BURNISHED COPPER 19 4 +Brand#53 SMALL BURNISHED COPPER 45 4 +Brand#53 SMALL PLATED BRASS 9 4 +Brand#53 SMALL PLATED COPPER 3 4 +Brand#53 SMALL PLATED NICKEL 14 4 +Brand#53 SMALL POLISHED NICKEL 19 4 +Brand#53 SMALL POLISHED STEEL 36 4 +Brand#53 SMALL POLISHED TIN 23 4 +Brand#53 STANDARD ANODIZED BRASS 14 4 +Brand#53 STANDARD ANODIZED NICKEL 9 4 +Brand#53 STANDARD ANODIZED NICKEL 23 4 +Brand#53 STANDARD ANODIZED NICKEL 45 4 +Brand#53 STANDARD ANODIZED STEEL 45 4 +Brand#53 STANDARD BRUSHED COPPER 3 4 +Brand#53 STANDARD BRUSHED NICKEL 23 4 +Brand#53 STANDARD BRUSHED TIN 14 4 +Brand#53 STANDARD BURNISHED NICKEL 49 4 +Brand#53 STANDARD BURNISHED STEEL 9 4 +Brand#53 STANDARD PLATED BRASS 36 4 +Brand#53 STANDARD PLATED COPPER 45 4 +Brand#53 STANDARD PLATED NICKEL 36 4 +Brand#53 STANDARD PLATED STEEL 3 4 +Brand#53 STANDARD PLATED STEEL 49 4 +Brand#53 STANDARD PLATED TIN 23 4 +Brand#53 STANDARD POLISHED STEEL 3 4 +Brand#54 ECONOMY ANODIZED BRASS 9 4 +Brand#54 ECONOMY ANODIZED BRASS 45 4 +Brand#54 ECONOMY ANODIZED COPPER 9 4 +Brand#54 ECONOMY ANODIZED STEEL 19 4 +Brand#54 ECONOMY BRUSHED BRASS 45 4 +Brand#54 ECONOMY BRUSHED NICKEL 19 4 +Brand#54 ECONOMY BRUSHED STEEL 3 4 +Brand#54 ECONOMY BRUSHED TIN 19 4 +Brand#54 ECONOMY BURNISHED BRASS 45 4 +Brand#54 ECONOMY BURNISHED COPPER 14 4 +Brand#54 ECONOMY BURNISHED NICKEL 9 4 +Brand#54 ECONOMY BURNISHED NICKEL 36 4 +Brand#54 ECONOMY BURNISHED STEEL 36 4 +Brand#54 ECONOMY BURNISHED TIN 9 4 +Brand#54 ECONOMY BURNISHED TIN 14 4 +Brand#54 ECONOMY BURNISHED TIN 23 4 +Brand#54 ECONOMY PLATED TIN 23 4 +Brand#54 ECONOMY POLISHED BRASS 9 4 +Brand#54 ECONOMY POLISHED BRASS 19 4 +Brand#54 ECONOMY POLISHED COPPER 23 4 +Brand#54 ECONOMY POLISHED STEEL 23 4 +Brand#54 ECONOMY POLISHED TIN 3 4 +Brand#54 LARGE ANODIZED BRASS 14 4 +Brand#54 LARGE ANODIZED BRASS 49 4 +Brand#54 LARGE ANODIZED TIN 9 4 +Brand#54 LARGE BRUSHED BRASS 14 4 +Brand#54 LARGE BRUSHED STEEL 9 4 +Brand#54 LARGE BRUSHED STEEL 23 4 +Brand#54 LARGE BRUSHED TIN 14 4 +Brand#54 LARGE BURNISHED BRASS 49 4 +Brand#54 LARGE BURNISHED COPPER 19 4 +Brand#54 LARGE BURNISHED NICKEL 14 4 +Brand#54 LARGE BURNISHED TIN 14 4 +Brand#54 LARGE PLATED BRASS 19 4 +Brand#54 LARGE PLATED BRASS 23 4 +Brand#54 LARGE POLISHED BRASS 19 4 +Brand#54 LARGE POLISHED BRASS 23 4 +Brand#54 LARGE POLISHED NICKEL 3 4 +Brand#54 LARGE POLISHED NICKEL 14 4 +Brand#54 LARGE POLISHED STEEL 19 4 +Brand#54 LARGE POLISHED TIN 3 4 +Brand#54 LARGE POLISHED TIN 9 4 +Brand#54 LARGE POLISHED TIN 36 4 +Brand#54 MEDIUM ANODIZED NICKEL 9 4 +Brand#54 MEDIUM ANODIZED NICKEL 14 4 +Brand#54 MEDIUM ANODIZED NICKEL 36 4 +Brand#54 MEDIUM BRUSHED NICKEL 9 4 +Brand#54 MEDIUM BRUSHED NICKEL 19 4 +Brand#54 MEDIUM BURNISHED STEEL 3 4 +Brand#54 MEDIUM BURNISHED STEEL 19 4 +Brand#54 MEDIUM BURNISHED STEEL 23 4 +Brand#54 MEDIUM PLATED BRASS 3 4 +Brand#54 MEDIUM PLATED NICKEL 45 4 +Brand#54 PROMO ANODIZED NICKEL 45 4 +Brand#54 PROMO BRUSHED BRASS 3 4 +Brand#54 PROMO BRUSHED STEEL 23 4 +Brand#54 PROMO BRUSHED TIN 14 4 +Brand#54 PROMO BURNISHED COPPER 49 4 +Brand#54 PROMO BURNISHED TIN 9 4 +Brand#54 PROMO PLATED BRASS 14 4 +Brand#54 PROMO PLATED NICKEL 3 4 +Brand#54 PROMO PLATED STEEL 19 4 +Brand#54 PROMO PLATED TIN 23 4 +Brand#54 PROMO PLATED TIN 49 4 +Brand#54 PROMO POLISHED BRASS 3 4 +Brand#54 PROMO POLISHED NICKEL 9 4 +Brand#54 PROMO POLISHED TIN 49 4 +Brand#54 SMALL ANODIZED COPPER 49 4 +Brand#54 SMALL ANODIZED NICKEL 9 4 +Brand#54 SMALL ANODIZED NICKEL 36 4 +Brand#54 SMALL ANODIZED TIN 19 4 +Brand#54 SMALL BRUSHED BRASS 14 4 +Brand#54 SMALL BRUSHED BRASS 19 4 +Brand#54 SMALL BRUSHED BRASS 36 4 +Brand#54 SMALL BRUSHED COPPER 3 4 +Brand#54 SMALL BRUSHED COPPER 9 4 +Brand#54 SMALL BRUSHED COPPER 19 4 +Brand#54 SMALL BRUSHED TIN 9 4 +Brand#54 SMALL BRUSHED TIN 36 4 +Brand#54 SMALL BURNISHED COPPER 9 4 +Brand#54 SMALL BURNISHED COPPER 36 4 +Brand#54 SMALL BURNISHED STEEL 14 4 +Brand#54 SMALL BURNISHED STEEL 19 4 +Brand#54 SMALL BURNISHED TIN 9 4 +Brand#54 SMALL BURNISHED TIN 36 4 +Brand#54 SMALL PLATED BRASS 23 4 +Brand#54 SMALL PLATED COPPER 9 4 +Brand#54 SMALL PLATED COPPER 36 4 +Brand#54 SMALL PLATED COPPER 49 4 +Brand#54 SMALL PLATED NICKEL 9 4 +Brand#54 SMALL PLATED TIN 23 4 +Brand#54 SMALL PLATED TIN 36 4 +Brand#54 SMALL POLISHED BRASS 9 4 +Brand#54 SMALL POLISHED COPPER 9 4 +Brand#54 SMALL POLISHED TIN 9 4 +Brand#54 STANDARD ANODIZED BRASS 3 4 +Brand#54 STANDARD ANODIZED BRASS 9 4 +Brand#54 STANDARD ANODIZED COPPER 3 4 +Brand#54 STANDARD ANODIZED TIN 3 4 +Brand#54 STANDARD BRUSHED COPPER 3 4 +Brand#54 STANDARD BRUSHED NICKEL 45 4 +Brand#54 STANDARD BRUSHED TIN 36 4 +Brand#54 STANDARD BURNISHED BRASS 23 4 +Brand#54 STANDARD BURNISHED BRASS 49 4 +Brand#54 STANDARD BURNISHED COPPER 19 4 +Brand#54 STANDARD BURNISHED NICKEL 23 4 +Brand#54 STANDARD BURNISHED STEEL 45 4 +Brand#54 STANDARD PLATED BRASS 3 4 +Brand#54 STANDARD PLATED BRASS 45 4 +Brand#54 STANDARD PLATED BRASS 49 4 +Brand#54 STANDARD PLATED STEEL 3 4 +Brand#54 STANDARD POLISHED BRASS 36 4 +Brand#54 STANDARD POLISHED STEEL 3 4 +Brand#54 STANDARD POLISHED STEEL 14 4 +Brand#54 STANDARD POLISHED STEEL 45 4 +Brand#55 ECONOMY ANODIZED BRASS 3 4 +Brand#55 ECONOMY BRUSHED BRASS 19 4 +Brand#55 ECONOMY BRUSHED COPPER 9 4 +Brand#55 ECONOMY BRUSHED COPPER 23 4 +Brand#55 ECONOMY BRUSHED COPPER 45 4 +Brand#55 ECONOMY BRUSHED STEEL 23 4 +Brand#55 ECONOMY BURNISHED NICKEL 36 4 +Brand#55 ECONOMY BURNISHED NICKEL 45 4 +Brand#55 ECONOMY BURNISHED TIN 45 4 +Brand#55 ECONOMY PLATED NICKEL 19 4 +Brand#55 ECONOMY POLISHED NICKEL 9 4 +Brand#55 LARGE BRUSHED BRASS 23 4 +Brand#55 LARGE BRUSHED BRASS 45 4 +Brand#55 LARGE BRUSHED COPPER 49 4 +Brand#55 LARGE BRUSHED NICKEL 9 4 +Brand#55 LARGE BRUSHED NICKEL 14 4 +Brand#55 LARGE BURNISHED BRASS 3 4 +Brand#55 LARGE BURNISHED COPPER 14 4 +Brand#55 LARGE BURNISHED COPPER 36 4 +Brand#55 LARGE PLATED BRASS 45 4 +Brand#55 LARGE PLATED COPPER 19 4 +Brand#55 LARGE PLATED NICKEL 9 4 +Brand#55 LARGE PLATED STEEL 9 4 +Brand#55 LARGE PLATED TIN 9 4 +Brand#55 LARGE PLATED TIN 14 4 +Brand#55 LARGE PLATED TIN 23 4 +Brand#55 LARGE POLISHED NICKEL 3 4 +Brand#55 LARGE POLISHED STEEL 36 4 +Brand#55 LARGE POLISHED STEEL 45 4 +Brand#55 MEDIUM ANODIZED COPPER 9 4 +Brand#55 MEDIUM BRUSHED BRASS 3 4 +Brand#55 MEDIUM BRUSHED NICKEL 23 4 +Brand#55 MEDIUM BRUSHED TIN 45 4 +Brand#55 MEDIUM BURNISHED BRASS 23 4 +Brand#55 MEDIUM BURNISHED COPPER 36 4 +Brand#55 MEDIUM BURNISHED NICKEL 3 4 +Brand#55 MEDIUM BURNISHED STEEL 14 4 +Brand#55 MEDIUM BURNISHED STEEL 36 4 +Brand#55 MEDIUM PLATED NICKEL 23 4 +Brand#55 PROMO ANODIZED COPPER 14 4 +Brand#55 PROMO ANODIZED COPPER 49 4 +Brand#55 PROMO ANODIZED STEEL 36 4 +Brand#55 PROMO ANODIZED TIN 23 4 +Brand#55 PROMO BRUSHED NICKEL 36 4 +Brand#55 PROMO BRUSHED STEEL 3 4 +Brand#55 PROMO BRUSHED STEEL 36 4 +Brand#55 PROMO BRUSHED TIN 9 4 +Brand#55 PROMO BURNISHED COPPER 3 4 +Brand#55 PROMO BURNISHED STEEL 14 4 +Brand#55 PROMO BURNISHED TIN 23 4 +Brand#55 PROMO BURNISHED TIN 49 4 +Brand#55 PROMO PLATED COPPER 3 4 +Brand#55 PROMO PLATED NICKEL 3 4 +Brand#55 PROMO PLATED NICKEL 14 4 +Brand#55 PROMO PLATED NICKEL 23 4 +Brand#55 PROMO PLATED TIN 3 4 +Brand#55 PROMO POLISHED COPPER 3 4 +Brand#55 SMALL ANODIZED BRASS 19 4 +Brand#55 SMALL ANODIZED NICKEL 45 4 +Brand#55 SMALL BRUSHED COPPER 14 4 +Brand#55 SMALL BRUSHED COPPER 45 4 +Brand#55 SMALL BURNISHED BRASS 14 4 +Brand#55 SMALL BURNISHED TIN 3 4 +Brand#55 SMALL BURNISHED TIN 49 4 +Brand#55 SMALL PLATED BRASS 45 4 +Brand#55 SMALL PLATED COPPER 23 4 +Brand#55 SMALL PLATED COPPER 36 4 +Brand#55 SMALL PLATED COPPER 45 4 +Brand#55 SMALL PLATED COPPER 49 4 +Brand#55 SMALL PLATED NICKEL 9 4 +Brand#55 SMALL PLATED STEEL 9 4 +Brand#55 SMALL PLATED TIN 14 4 +Brand#55 SMALL PLATED TIN 36 4 +Brand#55 SMALL POLISHED NICKEL 45 4 +Brand#55 SMALL POLISHED STEEL 19 4 +Brand#55 SMALL POLISHED TIN 19 4 +Brand#55 STANDARD ANODIZED BRASS 36 4 +Brand#55 STANDARD ANODIZED BRASS 49 4 +Brand#55 STANDARD ANODIZED STEEL 19 4 +Brand#55 STANDARD ANODIZED TIN 36 4 +Brand#55 STANDARD ANODIZED TIN 49 4 +Brand#55 STANDARD BRUSHED BRASS 36 4 +Brand#55 STANDARD BRUSHED COPPER 3 4 +Brand#55 STANDARD BRUSHED COPPER 9 4 +Brand#55 STANDARD BRUSHED COPPER 23 4 +Brand#55 STANDARD BRUSHED STEEL 19 4 +Brand#55 STANDARD BRUSHED TIN 23 4 +Brand#55 STANDARD BRUSHED TIN 45 4 +Brand#55 STANDARD BURNISHED BRASS 19 4 +Brand#55 STANDARD BURNISHED NICKEL 3 4 +Brand#55 STANDARD BURNISHED NICKEL 36 4 +Brand#55 STANDARD BURNISHED STEEL 19 4 +Brand#55 STANDARD PLATED BRASS 23 4 +Brand#55 STANDARD PLATED NICKEL 9 4 +Brand#55 STANDARD PLATED TIN 36 4 +Brand#55 STANDARD POLISHED BRASS 3 4 +Brand#55 STANDARD POLISHED BRASS 49 4 +Brand#55 STANDARD POLISHED COPPER 19 4 +Brand#55 STANDARD POLISHED COPPER 36 4 +Brand#55 STANDARD POLISHED NICKEL 14 4 +Brand#55 STANDARD POLISHED STEEL 9 4 +Brand#55 STANDARD POLISHED STEEL 36 4 +Brand#12 LARGE BURNISHED NICKEL 14 3 +Brand#12 PROMO POLISHED TIN 3 3 +Brand#21 MEDIUM ANODIZED TIN 9 3 +Brand#22 PROMO BRUSHED BRASS 19 3 +Brand#22 PROMO BURNISHED COPPER 14 3 +Brand#43 STANDARD BRUSHED BRASS 23 3 +Brand#44 MEDIUM ANODIZED NICKEL 9 3 +Brand#53 MEDIUM BURNISHED BRASS 49 3 + diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/load.groovy b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/load.groovy new file mode 100644 index 00000000000000..d4843eee09450c --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/load.groovy @@ -0,0 +1,105 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import org.codehaus.groovy.runtime.IOGroovyMethods + +suite("regression_test_variant_github_events_p2", "nonConcurrent,p2"){ + // prepare test table + def timeout = 300000 + def delta_time = 1000 + def alter_res = "null" + def useTime = 0 + + def wait_for_latest_op_on_table_finish = { table_name, OpTimeout -> + for(int t = delta_time; t <= OpTimeout; t += delta_time){ + alter_res = sql """SHOW ALTER TABLE COLUMN WHERE TableName = "${table_name}" ORDER BY CreateTime DESC LIMIT 1;""" + alter_res = alter_res.toString() + if(alter_res.contains("FINISHED")) { + sleep(10000) // wait change table state to normal + logger.info(table_name + " latest alter job finished, detail: " + alter_res) + break + } + useTime = t + sleep(delta_time) + } + assertTrue(useTime <= OpTimeout, "wait_for_latest_op_on_table_finish timeout") + } + + def backendId_to_backendIP = [:] + def backendId_to_backendHttpPort = [:] + getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort); + def load_json_data = {table_name, file_name -> + // load the json data + streamLoad { + table "${table_name}" + + // set http request header params + set 'read_json_by_line', 'true' + set 'format', 'json' + set 'max_filter_ratio', '0.1' + set 'memtable_on_sink_node', 'true' + file file_name // import json file + time 10000 // limit inflight 10s + + // if declared a check callback, the default check condition will ignore. + // So you must check all condition + + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + logger.info("Stream load ${file_name} result: ${result}".toString()) + def json = parseJson(result) + assertEquals("success", json.Status.toLowerCase()) + // assertEquals(json.NumberTotalRows, json.NumberLoadedRows + json.NumberUnselectedRows) + assertTrue(json.NumberLoadedRows > 0 && json.LoadBytes > 0) + } + } + } + + def table_name = "github_events" + sql """DROP TABLE IF EXISTS ${table_name}""" + table_name = "github_events" + sql """ + CREATE TABLE IF NOT EXISTS ${table_name} ( + k bigint, + v variant + -- INDEX idx_var(v) USING INVERTED PROPERTIES("parser" = "english") COMMENT '' + ) + UNIQUE KEY(`k`) + DISTRIBUTED BY HASH(k) BUCKETS 4 + properties("replication_num" = "1", "disable_auto_compaction" = "true", "bloom_filter_columns" = "v", "variant_enable_flatten_nested" = "true", "inverted_index_storage_format"= "v2", "enable_unique_key_merge_on_write" = "false"); + """ + // 2015 + load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2015-01-01-0.json'}""") + load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2015-01-01-1.json'}""") + load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2015-01-01-2.json'}""") + load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2015-01-01-3.json'}""") + + // // build inverted index at middle of loading the data + // ADD INDEX + + // 2022 + load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2022-11-07-16.json'}""") + load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2022-11-07-10.json'}""") + load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2022-11-07-22.json'}""") + load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2022-11-07-23.json'}""") + + + + // // add bloom filter at the end of loading data +} diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs1.sql new file mode 100644 index 00000000000000..36046e892e0e1f --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs1.sql @@ -0,0 +1,19 @@ +insert into github_events select * from github_events; +alter table github_events ADD COLUMN var2 variant; + +SELECT + cast(v["repo"]["name"] as string), + count() AS prs, + count(distinct cast(v["actor"]["login"] as string)) AS authors +FROM github_events +WHERE (cast(v["type"] as string) = 'PullRequestEvent') AND (cast(v["payload"]["action"] as string) = 'opened') AND (cast(v["actor"]["login"] as string) IN +( + SELECT cast(v["actor"]["login"] as string) + FROM github_events + WHERE (cast(v["type"] as string) = 'PullRequestEvent') AND (cast(v["payload"]["action"] as string)= 'opened') AND (cast(v["repo"]["name"] as string) IN ('rspec/rspec-core', 'golden-warning/giraffedraft-server', 'apache/spark')) +)) AND (lower(cast(v["repo"]["name"] as string)) NOT LIKE '%clickhouse%') +GROUP BY cast(v["repo"]["name"] as string) +ORDER BY authors DESC, prs DESC, cast(v["repo"]["name"] as string) DESC +LIMIT 50; + +alter table github_events DROP COLUMN var2; diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs2.sql new file mode 100644 index 00000000000000..e9158f8246b532 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/affinityByIssuesAndPRs2.sql @@ -0,0 +1,14 @@ +SELECT + cast(v["repo"]["name"] as string), + count() AS prs, + count(distinct cast(v["actor"]["login"] as string)) AS authors +FROM github_events +WHERE (cast(v["type"] as string) = 'IssuesEvent') AND (cast(v["payload"]["action"] as string) = 'opened') AND (cast(v["actor"]["login"] as string) IN +( + SELECT cast(v["actor"]["login"] as string) + FROM github_events + WHERE (cast(v["type"] as string) = 'IssuesEvent') AND (cast(v["payload"]["action"] as string) = 'opened') AND (cast(v["repo"]["name"] as string) IN ('No-CQRT/GooGuns', 'ivolunteerph/ivolunteerph', 'Tribler/tribler')) +)) AND (lower(cast(v["repo"]["name"] as string)) NOT LIKE '%clickhouse%') +GROUP BY cast(v["repo"]["name"] as string) +ORDER BY authors DESC, prs DESC, cast(v["repo"]["name"] as string) ASC +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/authorsWithTheMostPushes.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/authorsWithTheMostPushes.sql new file mode 100644 index 00000000000000..2e8bf32009814e --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/authorsWithTheMostPushes.sql @@ -0,0 +1,9 @@ +SELECT + cast(v["actor"]["login"] as string), + count() AS c, + count(distinct cast(v["repo"]["name"] as string)) AS repos + FROM github_events + WHERE cast(v["type"] as string) = 'PushEvent' + GROUP BY cast(v["actor"]["login"] as string) + ORDER BY c DESC, 1, 3 + LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar1.sql new file mode 100644 index 00000000000000..8b2d615acd052e --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar1.sql @@ -0,0 +1 @@ +SELECT count() FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar2.sql new file mode 100644 index 00000000000000..057a410e0caeeb --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar2.sql @@ -0,0 +1 @@ +SELECT cast(v["payload"]["action"] as string), count() FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' GROUP BY cast(v["payload"]["action"] as string) \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar3.sql new file mode 100644 index 00000000000000..9b5f41288901d7 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/countingStar3.sql @@ -0,0 +1 @@ +SELECT count() FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND cast(v["repo"]["name"] as string) IN ('apache/spark', 'GunZi200/Memory-Colour', 'isohuntto/openbay', 'wasabeef/awesome-android-ui') GROUP BY cast(v["payload"]["action"] as string) \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/distributionOfRepositoriesByStarCount.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/distributionOfRepositoriesByStarCount.sql new file mode 100644 index 00000000000000..e2d987afe6510b --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/distributionOfRepositoriesByStarCount.sql @@ -0,0 +1,14 @@ +SELECT + pow(10, floor(log10(c))) AS stars, + count(distinct k) +FROM +( + SELECT + cast(v["repo"]["name"] as string) as k, + count() AS c + FROM github_events + WHERE cast(v["type"] as string) = 'WatchEvent' + GROUP BY cast(v["repo"]["name"] as string) +) t +GROUP BY stars +ORDER BY stars ASC diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/githubRoulette.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/githubRoulette.sql new file mode 100644 index 00000000000000..0b9ea42f77d8ea --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/githubRoulette.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string) FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' ORDER BY cast(v["created_at"] as datetime), cast(v["repo"]["name"] as string) LIMIT 50 \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears1.sql new file mode 100644 index 00000000000000..95389cb9a0651c --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears1.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND year(cast(v["created_at"] as datetime)) = '2015' GROUP BY cast(v["repo"]["name"] as string) ORDER BY stars DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears2.sql new file mode 100644 index 00000000000000..95389cb9a0651c --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears2.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND year(cast(v["created_at"] as datetime)) = '2015' GROUP BY cast(v["repo"]["name"] as string) ORDER BY stars DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears3.sql new file mode 100644 index 00000000000000..67b5d0d3d18969 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears3.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND year(cast(v["created_at"] as datetime)) = '2015' GROUP BY cast(v["repo"]["name"] as string) ORDER BY stars, cast(v["repo"]["name"] as string) DESC LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears4.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears4.sql new file mode 100644 index 00000000000000..95389cb9a0651c --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears4.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND year(cast(v["created_at"] as datetime)) = '2015' GROUP BY cast(v["repo"]["name"] as string) ORDER BY stars DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears5.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears5.sql new file mode 100644 index 00000000000000..95389cb9a0651c --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears5.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND year(cast(v["created_at"] as datetime)) = '2015' GROUP BY cast(v["repo"]["name"] as string) ORDER BY stars DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears6.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears6.sql new file mode 100644 index 00000000000000..95389cb9a0651c --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears6.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND year(cast(v["created_at"] as datetime)) = '2015' GROUP BY cast(v["repo"]["name"] as string) ORDER BY stars DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears7.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears7.sql new file mode 100644 index 00000000000000..ee2fbef43b3f53 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheListOfTopRepositoriesChangedOverTheYears7.sql @@ -0,0 +1,30 @@ +-- FIXME: UNSTABLE +-- SELECT +-- repo, +-- year, +-- cnt +-- FROM +-- ( +-- SELECT +-- row_number() OVER (PARTITION BY year ORDER BY cnt DESC) AS r, +-- repo, +-- year, +-- cnt +-- FROM +-- ( +-- SELECT +-- lower(cast(v["repo"]["name"] as string)) AS repo, +-- year(cast(v["created_at"] as datetime)) AS year, +-- count() AS cnt +-- FROM github_events +-- WHERE (cast(v["type"] as string) = 'WatchEvent') AND (year(cast(v["created_at"] as datetime)) >= 2015) +-- GROUP BY +-- repo, +-- year +-- ) t +-- ) t2 +-- WHERE r <= 10 +-- ORDER BY +-- year ASC, +-- cnt DESC, repo +-- \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheTotalNumberOfStarsChangedOverTime.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheTotalNumberOfStarsChangedOverTime.sql new file mode 100644 index 00000000000000..5291ab5100649a --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/howHasTheTotalNumberOfStarsChangedOverTime.sql @@ -0,0 +1,2 @@ +SELECT year(cast(v["created_at"] as datetime)) AS year, count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' GROUP BY year ORDER BY year + diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments1.sql new file mode 100644 index 00000000000000..0117055d53e7f6 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments1.sql @@ -0,0 +1 @@ +SELECT count() FROM github_events WHERE cast(v["type"] as string) = 'IssueCommentEvent' diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments2.sql new file mode 100644 index 00000000000000..25e96fe731ebc7 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments2.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() FROM github_events WHERE cast(v["type"] as string) = 'IssueCommentEvent' GROUP BY cast(v["repo"]["name"] as string) ORDER BY count() DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments3.sql new file mode 100644 index 00000000000000..c32210845e3a7b --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments3.sql @@ -0,0 +1,17 @@ +SELECT + repo_name, + comments, + issues, + round(comments / issues, 2) AS ratio +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + count() AS comments, + count(distinct cast(v["payload"]["issue"]["number"] as int)) AS issues + FROM github_events + WHERE cast(v["type"] as string) = 'IssueCommentEvent' + GROUP BY cast(v["repo"]["name"] as string) +) t +ORDER BY comments DESC, 1, 3, 4 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments4.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments4.sql new file mode 100644 index 00000000000000..ad8e5c104ccfc2 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments4.sql @@ -0,0 +1,9 @@ +SELECT + cast(v["repo"]["name"] as string), + cast(v["payload"]["issue"]["number"] as int) as number, + count() AS comments +FROM github_events +WHERE cast(v["type"] as string) = 'IssueCommentEvent' AND (cast(v["payload"]["action"] as string) = 'created') +GROUP BY cast(v["repo"]["name"] as string), number +ORDER BY comments DESC, number ASC, 1 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments5.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments5.sql new file mode 100644 index 00000000000000..0520ed0b8dc768 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments5.sql @@ -0,0 +1,9 @@ +SELECT + cast(v["repo"]["name"] as string), + cast(v["payload"]["issue"]["number"] as int) as number, + count() AS comments +FROM github_events +WHERE cast(v["type"] as string) = 'IssueCommentEvent' AND (cast(v["payload"]["action"] as string) = 'created') AND (cast(v["payload"]["issue"]["number"] as int) > 10) +GROUP BY cast(v["repo"]["name"] as string), number +ORDER BY comments DESC, cast(v["repo"]["name"] as string), number +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments6.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments6.sql new file mode 100644 index 00000000000000..edab4d50e26300 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments6.sql @@ -0,0 +1,11 @@ +SELECT + cast(v["repo"]["name"] as string), + cast(v["payload"]["issue"]["number"] as int) as number, + count() AS comments, + count(distinct cast(v["actor"]["login"] as string)) AS authors +FROM github_events +WHERE cast(v["type"] as string) = 'IssueCommentEvent' AND (cast(v["payload"]["action"] as string) = 'created') AND (cast(v["payload"]["issue"]["number"] as int) > 10) +GROUP BY cast(v["repo"]["name"] as string), number +HAVING authors >= 4 +ORDER BY comments DESC, cast(v["repo"]["name"] as string) +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments7.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments7.sql new file mode 100644 index 00000000000000..047f2d7a1d48fe --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments7.sql @@ -0,0 +1,9 @@ +SELECT + cast(v["repo"]["name"] as string), + count() AS comments, + count(distinct cast(v["actor"]["login"] as string)) AS authors +FROM github_events +WHERE cast(v["type"] as string) = 'CommitCommentEvent' +GROUP BY cast(v["repo"]["name"] as string) +ORDER BY count() DESC, 1, 3 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments8.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments8.sql new file mode 100644 index 00000000000000..e6890c1e23505f --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/issuesWithTheMostComments8.sql @@ -0,0 +1,13 @@ +-- SELECT +-- concat('https://github.com/', cast(v["repo"]["name"] as string), '/commit/', cast(v["payload"]["commit_id"] as string)) URL, +-- cast(v["payload"]["commit_id"] as string) AS commit_id, +-- count() AS comments, +-- count(distinct cast(v["actor"]["login"] as string)) AS authors +-- FROM github_events +-- WHERE (cast(v["type"] as string) = 'CommitCommentEvent') AND commit_id != "" +-- GROUP BY +-- cast(v["repo"]["name"] as string), +-- commit_id +-- HAVING authors >= 10 +-- ORDER BY count() DESC, URL, authors +-- LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/mostForkedRepositories.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/mostForkedRepositories.sql new file mode 100644 index 00000000000000..aab10cb79335a8 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/mostForkedRepositories.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS forks FROM github_events WHERE cast(v["type"] as string) = 'ForkEvent' GROUP BY cast(v["repo"]["name"] as string) ORDER BY forks DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/mostPopularCommentsOnGithub.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/mostPopularCommentsOnGithub.sql new file mode 100644 index 00000000000000..c36efe7561b7e8 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/mostPopularCommentsOnGithub.sql @@ -0,0 +1 @@ +SELECT cast(v["payload"]["comment"]["body"] as string), count() FROM github_events WHERE cast(v["payload"]["comment"]["body"] as string) != "" AND length(cast(v["payload"]["comment"]["body"] as string)) < 100 GROUP BY cast(v["payload"]["comment"]["body"] as string) ORDER BY count(), 1 DESC LIMIT 50 \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfRepositories.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfRepositories.sql new file mode 100644 index 00000000000000..d943c07de6a45f --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfRepositories.sql @@ -0,0 +1,14 @@ +SELECT + lower(split_part(repo_name, '/', 1)) AS org, + count(distinct repo_name) AS repos +FROM +( + SELECT cast(v["repo"]["name"] as string) as repo_name + FROM github_events + WHERE cast(v["type"] as string) = 'WatchEvent' + GROUP BY cast(v["repo"]["name"] as string) + HAVING count() >= 10 +) t +GROUP BY org +ORDER BY repos DESC, org ASC +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfStars.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfStars.sql new file mode 100644 index 00000000000000..22f0a8cbba706e --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheNumberOfStars.sql @@ -0,0 +1,8 @@ +SELECT + lower(split_part(cast(v["repo"]["name"] as string), '/', 1)) AS org, + count() AS stars +FROM github_events +WHERE cast(v["type"] as string) = 'WatchEvent' +GROUP BY org +ORDER BY stars DESC, 1 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheSizeOfCommunity.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheSizeOfCommunity.sql new file mode 100644 index 00000000000000..e445e7db3e9657 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/organizationsByTheSizeOfCommunity.sql @@ -0,0 +1,23 @@ +-- SELECT +-- lower(split_part(cast(v["repo"]["name"] as string), '/', 1)) AS org, +-- count(distinct cast(v["actor"]["login"] as string)) AS authors, +-- count(distinct pr_author) AS pr_authors, +-- count(distinct issue_author) AS issue_authors, +-- count(distinct comment_author) AS comment_authors, +-- count(distinct review_author) AS review_authors, +-- count(distinct push_author) AS push_authors +-- FROM +-- ( +-- SELECT +-- cast(v["repo"]["name"] as string), +-- cast(v["actor"]["login"] as string), +-- CASE WHEN cast(v["type"] as string) = 'PullRequestEvent' THEN cast(v["actor"]["login"] as string) ELSE NULL END pr_author, +-- CASE WHEN cast(v["type"] as string) = 'IssuesEvent' THEN cast(v["actor"]["login"] as string) ELSE NULL END issue_author, +-- CASE WHEN cast(v["type"] as string) = 'IssueCommentEvent' THEN cast(v["actor"]["login"] as string) ELSE NULL END comment_author, +-- CASE WHEN cast(v["type"] as string) = 'PullRequestReviewCommentEvent' THEN cast(v["actor"]["login"] as string) ELSE NULL END review_author, +-- CASE WHEN cast(v["type"] as string) = 'PushEvent' THEN cast(v["actor"]["login"] as string) ELSE NULL END push_author +-- FROM github_events +-- WHERE cast(v["type"] as string) IN ('PullRequestEvent', 'IssuesEvent', 'IssueCommentEvent', 'PullRequestReviewCommentEvent', 'PushEvent') +-- ) t +-- GROUP BY org +-- ORDER BY authors DESC diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks1.sql new file mode 100644 index 00000000000000..65ab889b2511a6 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks1.sql @@ -0,0 +1,17 @@ +SELECT + repo_name, + sum(fork) AS forks, + sum(star) AS stars, + round(sum(star) / sum(fork), 3) AS ratio +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN cast(v["type"] as string) = 'ForkEvent' THEN 1 ELSE 0 END AS fork, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star + FROM github_events + WHERE cast(v["type"] as string) IN ('ForkEvent', 'WatchEvent') +) t +GROUP BY repo_name +ORDER BY forks DESC, 1, 3, 4 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks2.sql new file mode 100644 index 00000000000000..ffff95dfdc64c0 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks2.sql @@ -0,0 +1,18 @@ +SELECT + repo_name, + sum(fork) AS forks, + sum(star) AS stars, + round(sum(star) / sum(fork), 3) AS ratio +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN cast(v["type"] as string) = 'ForkEvent' THEN 1 ELSE 0 END AS fork, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star + FROM github_events + WHERE cast(v["type"] as string) IN ('ForkEvent', 'WatchEvent') +) t +GROUP BY repo_name +HAVING (stars > 20) AND (forks >= 10) +ORDER BY ratio DESC, repo_name +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks3.sql new file mode 100644 index 00000000000000..f47c5163302b9c --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks3.sql @@ -0,0 +1,18 @@ +SELECT + repo_name, + sum(fork) AS forks, + sum(star) AS stars, + round(sum(fork) / sum(star), 2) AS ratio +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN cast(v["type"] as string) = 'ForkEvent' THEN 1 ELSE 0 END AS fork, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star + FROM github_events + WHERE cast(v["type"] as string) IN ('ForkEvent', 'WatchEvent') +) t +GROUP BY repo_name +HAVING (stars > 4) AND (forks > 4) +ORDER BY ratio DESC +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks4.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks4.sql new file mode 100644 index 00000000000000..66c67db1b86f7e --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks4.sql @@ -0,0 +1,13 @@ +SELECT + sum(fork) AS forks, + sum(star) AS stars, + round(sum(star) / sum(fork), 2) AS ratio +FROM +( + SELECT + cast(v["repo"]["name"] as string), + CASE WHEN cast(v["type"] as string) = 'ForkEvent' THEN 1 ELSE 0 END AS fork, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star + FROM github_events + WHERE cast(v["type"] as string) IN ('ForkEvent', 'WatchEvent') +) t diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks5.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks5.sql new file mode 100644 index 00000000000000..3579b794114e08 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/proportionsBetweenStarsAndForks5.sql @@ -0,0 +1,21 @@ +SELECT + sum(forks) AS forks, + sum(stars) AS stars, + round(sum(stars) / sum(forks), 2) AS ratio +FROM +( + SELECT + sum(fork) AS forks, + sum(star) AS stars + FROM + ( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN cast(v["type"] as string) = 'ForkEvent' THEN 1 ELSE 0 END AS fork, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star + FROM github_events + WHERE cast(v["type"] as string) IN ('ForkEvent', 'WatchEvent') + ) t + GROUP BY repo_name + HAVING stars > 10 +) t2 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByAmountOfModifiedCode.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByAmountOfModifiedCode.sql new file mode 100644 index 00000000000000..6c1632769f3d9f --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByAmountOfModifiedCode.sql @@ -0,0 +1,12 @@ +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false,disable_streaming_preaggregations=false) */ + cast(v["repo"]["name"] as string) as repo_name, + count() AS prs, + count(distinct cast(v["actor"]["login"] as string)) AS authors, + sum(cast(v["payload"]["pull_request"]["additions"] as int)) AS adds, + sum(cast(v["payload"]["pull_request"]["deletions"] as int)) AS dels +FROM github_events +WHERE (cast(v["type"] as string) = 'PullRequestEvent') AND (cast(v["payload"]["action"] as string) = 'opened') AND (cast(v["payload"]["pull_request"]["additions"] as int) < 10000) AND (cast(v["payload"]["pull_request"]["deletions"] as int) < 10000) +GROUP BY repo_name +HAVING (adds / dels) < 10 +ORDER BY adds + dels DESC, 1 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByTheNumberOfPushes.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByTheNumberOfPushes.sql new file mode 100644 index 00000000000000..e37ced4083887d --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesByTheNumberOfPushes.sql @@ -0,0 +1,17 @@ +SELECT + cast(v["repo"]["name"] as string), + count() AS pushes, + count(distinct cast(v["actor"]["login"] as string)) AS authors +FROM github_events +WHERE (cast(v["type"] as string) = 'PushEvent') AND (cast(v["repo"]["name"] as string) IN +( + SELECT cast(v["repo"]["name"] as string) + FROM github_events + WHERE cast(v["type"] as string) = 'WatchEvent' + GROUP BY cast(v["repo"]["name"] as string) + ORDER BY count() DESC + LIMIT 10000 +)) +GROUP BY cast(v["repo"]["name"] as string) +ORDER BY count() DESC, cast(v["repo"]["name"] as string) +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments1.sql new file mode 100644 index 00000000000000..1dba0577e78d9e --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments1.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() FROM github_events WHERE lower(cast(v["payload"]["comment"]["body"] as string)) LIKE '%apache%' GROUP BY cast(v["repo"]["name"] as string) ORDER BY count() DESC, cast(v["repo"]["name"] as string) ASC LIMIT 50 \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments2.sql new file mode 100644 index 00000000000000..15b5adf3fb2bb8 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithClickhouse_related_comments2.sql @@ -0,0 +1,17 @@ +SELECT + repo_name, + sum(num_star) AS num_stars, + sum(num_comment) AS num_comments +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS num_star, + CASE WHEN lower(cast(v["payload"]["comment"]["body"] as string)) LIKE '%apache%' THEN 1 ELSE 0 END AS num_comment + FROM github_events + WHERE (lower(cast(v["payload"]["comment"]["body"] as string)) LIKE '%apache%') OR (cast(v["type"] as string) = 'WatchEvent') +) t +GROUP BY repo_name +HAVING num_comments > 0 +ORDER BY num_stars DESC,num_comments DESC, repo_name ASC +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments1.sql new file mode 100644 index 00000000000000..15f7de0c3b9239 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments1.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() FROM github_events WHERE lower(cast(v["payload"]["comment"]["body"] as string)) LIKE '%spark%' GROUP BY cast(v["repo"]["name"] as string) ORDER BY count() DESC, cast(v["repo"]["name"] as string) ASC LIMIT 50 \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments2.sql new file mode 100644 index 00000000000000..17a055f65495b4 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithDoris_related_comments2.sql @@ -0,0 +1,17 @@ +SELECT + repo_name, + sum(num_star) AS num_stars, + sum(num_comment) AS num_comments +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS num_star, + CASE WHEN lower(cast(v["payload"]["comment"]["body"] as string)) LIKE '%spark%' THEN 1 ELSE 0 END AS num_comment + FROM github_events + WHERE (lower(cast(v["payload"]["comment"]["body"] as string)) LIKE '%spark%') OR (cast(v["type"] as string) = 'WatchEvent') +) t +GROUP BY repo_name +HAVING num_comments > 0 +ORDER BY num_stars DESC,num_comments DESC,repo_name ASC +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheHighestGrowthYoY.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheHighestGrowthYoY.sql new file mode 100644 index 00000000000000..b5270ee38f1098 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheHighestGrowthYoY.sql @@ -0,0 +1,20 @@ +SELECT + repo_name, + sum(created_at_2022) AS stars2022, + sum(created_at_2015) AS stars2015, + round(sum(created_at_2022) / sum(created_at_2015), 3) AS yoy, + min(created_at) AS first_seen +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE year(cast(v["created_at"] as datetime)) WHEN 2022 THEN 1 ELSE 0 END AS created_at_2022, + CASE year(cast(v["created_at"] as datetime)) WHEN 2015 THEN 1 ELSE 0 END AS created_at_2015, + cast(v["created_at"] as datetime) as created_at + FROM github_events + WHERE cast(v["type"] as string) = 'WatchEvent' +) t +GROUP BY repo_name +HAVING (min(created_at) <= '2023-01-01 00:00:00') AND (stars2022 >= 1) and (stars2015 >= 1) +ORDER BY yoy DESC, repo_name +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues1.sql new file mode 100644 index 00000000000000..93164a4cfe1d41 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues1.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS c, count(distinct cast(v["actor"]["login"] as string)) AS u FROM github_events WHERE cast(v["type"] as string) = 'IssuesEvent' AND cast(v["payload"]["action"] as string) = 'opened' GROUP BY cast(v["repo"]["name"] as string) ORDER BY c DESC, cast(v["repo"]["name"] as string) LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues2.sql new file mode 100644 index 00000000000000..cfddc738371827 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues2.sql @@ -0,0 +1,18 @@ +SELECT + repo_name, + sum(issue_created) AS c, + count(distinct actor_login) AS u, + sum(star) AS stars +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN (cast(v["type"] as string) = 'IssuesEvent') AND (cast(v["payload"]["action"] as string) = 'opened') THEN 1 ELSE 0 END AS issue_created, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star, + CASE WHEN (cast(v["type"] as string) = 'IssuesEvent') AND (cast(v["payload"]["action"] as string) = 'opened') THEN cast(v["actor"]["login"] as string) ELSE NULL END AS actor_login + FROM github_events + WHERE cast(v["type"] as string) IN ('IssuesEvent', 'WatchEvent') +) t +GROUP BY repo_name +ORDER BY c DESC, repo_name +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues3.sql new file mode 100644 index 00000000000000..60759a10199068 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues3.sql @@ -0,0 +1,19 @@ +SELECT + repo_name, + sum(issue_created) AS c, + count(distinct actor_login) AS u, + sum(star) AS stars +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN (cast(v["type"] as string) = 'IssuesEvent') AND (cast(v["payload"]["action"] as string) = 'opened') THEN 1 ELSE 0 END AS issue_created, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star, + CASE WHEN (cast(v["type"] as string) = 'IssuesEvent') AND (cast(v["payload"]["action"] as string) = 'opened') THEN cast(v["actor"]["login"] as string) ELSE NULL END AS actor_login + FROM github_events + WHERE cast(v["type"] as string) IN ('IssuesEvent', 'WatchEvent') +) t +GROUP BY repo_name +HAVING stars >= 10 +ORDER BY c, u, stars DESC, repo_name +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues4.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues4.sql new file mode 100644 index 00000000000000..756e6f6bd95da5 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfIssues4.sql @@ -0,0 +1,18 @@ +SELECT + repo_name, + sum(issue_created) AS c, + count(distinct actor_login) AS u, + sum(star) AS stars +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN (cast(v["type"] as string) = 'IssuesEvent') AND (cast(v["payload"]["action"] as string) = 'opened') THEN 1 ELSE 0 END AS issue_created, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star, + CASE WHEN (cast(v["type"] as string) = 'IssuesEvent') AND (cast(v["payload"]["action"] as string) = 'opened') THEN cast(v["actor"]["login"] as string) ELSE NULL END AS actor_login + FROM github_events + WHERE cast(v["type"] as string) IN ('IssuesEvent', 'WatchEvent') +) t +GROUP BY repo_name +ORDER BY u, c, stars DESC, 1 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests1.sql new file mode 100644 index 00000000000000..f0c505210633a6 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests1.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string) as repo_name, count(), count(distinct cast(v["actor"]["login"] as string)) FROM github_events WHERE cast(v["type"] as string) = 'PullRequestEvent' AND cast(v["payload"]["action"] as string) = 'opened' GROUP BY cast(v["repo"]["name"] as string) ORDER BY 2,1,3 DESC LIMIT 50 \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests2.sql new file mode 100644 index 00000000000000..bba2a4c898107d --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumAmountOfPullRequests2.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count(), count(distinct cast(v["actor"]["login"] as string)) AS u FROM github_events WHERE cast(v["type"] as string) = 'PullRequestEvent' AND cast(v["payload"]["action"] as string) = 'opened' GROUP BY cast(v["repo"]["name"] as string) ORDER BY u DESC, 2 DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumNumberOfAcceptedInvitations.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumNumberOfAcceptedInvitations.sql new file mode 100644 index 00000000000000..36aa448c66acba --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMaximumNumberOfAcceptedInvitations.sql @@ -0,0 +1,17 @@ +SELECT + repo_name, + sum(invitation) AS invitations, + sum(star) AS stars +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE WHEN cast(v["type"] as string) = 'MemberEvent' THEN 1 ELSE 0 END AS invitation, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star + FROM github_events + WHERE cast(v["type"] as string) IN ('MemberEvent', 'WatchEvent') +) t +GROUP BY repo_name +HAVING stars >= 2 +ORDER BY invitations DESC, stars DESC, repo_name +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess1.sql new file mode 100644 index 00000000000000..329cfc908b6654 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess1.sql @@ -0,0 +1,13 @@ +SELECT + repo_name, + count(distinct actor_login) AS u, + sum(star) AS stars +FROM +( + SELECT + lower(cast(v["repo"]["name"] as string)) as repo_name, + CASE WHEN cast(v["type"] as string) = 'PushEvent' THEN cast(v["actor"]["login"] as string) ELSE NULL END AS actor_login, + CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star + FROM github_events WHERE cast(v["type"] as string) IN ('PushEvent', 'WatchEvent') AND cast(v["repo"]["name"] as string) != '/' +) t +GROUP BY repo_name ORDER BY u, stars, repo_name DESC LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess2.sql new file mode 100644 index 00000000000000..410f69c47a58c9 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess2.sql @@ -0,0 +1,13 @@ +-- SELECT +-- cast(v["repo"]["name"] as string), +-- count(distinct cast(v["actor"]["login"] as string)) AS u, +-- sum(star) AS stars +-- FROM +-- ( +-- SELECT +-- cast(v["repo"]["name"] as string), +-- CASE WHEN cast(v["type"] as string) = 'PushEvent' AND (ref LIKE '%/master' OR ref LIKE '%/main') THEN cast(v["actor"]["login"] as string) ELSE NULL END AS cast(v["actor"]["login"] as string), +-- CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star +-- FROM github_events WHERE cast(v["type"] as string) IN ('PushEvent', 'WatchEvent') AND cast(v["repo"]["name"] as string) != '/' +-- ) t +-- GROUP BY cast(v["repo"]["name"] as string) ORDER BY u DESC LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess3.sql new file mode 100644 index 00000000000000..dbcf16db2ac195 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostPeopleWhoHavePushAccess3.sql @@ -0,0 +1,16 @@ +-- SELECT +-- cast(v["repo"]["name"] as string), +-- count(distinct cast(v["actor"]["login"] as string)) AS u, +-- sum(star) AS stars +-- FROM +-- ( +-- SELECT +-- cast(v["repo"]["name"] as string), +-- CASE WHEN cast(v["type"] as string) = 'PushEvent' AND (ref LIKE '%/master' OR ref LIKE '%/main') THEN cast(v["actor"]["login"] as string) ELSE NULL END AS cast(v["actor"]["login"] as string), +-- CASE WHEN cast(v["type"] as string) = 'WatchEvent' THEN 1 ELSE 0 END AS star +-- FROM github_events WHERE cast(v["type"] as string) IN ('PushEvent', 'WatchEvent') AND cast(v["repo"]["name"] as string) != '/' +-- ) t +-- GROUP BY cast(v["repo"]["name"] as string) +-- HAVING stars >= 100 +-- ORDER BY u DESC +-- LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay1.sql new file mode 100644 index 00000000000000..1e6fdb4b769348 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay1.sql @@ -0,0 +1,25 @@ +SELECT + repo_name, + day, + stars +FROM +( + SELECT + row_number() OVER (PARTITION BY repo_name ORDER BY stars DESC) AS rank, + repo_name, + day, + stars + FROM + ( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + to_date(cast(v["created_at"] as datetime)) AS day, + count() AS stars + FROM github_events + WHERE cast(v["type"] as string) = 'WatchEvent' + GROUP BY cast(v["repo"]["name"] as string), day + ) t1 +) t2 +WHERE rank = 1 +ORDER BY stars DESC, 1 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay2.sql new file mode 100644 index 00000000000000..92a1c9a9c6e005 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay2.sql @@ -0,0 +1,25 @@ +-- SELECT +-- cast(v["repo"]["name"] as string), +-- day, +-- stars +-- FROM +-- ( +-- SELECT +-- row_number() OVER (PARTITION BY cast(v["repo"]["name"] as string) ORDER BY stars DESC) AS rank, +-- cast(v["repo"]["name"] as string), +-- day, +-- stars +-- FROM +-- ( +-- SELECT +-- cast(v["repo"]["name"] as string), +-- to_date(cast(v["created_at"] as datetime)) AS day, +-- count() AS stars +-- FROM github_events +-- WHERE cast(v["type"] as string) = 'WatchEvent' +-- GROUP BY cast(v["repo"]["name"] as string), day +-- ) t1 +-- ) t2 +-- WHERE rank = 1 +-- ORDER BY stars DESC +-- LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay3.sql new file mode 100644 index 00000000000000..29fd779ffa3b44 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostStarsOverOneDay3.sql @@ -0,0 +1 @@ +-- SELECT cast(v["repo"]["name"] as string), cast(v["created_at"] as datetime), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' GROUP BY cast(v["repo"]["name"] as string), cast(v["created_at"] as datetime) ORDER BY count() DESC LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostSteadyGrowthOverTime.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostSteadyGrowthOverTime.sql new file mode 100644 index 00000000000000..5d05e3cb8db80c --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheMostSteadyGrowthOverTime.sql @@ -0,0 +1,20 @@ +SELECT + repo_name, + max(stars) AS daily_stars, + sum(stars) AS total_stars, + sum(stars) / max(stars) AS rate +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + to_date(cast(v["created_at"] as datetime)) AS day, + count() AS stars + FROM github_events + WHERE cast(v["type"] as string) = 'WatchEvent' + GROUP BY + repo_name, + day +) t +GROUP BY repo_name +ORDER BY rate DESC, 1 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheWorstStagnation_order.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheWorstStagnation_order.sql new file mode 100644 index 00000000000000..f0019d643306fc --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoriesWithTheWorstStagnation_order.sql @@ -0,0 +1,20 @@ +SELECT + repo_name, + sum(created_at_2022) AS stars2022, + sum(created_at_2015) AS stars2015, + round(sum(created_at_2022) / sum(created_at_2015), 3) AS yoy, + min(created_at) AS first_seen +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + CASE year(cast(v["created_at"] as datetime)) WHEN 2022 THEN 1 ELSE 0 END AS created_at_2022, + CASE year(cast(v["created_at"] as datetime)) WHEN 2015 THEN 1 ELSE 0 END AS created_at_2015, + cast(v["created_at"] as datetime) as created_at + FROM github_events + WHERE cast(v["type"] as string) = 'WatchEvent' +) t +GROUP BY repo_name +HAVING (min(created_at) <= '2019-01-01 00:00:00') AND (max(created_at) >= '2020-06-01 00:00:00') AND (stars2015 >= 2) +ORDER BY yoy, repo_name +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList1.sql new file mode 100644 index 00000000000000..d1c3b8150d6a34 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList1.sql @@ -0,0 +1,13 @@ +SELECT + cast(v["repo"]["name"] as string) as repo_name, + count() AS stars +FROM github_events +WHERE (cast(v["type"] as string) = 'WatchEvent') AND (cast(v["actor"]["login"] as string) IN +( + SELECT cast(v["actor"]["login"] as string) + FROM github_events + WHERE (cast(v["type"] as string) = 'WatchEvent') AND (cast(v["repo"]["name"] as string) IN ('apache/spark', 'prakhar1989/awesome-courses')) +)) AND (cast(v["repo"]["name"] as string) NOT IN ('ClickHouse/ClickHouse', 'yandex/ClickHouse')) +GROUP BY repo_name +ORDER BY stars DESC, repo_name +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList2.sql new file mode 100644 index 00000000000000..293f4b90396189 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/repositoryAffinityList2.sql @@ -0,0 +1,23 @@ +SELECT + repo_name, + total_stars, + round(spark_stars / total_stars, 2) AS ratio +FROM +( + SELECT + cast(v["repo"]["name"] as string) as repo_name, + count(distinct cast(v["actor"]["login"] as string)) AS total_stars + FROM github_events + WHERE (cast(v["type"] as string) = 'WatchEvent') AND (cast(v["repo"]["name"] as string) NOT IN ('apache/spark')) + GROUP BY repo_name + HAVING total_stars >= 10 +) t1 +JOIN +( + SELECT + count(distinct cast(v["actor"]["login"] as string)) AS spark_stars + FROM github_events + WHERE (cast(v["type"] as string) = 'WatchEvent') AND (cast(v["repo"]["name"] as string) IN ('apache/spark')) +) t2 +ORDER BY ratio DESC, repo_name +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers1.sql new file mode 100644 index 00000000000000..ba9f4ab2604644 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers1.sql @@ -0,0 +1,13 @@ +SELECT + cast(v["repo"]["name"] as string), + count() +FROM github_events +WHERE (cast(v["type"] as string) = 'WatchEvent') AND (cast(v["actor"]["login"] as string) IN +( + SELECT cast(v["actor"]["login"] as string) + FROM github_events + WHERE (cast(v["type"] as string) = 'PullRequestEvent') AND (cast(v["payload"]["action"] as string) = 'opened') +)) +GROUP BY cast(v["repo"]["name"] as string) +ORDER BY count() DESC, cast(v["repo"]["name"] as string) +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers2.sql new file mode 100644 index 00000000000000..c55c37a294ad6e --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/starsFromHeavyGithubUsers2.sql @@ -0,0 +1,15 @@ +SELECT + cast(v["repo"]["name"] as string), + count() +FROM github_events +WHERE (cast(v["type"] as string) = 'WatchEvent') AND (cast(v["actor"]["login"] as string) IN +( + SELECT cast(v["actor"]["login"] as string) + FROM github_events + WHERE (cast(v["type"] as string) = 'PullRequestEvent') AND (cast(v["payload"]["action"] as string) = 'opened') + GROUP BY cast(v["actor"]["login"] as string) + HAVING count() >= 2 +)) +GROUP BY cast(v["repo"]["name"] as string) +ORDER BY 1, count() DESC, 1 +LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames1.sql new file mode 100644 index 00000000000000..117dc222667faa --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames1.sql @@ -0,0 +1 @@ +SELECT count(), cast(v["repo"]["name"] as string) FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' GROUP BY cast(v["repo"]["name"] as string) ORDER BY length(cast(v["repo"]["name"] as string)) DESC, cast(v["repo"]["name"] as string) LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames2.sql new file mode 100644 index 00000000000000..203b253d8897e9 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theLongestRepositoryNames2.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND cast(v["repo"]["name"] as string) LIKE '%_/_%' GROUP BY cast(v["repo"]["name"] as string) ORDER BY length(cast(v["repo"]["name"] as string)) ASC, cast(v["repo"]["name"] as string) LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theMostToughCodeReviews.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theMostToughCodeReviews.sql new file mode 100644 index 00000000000000..670a70ff725e63 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theMostToughCodeReviews.sql @@ -0,0 +1,10 @@ +SELECT + concat('https://github.com/', cast(v["repo"]["name"] as string), '/pull/') AS URL, + count(distinct cast(v["actor"]["login"] as string)) AS authors +FROM github_events +WHERE (cast(v["type"] as string) = 'PullRequestReviewCommentEvent') AND (cast(v["payload"]["action"] as string) = 'created') +GROUP BY + cast(v["repo"]["name"] as string), + cast(v["payload"]["issue"]["number"] as string) +ORDER BY authors DESC, URL ASC +LIMIT 50 \ No newline at end of file diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfRepositoriesOnGithub.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfRepositoriesOnGithub.sql new file mode 100644 index 00000000000000..9fdc19bfcef5ad --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfRepositoriesOnGithub.sql @@ -0,0 +1 @@ +SELECT count(distinct cast(v["repo"]["name"] as string)) FROM github_events diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub1.sql new file mode 100644 index 00000000000000..56f9ddf94732b7 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub1.sql @@ -0,0 +1 @@ +SELECT count(distinct cast(v["actor"]["login"] as string)) FROM github_events diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub2.sql new file mode 100644 index 00000000000000..f2ed81a78bd086 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub2.sql @@ -0,0 +1 @@ +SELECT count(distinct cast(v["actor"]["login"] as string)) FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub3.sql new file mode 100644 index 00000000000000..3a2dd0c08b3431 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub3.sql @@ -0,0 +1 @@ +SELECT count(distinct cast(v["actor"]["login"] as string)) FROM github_events WHERE cast(v["type"] as string) = 'PushEvent' diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub4.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub4.sql new file mode 100644 index 00000000000000..59410fa57bc72d --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/theTotalNumberOfUsersOnGithub4.sql @@ -0,0 +1 @@ +SELECT count(distinct cast(v["actor"]["login"] as string)) FROM github_events WHERE cast(v["type"] as string) = 'PullRequestEvent' AND cast(v["payload"]["action"] as string) = 'opened' diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels1.sql new file mode 100644 index 00000000000000..8e4ae36dd63ab3 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels1.sql @@ -0,0 +1,9 @@ +-- SELECT +-- label, +-- count() AS c +-- FROM github_events +-- LATERAL VIEW explode_split(labels, ',') t AS label +-- WHERE (cast(v["type"] as string) IN ('IssuesEvent', 'PullRequestEvent', 'IssueCommentEvent')) AND (action IN ('created', 'opened', 'labeled')) +-- GROUP BY label +-- ORDER BY c DESC +-- LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels2.sql new file mode 100644 index 00000000000000..302e08519a1e02 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels2.sql @@ -0,0 +1,9 @@ +-- SELECT +-- label, +-- count() AS c +-- FROM github_events +-- LATERAL VIEW explode_split(labels, ',') t AS label +-- WHERE (cast(v["type"] as string) IN ('IssuesEvent', 'PullRequestEvent', 'IssueCommentEvent')) AND (action IN ('created', 'opened', 'labeled')) AND ((lower(label) LIKE '%bug%') OR (lower(label) LIKE '%feature%')) +-- GROUP BY label +-- ORDER BY c DESC +-- LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels3.sql new file mode 100644 index 00000000000000..30c6e7ee8be8d0 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topLabels3.sql @@ -0,0 +1,14 @@ +-- SELECT +-- sum(bug) AS bugs, +-- sum(feature) AS feature, +-- sum(bug) / sum(feature) AS ratio +-- FROM +-- ( +-- SELECT +-- CASE WHEN lower(label) LIKE '%bug%' THEN 1 ELSE 0 END AS bug, +-- CASE WHEN lower(label) LIKE '%feature%' THEN 1 ELSE 0 END AS feature +-- FROM github_events +-- LATERAL VIEW explode_split(labels, ',') t AS label +-- WHERE (cast(v["type"] as string) IN ('IssuesEvent', 'PullRequestEvent', 'IssueCommentEvent')) AND (action IN ('created', 'opened', 'labeled')) AND ((lower(label) LIKE '%bug%') OR (lower(label) LIKE '%feature%')) +-- ) t +-- LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topRepositoriesByStars.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topRepositoriesByStars.sql new file mode 100644 index 00000000000000..8ca99e182b75d8 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/topRepositoriesByStars.sql @@ -0,0 +1 @@ +SELECT cast(v["repo"]["name"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' GROUP BY cast(v["repo"]["name"] as string) ORDER BY stars DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whatIsTheBestDayOfTheWeekToCatchAStar.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whatIsTheBestDayOfTheWeekToCatchAStar.sql new file mode 100644 index 00000000000000..116fe5ca57cc18 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whatIsTheBestDayOfTheWeekToCatchAStar.sql @@ -0,0 +1 @@ +SELECT dayofweek(cast(v["created_at"] as datetime)) AS day, count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' GROUP BY day ORDER BY day diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars1.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars1.sql new file mode 100644 index 00000000000000..445853c2efa15a --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars1.sql @@ -0,0 +1 @@ +SELECT cast(v["actor"]["login"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' GROUP BY cast(v["actor"]["login"] as string) ORDER BY stars DESC, 1 LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars2.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars2.sql new file mode 100644 index 00000000000000..1fc9a6158edf48 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars2.sql @@ -0,0 +1 @@ +SELECT cast(v["actor"]["login"] as string), count() AS stars FROM github_events WHERE cast(v["type"] as string) = 'WatchEvent' AND cast(v["actor"]["login"] as string) = 'cliffordfajardo' GROUP BY cast(v["actor"]["login"] as string) ORDER BY stars DESC LIMIT 50 diff --git a/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars3.sql b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars3.sql new file mode 100644 index 00000000000000..43426a2c9e4b81 --- /dev/null +++ b/regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/sql/whoAreAllThosePeopleGivingStars3.sql @@ -0,0 +1,13 @@ +SELECT + cast(v["repo"]["name"] as string), + count() AS stars +FROM github_events +WHERE (cast(v["type"] as string) = 'WatchEvent') AND (cast(v["repo"]["name"] as string) IN +( + SELECT cast(v["repo"]["name"] as string) + FROM github_events + WHERE (cast(v["type"] as string) = 'WatchEvent') AND (cast(v["actor"]["login"] as string) = 'cliffordfajardo') +)) +GROUP BY cast(v["repo"]["name"] as string) +ORDER BY stars DESC, cast(v["repo"]["name"] as string) +LIMIT 50 diff --git a/regression-test/suites/variant_p2/tpch_upgrade/load.groovy b/regression-test/suites/variant_p2/tpch_upgrade/load.groovy new file mode 100644 index 00000000000000..764b2b82ab6ea7 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/load.groovy @@ -0,0 +1,91 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +// Most of the cases are copied from https://github.com/trinodb/trino/tree/master +// /testing/trino-product-tests/src/main/resources/sql-tests/testcases +// and modified by Doris. + +// syntax error: +// q06 q13 q15 +// Test 23 suites, failed 3 suites + +// Note: To filter out tables from sql files, use the following one-liner comamnd +// sed -nr 's/.*tables: (.*)$/\1/gp' /path/to/*.sql | sed -nr 's/,/\n/gp' | sort | uniq +suite("load") { + def tables = ["customer", + "lineitem", + "nation", + "orders", + "part", + "partsupp", + "region", + "supplier"] + + tables.forEach { tableName -> + sql "DROP TABLE IF EXISTS ${tableName}" + sql """ + CREATE TABLE IF NOT EXISTS ${tableName} ( + k bigint, + var variant + + ) + UNIQUE KEY(`k`) + DISTRIBUTED BY HASH(k) BUCKETS 5 + properties("replication_num" = "1", "disable_auto_compaction" = "false", "enable_unique_key_merge_on_write" = "false"); + """ + streamLoad { + // a default db 'regression_test' is specified in + // ${DORIS_HOME}/conf/regression-conf.groovy + table "${tableName}" + + // set http request header params + set 'read_json_by_line', 'true' + set 'format', 'json' + // set 'max_filter_ratio', '0.1' + time 10000 // limit inflight 10s + + // relate to ${DORIS_HOME}/regression-test/data/demo/streamload_input.csv. + // also, you can stream load a http stream, e.g. http://xxx/some.csv + file """${getS3Url()}/regression/tpch-var/sf0.1/${tableName}.txt.json""" + + // stream load action will check result, include Success status, and NumberTotalRows == NumberLoadedRows + + // if declared a check callback, the default check condition will ignore. + // So you must check all condition + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("success", json.Status.toLowerCase()) + assertEquals(json.NumberTotalRows, json.NumberLoadedRows) + assertTrue(json.NumberLoadedRows > 0 && json.LoadBytes > 0) + } + } + } + // Thread.sleep(70000) // wait for row count report of the tables just loaded + // tables.forEach { tableName -> + // sql """ ANALYZE TABLE $tableName WITH SYNC """ + // } + + // def table = "revenue1" + // sql new File("""${context.file.parent}/ddl/${table}_delete.sql""").text + // sql new File("""${context.file.parent}/ddl/${table}.sql""").text + + sql """ sync """ +} diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q01_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q01_trans.sql new file mode 100644 index 00000000000000..0a215033848617 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q01_trans.sql @@ -0,0 +1,32 @@ +-- TABLES: lineitem,customer,nation,orders,part,partsupp,region,supplier + +insert into customer select * from customer; +insert into lineitem select * from lineitem; +insert into nation select * from nation; +insert into orders select * from orders; +insert into part select * from part; +insert into partsupp select * from partsupp; +insert into region select * from region; +insert into supplier select * from supplier; +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + CAST(var["L_RETURNFLAG"] AS TEXT), + CAST(var["L_LINESTATUS"] AS TEXT), + SUM(CAST(var["L_QUANTITY"] AS DOUBLE)) AS SUM_QTY, + SUM(CAST(var["L_EXTENDEDPRICE"] AS DOUBLE)) AS SUM_BASE_PRICE, + SUM(CAST(var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(var["L_DISCOUNT"] AS DOUBLE))) AS SUM_DISC_PRICE, + SUM(CAST(var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(var["L_DISCOUNT"] AS DOUBLE)) * (1 + CAST(var["L_TAX"] AS DOUBLE))) AS SUM_CHARGE, + AVG(CAST(var["L_QUANTITY"] AS DOUBLE)) AS AVG_QTY, + AVG(CAST(var["L_EXTENDEDPRICE"] AS DOUBLE)) AS AVG_PRICE, + AVG(CAST(var["L_DISCOUNT"] AS DOUBLE)) AS AVG_DISC, + COUNT(*) AS COUNT_ORDER +FROM + lineitem +WHERE + CAST(var["L_SHIPDATE"] AS DATE) <= DATE '1998-12-01' - INTERVAL '90' DAY +GROUP BY +CAST(var["L_RETURNFLAG"] AS TEXT), +CAST(var["L_LINESTATUS"] AS TEXT) +ORDER BY +CAST(var["L_RETURNFLAG"] AS TEXT), +CAST(var["L_LINESTATUS"] AS TEXT) +; diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q02_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q02_trans.sql new file mode 100644 index 00000000000000..06694cd68b0dd7 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q02_trans.sql @@ -0,0 +1,42 @@ +-- TABLES: part,SUPPLIER,partsupp,NATION,REGION +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + CAST(SS.var["S_ACCTBAL"] AS DOUBLE), + CAST(SS.var["S_NAME"] AS TEXT), + CAST(NN.var["N_NAME"] AS TEXT), + CAST(PP.var["P_PARTKEY"] AS INT), + CAST(PP.var["P_MFGR"] AS TEXT), + CAST(SS.var["S_ADDRESS"] AS TEXT), + CAST(SS.var["S_PHONE"] AS TEXT), + CAST(SS.var["S_COMMENT"] AS TEXT) +FROM + part PP, + supplier SS, + partsupp PSPS, + nation NN, + region RR +WHERE + CAST(PP.var["P_PARTKEY"] AS INT) = CAST(PSPS.var["PS_PARTKEY"] AS INT) + AND CAST(SS.var["S_SUPPKEY"] AS INT) = CAST(PSPS.var["PS_SUPPKEY"] AS INT) + AND CAST(PP.var["P_SIZE"] AS INT) = 15 + AND CAST(PP.var["P_TYPE"] AS TEXT) LIKE '%BRASS' + AND CAST(SS.var["S_NATIONKEY"] AS INT) = CAST(NN.var["N_NATIONKEY"] AS INT) + AND CAST(NN.var["N_REGIONKEY"] AS INT) = CAST(RR.var["R_REGIONKEY"] AS INT) + AND CAST(RR.var["R_NAME"] AS TEXT) = 'EUROPE' + AND CAST(PSPS.var["PS_SUPPLYCOST"] AS DOUBLE) >= ( + SELECT MIN(CAST(PS.var["PS_SUPPLYCOST"] AS DOUBLE)) + FROM + partsupp PS, supplier S, part P, + nation N, region R + WHERE + CAST(P.var["P_PARTKEY"] AS INT) = CAST(PS.var["PS_PARTKEY"] AS INT) + AND CAST(S.var["S_SUPPKEY"] AS INT) = CAST(PS.var["PS_SUPPKEY"] AS INT) + AND CAST(S.var["S_NATIONKEY"] AS INT) = CAST(N.var["N_NATIONKEY"] AS INT) + AND CAST(N.var["N_REGIONKEY"] AS INT) = CAST(R.var["R_REGIONKEY"] AS INT) + AND CAST(R.var["R_NAME"] AS TEXT) = 'EUROPE' + ) +ORDER BY + CAST(SS.var["S_ACCTBAL"] AS DOUBLE) DESC, + CAST(NN.var["N_NAME"] AS TEXT), + CAST(SS.var["S_NAME"] AS TEXT), + CAST(PP.var["P_PARTKEY"] AS INT) +LIMIT 100 diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q03_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q03_trans.sql new file mode 100644 index 00000000000000..9450e42fe22da7 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q03_trans.sql @@ -0,0 +1,25 @@ +-- TABLES: customer,orders,lineitem +-- ERROR: not stable +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + CAST(L.var["L_ORDERKEY"] AS INT), + SUM(CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE))) AS REVENUE, + CAST(O.var["O_ORDERDATE"] AS TEXT), + CAST(O.var["O_SHIPPRIORITY"] AS INT) +FROM + customer C, + orders O, + lineitem L +WHERE + CAST(C.var["C_MKTSEGMENT"] AS TEXT) = 'BUILDING' + AND CAST(C.var["C_CUSTKEY"] AS INT) = CAST(O.var["O_CUSTKEY"] AS INT) + AND CAST(L.var["L_ORDERKEY"] AS INT) = CAST(O.var["O_ORDERKEY"] AS INT) + AND CAST(O.var["O_ORDERDATE"] AS TEXT) < '1995-03-15' + AND CAST(L.var["L_SHIPDATE"] AS TEXT) > '1995-03-15' +GROUP BY + CAST(L.var["L_ORDERKEY"] AS INT), + CAST(O.var["O_ORDERDATE"] AS TEXT), + CAST(O.var["O_SHIPPRIORITY"] AS INT) +ORDER BY + REVENUE DESC, + CAST(O.var["O_ORDERDATE"] AS TEXT) +LIMIT 10 diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q04_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q04_trans.sql new file mode 100644 index 00000000000000..ecfa18549dd5f0 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q04_trans.sql @@ -0,0 +1,21 @@ +-- TABLES: orders,lineitem +-- ERROR: No value present +-- SELECT +-- CAST(var["O_ORDERPRIORITY"] AS TEXT), +-- COUNT(*) AS ORDER_COUNT +-- FROM orders O +-- WHERE +-- CAST(O.var["O_ORDERDATE"] AS DATE) >= DATE '1993-07-01' +-- AND CAST(O.var["O_ORDERDATE"] AS DATE) < DATE '1993-07-01' + INTERVAL '3' MONTH +-- AND EXISTS ( +-- SELECT * +-- FROM lineitem L +-- WHERE +-- CAST(L.var["L_ORDERKEY"] AS INT) = CAST(O.var["O_ORDERKEY"] AS INT) +-- AND CAST(L.var["L_COMMITDATE"] AS DATE) < CAST(L.var["L_RECEIPTDATE"] AS DATE) +-- ) +-- GROUP BY +-- CAST(O.var["O_ORDERPRIORITY"] AS TEXT) +-- ORDER BY +-- CAST(O.var["O_ORDERPRIORITY"] AS TEXT) +-- \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q05_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q05_trans.sql new file mode 100644 index 00000000000000..f62776da6d0e2d --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q05_trans.sql @@ -0,0 +1,25 @@ +-- TABLES: customer,orders,lineitem,SUPPLIER,NATION,REGION +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + CAST(N.var["N_NAME"] AS TEXT), + SUM(CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE))) AS REVENUE +FROM + customer as C, + orders as O, + lineitem as L, + supplier as S, + nation as N, + region as R +WHERE + CAST(C.var["C_CUSTKEY"] AS INT) = CAST(O.var["O_CUSTKEY"] AS INT) + AND CAST(L.var["L_ORDERKEY"] AS INT) = CAST(O.var["O_ORDERKEY"] AS INT) + AND CAST(L.var["L_SUPPKEY"] AS INT) = CAST(S.var["S_SUPPKEY"] AS INT) + AND CAST(C.var["C_NATIONKEY"] AS INT) = CAST(S.var["S_NATIONKEY"] AS INT) + AND CAST(S.var["S_NATIONKEY"] AS INT) = CAST(N.var["N_NATIONKEY"] AS INT) + AND CAST(N.var["N_REGIONKEY"] AS INT) = CAST(R.var["R_REGIONKEY"] AS INT) + AND CAST(R.var["R_NAME"] AS TEXT) = 'ASIA' + AND CAST(O.var["O_ORDERDATE"] AS DATE) >= DATE '1994-01-01' + AND CAST(O.var["O_ORDERDATE"] AS DATE) < DATE '1994-01-01' + INTERVAL '1' YEAR +GROUP BY +CAST(N.var["N_NAME"] AS TEXT) +ORDER BY +REVENUE DESC diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q06_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q06_trans.sql new file mode 100644 index 00000000000000..8ee005f8e56e44 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q06_trans.sql @@ -0,0 +1,11 @@ +-- TABLES: lineitem +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ +SUM(CAST(var["L_EXTENDEDPRICE"] AS DOUBLE) * CAST(var["L_DISCOUNT"] AS DOUBLE)) AS REVENUE +FROM + lineitem +WHERE + CAST(var["L_SHIPDATE"] AS DATE) >= DATE '1994-01-01' + AND CAST(var["L_SHIPDATE"] AS DATE) < DATE '1994-01-01' + INTERVAL '1' YEAR +AND CAST(var["L_DISCOUNT"] AS DOUBLE) BETWEEN 0.06 - 0.01 AND .06 + 0.01 +AND CAST(var["L_QUANTITY"] AS DOUBLE) < 24 + diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q07_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q07_trans.sql new file mode 100644 index 00000000000000..2d7e3b9a867901 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q07_trans.sql @@ -0,0 +1,41 @@ +-- TABLES: SUPPLIER,lineitem,orders,customer,NATION +-- ERROR: not stable +-- SELECT +-- SUPP_NATION, +-- CUST_NATION, +-- L_YEAR, +-- SUM(VOLUME) AS REVENUE +-- FROM ( +-- SELECT +-- CAST(N1.var["N_NAME"] AS TEXT) AS SUPP_NATION, +-- CAST(N2.var["N_NAME"] AS TEXT) AS CUST_NATION, +-- EXTRACT(YEAR FROM CAST(L.var["L_SHIPDATE"] AS DATE)) AS L_YEAR, +-- CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE)) AS VOLUME +-- FROM +-- supplier S, +-- lineitem L, +-- orders O, +-- customer C, +-- nation N1, +-- nation N2 +-- WHERE +-- CAST(S.var["S_SUPPKEY"] AS INT) = CAST(L.var["L_SUPPKEY"] AS INT) +-- AND CAST(O.var["O_ORDERKEY"] AS INT) = CAST(L.var["L_ORDERKEY"] AS INT) +-- AND CAST(C.var["C_CUSTKEY"] AS INT) = CAST(O.var["O_CUSTKEY"] AS INT) +-- AND CAST(S.var["S_NATIONKEY"] AS INT) = CAST(N1.var["N_NATIONKEY"] AS INT) +-- AND CAST(C.var["C_NATIONKEY"] AS INT) = CAST(N2.var["N_NATIONKEY"] AS INT) +-- AND ( +-- (CAST(N1.var["N_NAME"] AS TEXT) = 'FRANCE' AND CAST(N2.var["N_NAME"] AS TEXT) = 'GERMANY') +-- OR (CAST(N1.var["N_NAME"] AS TEXT) = 'GERMANY' AND CAST(N2.var["N_NAME"] AS TEXT) = 'FRANCE') +-- ) +-- AND CAST(L.var["L_SHIPDATE"] AS DATE) BETWEEN DATE '1995-01-01' AND DATE '1996-12-31' +-- ) AS SHIPPING +-- GROUP BY +-- SUPP_NATION, +-- CUST_NATION, +-- L_YEAR +-- ORDER BY +-- SUPP_NATION, +-- CUST_NATION, +-- L_YEAR +-- \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q08_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q08_trans.sql new file mode 100644 index 00000000000000..5cae69badc8a79 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q08_trans.sql @@ -0,0 +1,39 @@ +-- TABLES: part,SUPPLIER,lineitem,orders,customer,NATION,REGION +-- ERROR: not stable +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + O_YEAR, + SUM(CASE + WHEN NATION = 'BRAZIL' + THEN VOLUME + ELSE 0 + END) / SUM(VOLUME) AS MKT_SHARE +FROM ( + SELECT + EXTRACT(YEAR FROM CAST(O.var["O_ORDERDATE"] AS TEXT)) AS O_YEAR, + CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE)) AS VOLUME, + CAST(N2.var["N_NAME"] AS TEXT) AS NATION + FROM + part P, + supplier S, + lineitem L, + orders O, + customer C, + nation N1, + nation N2, + region R + WHERE + CAST(P.var["P_PARTKEY"] AS INT) = CAST(L.var["L_PARTKEY"] AS INT) + AND CAST(S.var["S_SUPPKEY"] AS INT) = CAST(L.var["L_SUPPKEY"] AS INT) + AND CAST(L.var["L_ORDERKEY"] AS INT) = CAST(O.var["O_ORDERKEY"] AS INT) + AND CAST(O.var["O_CUSTKEY"] AS INT) = CAST(C.var["C_CUSTKEY"] AS INT) + AND CAST(C.var["C_NATIONKEY"] AS INT) = CAST(N1.var["N_NATIONKEY"] AS INT) + AND CAST(N1.var["N_REGIONKEY"] AS INT) = CAST(R.var["R_REGIONKEY"] AS INT) + AND CAST(R.var["R_NAME"] AS TEXT) = 'AMERICA' + AND CAST(S.var["S_NATIONKEY"] AS INT) = CAST(N2.var["N_NATIONKEY"] AS INT) + AND CAST(O.var["O_ORDERDATE"] AS TEXT) BETWEEN '1995-01-01' AND '1996-12-31' + AND CAST(P.var["P_TYPE"] AS TEXT) = 'ECONOMY ANODIZED STEEL' + ) AS ALL_NATIONS +GROUP BY + O_YEAR +ORDER BY + O_YEAR diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q09_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q09_trans.sql new file mode 100644 index 00000000000000..f501d73dd727aa --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q09_trans.sql @@ -0,0 +1,33 @@ +-- TABLES: part,SUPPLIER,lineitem,partsupp,orders,NATION +-- ERROR: not stable +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false,batch_size=2048) */ + NATION, + O_YEAR, + SUM(AMOUNT) AS SUM_PROFIT +FROM ( + SELECT + CAST(N.var["N_NAME"] AS TEXT) AS NATION, + EXTRACT(YEAR FROM CAST(O.var["O_ORDERDATE"] AS TEXT)) AS O_YEAR, + CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE)) - CAST(PS.var["PS_SUPPLYCOST"] AS DOUBLE) * CAST(L.var["L_QUANTITY"] AS DOUBLE) AS AMOUNT + FROM + part P, + supplier S, + lineitem L, + partsupp PS, + orders O, + nation N + WHERE + CAST(S.var["S_SUPPKEY"] AS INT) = CAST(L.var["L_SUPPKEY"] AS INT) + AND CAST(PS.var["PS_SUPPKEY"] AS INT) = CAST(L.var["L_SUPPKEY"] AS INT) + AND CAST(PS.var["PS_PARTKEY"] AS INT) = CAST(L.var["L_PARTKEY"] AS INT) + AND CAST(P.var["P_PARTKEY"] AS INT) = CAST(L.var["L_PARTKEY"] AS INT) + AND CAST(O.var["O_ORDERKEY"] AS INT) = CAST(L.var["L_ORDERKEY"] AS INT) + AND CAST(S.var["S_NATIONKEY"] AS INT) = CAST(N.var["N_NATIONKEY"] AS INT) + AND CAST(P.var["P_NAME"] AS TEXT) LIKE '%green%' + ) AS PROFIT +GROUP BY + NATION, + O_YEAR +ORDER BY + NATION, + O_YEAR DESC diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q10_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q10_trans.sql new file mode 100644 index 00000000000000..cb3cdbf6ee51a0 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q10_trans.sql @@ -0,0 +1,32 @@ +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + CAST(C.var["C_CUSTKEY"] AS INT), + CAST(C.var["C_NAME"] AS TEXT), + SUM(CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE))) AS REVENUE, + CAST(C.var["C_ACCTBAL"] AS DOUBLE), + CAST(N.var["N_NAME"] AS TEXT), + CAST(C.var["C_ADDRESS"] AS TEXT), + CAST(C.var["C_PHONE"] AS TEXT), + CAST(C.var["C_COMMENT"] AS TEXT) +FROM + customer C, + orders O, + lineitem L, + nation N +WHERE + CAST(C.var["C_CUSTKEY"] AS INT) = CAST(O.var["O_CUSTKEY"] AS INT) + AND CAST(L.var["L_ORDERKEY"] AS INT) = CAST(O.var["O_ORDERKEY"] AS INT) + AND CAST(O.var["O_ORDERDATE"] AS DATE) >= DATE '1993-10-01' + AND CAST(O.var["O_ORDERDATE"] AS DATE) < DATE '1993-10-01' + INTERVAL '3' MONTH + AND CAST(L.var["L_RETURNFLAG"] AS TEXT) = 'R' + AND CAST(C.var["C_NATIONKEY"] AS INT) = CAST(N.var["N_NATIONKEY"] AS INT) +GROUP BY + CAST(C.var["C_CUSTKEY"] AS INT), + CAST(C.var["C_NAME"] AS TEXT), + CAST(C.var["C_ACCTBAL"] AS DOUBLE), + CAST(C.var["C_PHONE"] AS TEXT), + CAST(N.var["N_NAME"] AS TEXT), + CAST(C.var["C_ADDRESS"] AS TEXT), + CAST(C.var["C_COMMENT"] AS TEXT) +ORDER BY + REVENUE DESC +LIMIT 20 \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q11_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q11_trans.sql new file mode 100644 index 00000000000000..4a72594ebbd1d9 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q11_trans.sql @@ -0,0 +1,29 @@ +-- ERROR: +-- Invalid use of group function +-- SELECT +-- CAST(PS.var["PS_PARTKEY"] AS INT), +-- SUM(CAST(PS.var["PS_SUPPLYCOST"] AS DOUBLE) * CAST(PS.var["PS_AVAILQTY"] AS INT)) AS VALUE +-- FROM +-- partsupp PS, +-- supplier S, +-- nation N +-- WHERE +-- CAST(PS.var["PS_SUPPKEY"] AS INT) = CAST(S.var["S_SUPPKEY"] AS INT) +-- AND CAST(S.var["S_NATIONKEY"] AS INT) = CAST(N.var["N_NATIONKEY"] AS INT) +-- AND CAST(N.var["N_NAME"] AS TEXT) = 'GERMANY' +-- GROUP BY +-- CAST(PS.var["PS_PARTKEY"] AS INT) +-- HAVING +-- SUM(CAST(PS.var["PS_SUPPLYCOST"] AS DOUBLE) * CAST(PS.var["PS_AVAILQTY"] AS INT)) > ( +-- SELECT SUM(CAST(PSPS.var["PS_SUPPLYCOST"] AS DOUBLE) * CAST(PSPS.var["PS_AVAILQTY"] AS INT)) * 0.0001 +-- FROM +-- partsupp PSPS, +-- supplier SS, +-- nation NN +-- WHERE +-- CAST(PSPS.var["PS_SUPPKEY"] AS INT) = CAST(SS.var["S_SUPPKEY"] AS INT) +-- AND CAST(SS.var["S_NATIONKEY"] AS INT) = CAST(NN.var["N_NATIONKEY"] AS INT) +-- AND CAST(NN.var["N_NAME"] AS TEXT) = 'GERMANY' +-- ) +-- ORDER BY +-- VALUE DESC \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q12_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q12_trans.sql new file mode 100644 index 00000000000000..9df916cbc259ae --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q12_trans.sql @@ -0,0 +1,28 @@ +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + CAST(L.var["L_SHIPMODE"] AS TEXT), + SUM(CASE + WHEN CAST(O.var["O_ORDERPRIORITY"] AS TEXT) = '1-URGENT' + OR CAST(O.var["O_ORDERPRIORITY"] AS TEXT) = '2-HIGH' + THEN 1 + ELSE 0 + END) AS HIGH_LINE_COUNT, + SUM(CASE + WHEN CAST(O.var["O_ORDERPRIORITY"] AS TEXT) <> '1-URGENT' + AND CAST(O.var["O_ORDERPRIORITY"] AS TEXT) <> '2-HIGH' + THEN 1 + ELSE 0 + END) AS LOW_LINE_COUNT +FROM + orders O, + lineitem L +WHERE + CAST(O.var["O_ORDERKEY"] AS INT) = CAST(L.var["L_ORDERKEY"] AS INT) + AND CAST(L.var["L_SHIPMODE"] AS TEXT) IN ('MAIL', 'SHIP') + AND CAST(L.var["L_COMMITDATE"] AS DATE) < CAST(L.var["L_RECEIPTDATE"] AS DATE) + AND CAST(L.var["L_SHIPDATE"] AS DATE) < CAST(L.var["L_COMMITDATE"] AS DATE) + AND CAST(L.var["L_RECEIPTDATE"] AS DATE) >= DATE '1994-01-01' + AND CAST(L.var["L_RECEIPTDATE"] AS DATE) < DATE '1994-01-01' + INTERVAL '1' YEAR +GROUP BY + CAST(L.var["L_SHIPMODE"] AS TEXT) +ORDER BY + CAST(L.var["L_SHIPMODE"] AS TEXT) \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q13_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q13_trans.sql new file mode 100644 index 00000000000000..ef10868dcf3afe --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q13_trans.sql @@ -0,0 +1,20 @@ +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + C_COUNT, + COUNT(*) AS CUSTDIST +FROM ( + SELECT + CAST(C.var["C_CUSTKEY"] AS INT), + COUNT(CAST(O.var["O_ORDERKEY"] AS INT)) AS C_COUNT + FROM + customer C + LEFT OUTER JOIN orders O ON + CAST(C.var["C_CUSTKEY"] AS INT) = CAST(O.var["O_CUSTKEY"] AS INT) + AND CAST(O.var["O_COMMENT"] AS TEXT) NOT LIKE '%special%requests%' + GROUP BY + CAST(C.var["C_CUSTKEY"] AS INT) + ) AS C_orders +GROUP BY + C_COUNT +ORDER BY + CUSTDIST DESC, + C_COUNT DESC \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q14_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q14_trans.sql new file mode 100644 index 00000000000000..ddf798cc338f75 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q14_trans.sql @@ -0,0 +1,13 @@ +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ +100.00 * SUM(CASE + WHEN CAST(P.var["P_TYPE"] AS TEXT) LIKE 'PROMO%' + THEN CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE)) + ELSE 0 + END) / SUM(CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE))) AS PROMO_REVENUE +FROM + lineitem L, + part P +WHERE + CAST(L.var["L_PARTKEY"] AS INT) = CAST(P.var["P_PARTKEY"] AS INT) + AND CAST(L.var["L_SHIPDATE"] AS DATE) >= DATE '1995-09-01' + AND CAST(L.var["L_SHIPDATE"] AS DATE) < DATE '1995-09-01' + INTERVAL '1' MONTH \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q15_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q15_trans.sql new file mode 100644 index 00000000000000..01fe8615fca10f --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q15_trans.sql @@ -0,0 +1,18 @@ +-- SELECT +-- CAST(var["S_SUPPKEY"] AS INT), +-- CAST(var["S_NAME"] AS TEXT), +-- CAST(var["S_ADDRESS"] AS TEXT), +-- CAST(var["S_PHONE"] AS TEXT), +-- TOTAL_REVENUE +-- FROM +-- suppl Sier, +-- revenuRe1 +-- WHERE +-- CAST(var["S_SUPPKEY"] AS INT) = SUPPLIER_NO +-- AND TOTAL_REVENUE = ( +-- SELECT MAX(TOTAL_REVENUE) +-- FROM +-- revenue1 +-- ) +-- ORDER BY +-- CAST(var["S_SUPPKEY"] AS INT); \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q16_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q16_trans.sql new file mode 100644 index 00000000000000..2819cc03a5aa03 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q16_trans.sql @@ -0,0 +1,29 @@ +SELECT /*+SET_VAR(enable_fallback_to_original_planner=false) */ + CAST(P.var["P_BRAND"] AS TEXT), + CAST(P.var["P_TYPE"] AS TEXT), + CAST(P.var["P_SIZE"] AS INT), + COUNT(DISTINCT CAST(PS.var["PS_SUPPKEY"] AS INT)) AS SUPPLIER_CNT +FROM + partsupp PS, + part P +WHERE + CAST(P.var["P_PARTKEY"] AS INT) = CAST(PS.var["PS_PARTKEY"] AS INT) + AND CAST(P.var["P_BRAND"] AS TEXT) <> 'Brand#45' + AND CAST(P.var["P_TYPE"] AS TEXT) NOT LIKE 'MEDIUM POLISHED%' + AND CAST(P.var["P_SIZE"] AS INT) IN (49, 14, 23, 45, 19, 3, 36, 9) + AND CAST(PS.var["PS_SUPPKEY"] AS INT) NOT IN ( + SELECT CAST(S.var["S_SUPPKEY"] AS INT) + FROM + supplier S + WHERE + CAST(S.var["S_COMMENT"] AS TEXT) LIKE '%Customer%Complaints%' + ) +GROUP BY + CAST(P.var["P_BRAND"] AS TEXT), + CAST(P.var["P_TYPE"] AS TEXT), + CAST(P.var["P_SIZE"] AS INT) +ORDER BY + SUPPLIER_CNT DESC, + CAST(P.var["P_BRAND"] AS TEXT), + CAST(P.var["P_TYPE"] AS TEXT), + CAST(P.var["P_SIZE"] AS INT) \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q17_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q17_trans.sql new file mode 100644 index 00000000000000..5ebfd8d65effcc --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q17_trans.sql @@ -0,0 +1,16 @@ +-- ERROR: correlationFilter can't be null in correlatedToJoin +-- SELECT SUM(CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE)) / 7.0 AS AVG_YEARLY +-- FROM +-- lineitem L, +-- part P +-- WHERE +-- CAST(P.var["P_PARTKEY"] AS INT) = CAST(L.var["L_PARTKEY"] AS INT) +-- AND CAST(P.var["P_BRAND"] AS TEXT) = 'BRAND#23' +-- AND CAST(P.var["P_CONTAINER"] AS TEXT) = 'MED BOX' +-- AND CAST(L.var["L_QUANTITY"] AS DOUBLE) < ( +-- SELECT 0.2 * AVG(CAST(LL.var["L_QUANTITY"] AS DOUBLE)) +-- FROM +-- lineitem LL +-- WHERE +-- CAST(LL.var["L_PARTKEY"] AS INT) = CAST(P.var["P_PARTKEY"] AS INT) +-- ) \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q18_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q18_trans.sql new file mode 100644 index 00000000000000..ff4b65e425ef8c --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q18_trans.sql @@ -0,0 +1,34 @@ +-- ERROR: Not stable +-- SELECT +-- CAST(C.var["C_NAME"] AS TEXT), +-- CAST(C.var["C_CUSTKEY"] AS INT), +-- CAST(O.var["O_ORDERKEY"] AS INT), +-- CAST(O.var["O_ORDERDATE"] AS DATE), +-- CAST(O.var["O_TOTALPRICE"] AS DOUBLE), +-- SUM(CAST(L.var["L_QUANTITY"] AS DOUBLE)) +-- FROM +-- customer C, +-- orders O, +-- lineitem L +-- WHERE +-- CAST(O.var["O_ORDERKEY"] AS INT) IN ( +-- SELECT CAST(LL.var["L_ORDERKEY"] AS INT) +-- FROM +-- lineitem LL +-- GROUP BY +-- CAST(LL.var["L_ORDERKEY"] AS INT) +-- HAVING +-- SUM(CAST(LL.var["L_QUANTITY"] AS DOUBLE)) > 300 +-- ) +-- AND CAST(C.var["C_CUSTKEY"] AS INT) = CAST(O.var["O_CUSTKEY"] AS INT) +-- AND CAST(O.var["O_ORDERKEY"] AS INT) = CAST(L.var["L_ORDERKEY"] AS INT) +-- GROUP BY +-- CAST(C.var["C_NAME"] AS TEXT), +-- CAST(C.var["C_CUSTKEY"] AS INT), +-- CAST(O.var["O_ORDERKEY"] AS INT), +-- CAST(O.var["O_ORDERDATE"] AS DATE), +-- CAST(O.var["O_TOTALPRICE"] AS DOUBLE) +-- ORDER BY +-- CAST(O.var["O_TOTALPRICE"] AS DOUBLE) DESC, +-- CAST(O.var["O_ORDERDATE"] AS DATE) +-- LIMIT 100 \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q19_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q19_trans.sql new file mode 100644 index 00000000000000..c57d64b140f794 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q19_trans.sql @@ -0,0 +1,36 @@ +-- ERROR: +-- not stable +-- SELECT SUM(CAST(L.var["L_EXTENDEDPRICE"] AS DOUBLE) * (1 - CAST(L.var["L_DISCOUNT"] AS DOUBLE))) AS REVENUE +-- FROM +-- lineitem L, +-- part P +-- WHERE +-- ( +-- CAST(P.var["P_PARTKEY"] AS INT) = CAST(L.var["L_PARTKEY"] AS INT) +-- AND CAST(P.var["P_BRAND"] AS TEXT) = 'Brand#12' +-- AND CAST(P.var["P_CONTAINER"] AS TEXT) IN ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') +-- AND CAST(L.var["L_QUANTITY"] AS DOUBLE) >= 1 AND CAST(L.var["L_QUANTITY"] AS DOUBLE) <= 1 + 10 +-- AND CAST(P.var["P_SIZE"] AS INT) BETWEEN 1 AND 5 +-- AND CAST(L.var["L_SHIPMODE"] AS TEXT) IN ('AIR', 'AIR REG') +-- AND CAST(L.var["L_SHIPINSTRUCT"] AS TEXT) = 'DELIVER IN PERSON' +-- ) +-- OR +-- ( +-- CAST(P.var["P_PARTKEY"] AS INT) = CAST(L.var["L_PARTKEY"] AS INT) +-- AND CAST(P.var["P_BRAND"] AS TEXT) = 'Brand#23' +-- AND CAST(P.var["P_CONTAINER"] AS TEXT) IN ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') +-- AND CAST(L.var["L_QUANTITY"] AS DOUBLE) >= 10 AND CAST(L.var["L_QUANTITY"] AS DOUBLE) <= 10 + 10 +-- AND CAST(P.var["P_SIZE"] AS INT) BETWEEN 1 AND 10 +-- AND CAST(L.var["L_SHIPMODE"] AS TEXT) IN ('AIR', 'AIR REG') +-- AND CAST(L.var["L_SHIPINSTRUCT"] AS TEXT) = 'DELIVER IN PERSON' +-- ) +-- OR +-- ( +-- CAST(P.var["P_PARTKEY"] AS INT) = CAST(L.var["L_PARTKEY"] AS INT) +-- AND CAST(P.var["P_BRAND"] AS TEXT) = 'Brand#34' +-- AND CAST(P.var["P_CONTAINER"] AS TEXT) IN ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') +-- AND CAST(L.var["L_QUANTITY"] AS DOUBLE) >= 20 AND CAST(L.var["L_QUANTITY"] AS DOUBLE) <= 20 + 10 +-- AND CAST(P.var["P_SIZE"] AS INT) BETWEEN 1 AND 15 +-- AND CAST(L.var["L_SHIPMODE"] AS TEXT) IN ('AIR', 'AIR REG') +-- AND CAST(L.var["L_SHIPINSTRUCT"] AS TEXT) = 'DELIVER IN PERSON' +-- ) \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q20_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q20_trans.sql new file mode 100644 index 00000000000000..838d7f42fe3665 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q20_trans.sql @@ -0,0 +1,33 @@ +-- ERROR: correlationFilter can't be null in correlatedToJoin +-- SELECT +-- CAST(S.var["S_NAME"] AS TEXT), +-- CAST(S.var["S_ADDRESS"] AS TEXT) +-- FROM +-- supplier S, nation N +-- WHERE +-- CAST(S.var["S_SUPPKEY"] AS INT) IN ( +-- SELECT CAST(PS.var["PS_SUPPKEY"] AS INT) +-- FROM +-- partsupp PS +-- WHERE +-- CAST(PS.var["PS_PARTKEY"] AS INT) IN ( +-- SELECT CAST(P.var["P_PARTKEY"] AS INT) +-- FROM +-- part P +-- WHERE +-- CAST(P.var["P_NAME"] AS TEXT) LIKE 'FOREST%' +-- ) +-- AND CAST(PS.var["PS_AVAILQTY"] AS INT) > ( +-- SELECT 0.5 * SUM(CAST(L.var["L_QUANTITY"] AS DOUBLE)) +-- FROM +-- lineitem L +-- WHERE +-- CAST(L.var["L_PARTKEY"] AS INT) = CAST(PS.var["PS_PARTKEY"] AS INT) +-- AND CAST(L.var["L_SUPPKEY"] AS INT) = CAST(PS.var["PS_SUPPKEY"] AS INT) +-- AND CAST(L.var["L_SHIPDATE"] AS DATE) >= DATE('1994-01-01') +-- AND CAST(L.var["L_SHIPDATE"] AS DATE) < DATE('1994-01-01') + INTERVAL '1' YEAR +-- ) +-- ) +-- AND CAST(S.var["S_NATIONKEY"] AS INT) = CAST(N.var["N_NATIONKEY"] AS INT) +-- AND CAST(N.var["N_NAME"] AS TEXT) = 'CANADA' +-- ORDER BY CAST(S.var["S_NAME"] AS TEXT) \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q21_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q21_trans.sql new file mode 100644 index 00000000000000..057e718d250a68 --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q21_trans.sql @@ -0,0 +1,39 @@ +-- ERROR: No value present +-- SELECT +-- CAST(S.var["S_NAME"] AS TEXT), +-- COUNT(*) AS NUMWAIT +-- FROM +-- supplier S, +-- lineitem L1, +-- orders O, +-- nation N +-- WHERE +-- CAST(S.var["S_SUPPKEY"] AS INT) = CAST(L1.var["L_SUPPKEY"] AS INT) +-- AND CAST(O.var["O_ORDERKEY"] AS INT) = CAST(L1.var["L_ORDERKEY"] AS INT) +-- AND CAST(O.var["O_ORDERSTATUS"] as text)= 'F' +-- AND CAST(L1.var["L_RECEIPTDATE"] AS DATE) > CAST(L1.var["L_COMMITDATE"] AS DATE) +-- AND EXISTS( +-- SELECT * +-- FROM +-- lineitem L2 +-- WHERE +-- CAST(L2.var["L_ORDERKEY"] AS INT) = CAST(L1.var["L_ORDERKEY"] AS INT) +-- AND CAST(L2.var["L_SUPPKEY"] AS INT) <> CAST(L1.var["L_SUPPKEY"] AS INT) +-- ) +-- AND NOT EXISTS( +-- SELECT * +-- FROM +-- lineitem L3 +-- WHERE +-- CAST(L3.var["L_ORDERKEY"] AS INT) = CAST(L1.var["L_ORDERKEY"] AS INT) +-- AND CAST(L3.var["L_SUPPKEY"] AS INT) <> CAST(L1.var["L_SUPPKEY"] AS INT) +-- AND CAST(L3.var["L_RECEIPTDATE"] AS DATE) > CAST(L3.var["L_COMMITDATE"] AS DATE) +-- ) +-- AND CAST(S.var["S_NATIONKEY"] AS INT) = CAST(N.var["N_NATIONKEY"] AS INT) +-- AND CAST(N.var["N_NAME"] AS TEXT) = 'SAUDI ARABIA' +-- GROUP BY +-- CAST(S.var["S_NAME"] AS TEXT) +-- ORDER BY +-- NUMWAIT DESC, +-- CAST(S.var["S_NAME"] AS TEXT) +-- LIMIT 100 \ No newline at end of file diff --git a/regression-test/suites/variant_p2/tpch_upgrade/sql/q22_trans.sql b/regression-test/suites/variant_p2/tpch_upgrade/sql/q22_trans.sql new file mode 100644 index 00000000000000..f25dcfcdafa39b --- /dev/null +++ b/regression-test/suites/variant_p2/tpch_upgrade/sql/q22_trans.sql @@ -0,0 +1,35 @@ +-- ERROR: No value present +-- SELECT +-- CNTRYCODE, +-- COUNT(*) AS NUMCUST, +-- SUM(C_ACCTBAL) AS TOTACCTBAL +-- FROM ( +-- SELECT +-- SUBSTR(CAST(C.var["C_PHONE"] AS TEXT), 1, 2) AS CNTRYCODE, +-- CAST(C.var["C_ACCTBAL"] AS DOUBLE) as C_ACCTBAL +-- FROM +-- customer C +-- WHERE +-- SUBSTR(CAST(C.var["C_PHONE"] AS TEXT), 1, 2) IN +-- ('13', '31', '23', '29', '30', '18', '17') +-- AND CAST(C.var["C_ACCTBAL"] AS DOUBLE) > ( +-- SELECT AVG(CAST(C.var["C_ACCTBAL"] AS DOUBLE)) +-- FROM +-- customer CC +-- WHERE +-- CAST(CC.var["C_ACCTBAL"] AS DOUBLE) > 0.00 +-- AND SUBSTR(CAST(CC.var["C_PHONE"] AS TEXT), 1, 2) IN +-- ('13', '31', '23', '29', '30', '18', '17') +-- ) +-- AND NOT EXISTS( +-- SELECT * +-- FROM +-- orders O +-- WHERE +-- CAST(O.var["O_CUSTKEY"] AS INT) = CAST(C.var["C_CUSTKEY"] AS INT) +-- ) +-- ) AS CUSTSALE +-- GROUP BY +-- CNTRYCODE +-- ORDER BY +-- CNTRYCODE \ No newline at end of file