google-nomulus/java/google/registry/tools/sql/registry_data_view.sql
Chris Tingue 9c28534b64 Add --set_current_tld_state to UpdateTldCommand
This feature would have been useful earlier when I was changing the TLD
state on a sandbox TLD on-the-fly for testing purposes.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=128088578
2016-08-02 19:02:19 -04:00

46 lines
1.9 KiB
SQL

-- Copyright 2016 The Domain Registry Authors. All Rights Reserved.
--
-- Licensed 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.
-- Registry Data View SQL
--
-- This query lists registry fields necessary for billing.
--
-- TODO(b/20764952): extend this view to support timed transition properties.
-- TODO(b/18092292): add a column for whether the TLD is "billable" or not.
SELECT
tldStr AS tld,
tldType AS type,
-- This relies on the fact that we currently haven't ever used more than one
-- value with renewBillingCostTransitions.
-- TODO(b/20764952): fix this limitation.
FIRST(renewBillingCostTransitions.billingCost) WITHIN RECORD
AS renewBillingCost,
-- Grace period lengths are stored in the ISO 8601 duration format as a
-- duration in seconds, which produces a string of the form "PT####S".
INTEGER(REGEXP_EXTRACT(autoRenewGracePeriodLength, r'PT(.+)S'))
AS autorenewGracePeriodSeconds,
premiumList.path AS premiumListPath,
-- TODO(b/18265521): remove this column once the referenced bug is fixed;
-- this column is only included because without it BigQuery will complain
-- that we aren't consuming reservedLists (due to it having a repeated .path
-- child field, which overlaps with premiumList.path above).
GROUP_CONCAT_UNQUOTED(reservedLists.path, "/") WITHIN RECORD
AS reservedListPaths,
FROM
[%SOURCE_DATASET%.Registry]
WHERE
-- Filter out Registry 1.0 data - TODO(b/20828509): remove this.
__key__.namespace = ''
ORDER BY
tld