1-- 2-- Copyright 2023 The Android Open Source Project 3-- 4-- Licensed under the Apache License, Version 2.0 (the "License"); 5-- you may not use this file except in compliance with the License. 6-- You may obtain a copy of the License at 7-- 8-- https://www.apache.org/licenses/LICENSE-2.0 9-- 10-- Unless required by applicable law or agreed to in writing, software 11-- distributed under the License is distributed on an "AS IS" BASIS, 12-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13-- See the License for the specific language governing permissions and 14-- limitations under the License. 15 16-- sqlformat file off 17-- TODO(lalitm): this is necessary because of AS TEXT cast which gets converted 18-- to AS STRING which we don't want. Relax this when we improve the formatting 19-- script. 20 21-- Casts |value| to INT. 22CREATE PERFETTO MACRO cast_int( 23 -- Query or subquery that will be cast. 24 value Expr 25) RETURNS Expr AS 26CAST($value AS INT); 27 28-- Casts |value| to DOUBLE. 29CREATE PERFETTO MACRO cast_double( 30 -- Query or subquery that will be cast. 31 value Expr 32) RETURNS Expr AS 33CAST($value AS REAL); 34 35-- Casts |value| to STRING. 36CREATE PERFETTO MACRO cast_string( 37 -- Query or subquery that will be cast. 38 value Expr 39) RETURNS Expr AS 40CAST($value AS TEXT);