diff --git a/src/trace_processor/metrics/sql/android/android_batt.sql b/src/trace_processor/metrics/sql/android/android_batt.sql
index 070a518..9b8de86 100644
--- a/src/trace_processor/metrics/sql/android/android_batt.sql
+++ b/src/trace_processor/metrics/sql/android/android_batt.sql
@@ -25,7 +25,7 @@
   SELECT distinct(ts) AS ts
   FROM counter c
   JOIN counter_track t on c.track_id = t.id
-  WHERE name LIKE 'batt.%'
+  WHERE name GLOB 'batt.*'
 ) AS all_ts
 LEFT JOIN (
   SELECT ts, value AS current_avg_ua
@@ -78,7 +78,7 @@
                 true
             ) AS new_group
         FROM slice
-        WHERE slice.name LIKE 'WakeLock %' AND dur != -1
+        WHERE slice.name GLOB 'WakeLock *' AND dur != -1
     )
 )
 GROUP BY group_id;
diff --git a/src/trace_processor/metrics/sql/android/android_camera.sql b/src/trace_processor/metrics/sql/android/android_camera.sql
index f8ba2af..791c922 100644
--- a/src/trace_processor/metrics/sql/android/android_camera.sql
+++ b/src/trace_processor/metrics/sql/android/android_camera.sql
@@ -30,7 +30,7 @@
 JOIN (
   SELECT max(start_ts), upid
   FROM process
-  WHERE name LIKE '%GoogleCamera%'
+  WHERE name GLOB '*GoogleCamera*'
   LIMIT 1
 ) AS gca USING (upid);
 
@@ -42,7 +42,7 @@
 JOIN (
   SELECT max(start_ts), upid
   FROM process
-  WHERE name LIKE '%camera.provider%'
+  WHERE name GLOB '*camera.provider*'
   LIMIT 1
 ) AS hal USING (upid);
 
diff --git a/src/trace_processor/metrics/sql/android/android_dvfs.sql b/src/trace_processor/metrics/sql/android/android_dvfs.sql
index a5872df..d8162b1 100644
--- a/src/trace_processor/metrics/sql/android/android_dvfs.sql
+++ b/src/trace_processor/metrics/sql/android/android_dvfs.sql
@@ -25,7 +25,7 @@
       OVER (PARTITION by track.id ORDER BY ts)  - ts AS duration
   FROM counter
   LEFT JOIN track ON counter.track_id = track.id
-  WHERE track.name LIKE "% Frequency"
+  WHERE track.name GLOB "* Frequency"
   ORDER BY ts;
 
 DROP VIEW IF EXISTS freq_total_duration;
@@ -82,6 +82,7 @@
   GROUP BY track_id, freq_name
   ORDER BY freq_name;
 
+DROP VIEW IF EXISTS android_dvfs_output;
 CREATE VIEW android_dvfs_output AS
   SELECT AndroidDVFSMetric(
     'freq_residencies', (
diff --git a/src/trace_processor/metrics/sql/android/android_fastrpc.sql b/src/trace_processor/metrics/sql/android/android_fastrpc.sql
index 81da811..e381668 100644
--- a/src/trace_processor/metrics/sql/android/android_fastrpc.sql
+++ b/src/trace_processor/metrics/sql/android/android_fastrpc.sql
@@ -9,7 +9,7 @@
   value
 FROM counter JOIN counter_track
   ON counter.track_id = counter_track.id
-WHERE (name LIKE 'mem.fastrpc[%');
+WHERE (name GLOB 'mem.fastrpc[[]*');
 
 DROP VIEW IF EXISTS fastrpc_subsystem_stats;
 CREATE VIEW fastrpc_subsystem_stats AS
@@ -29,7 +29,7 @@
   value AS instant_value,
   SUM(value) OVER win AS value
 FROM counter c JOIN thread_counter_track t ON c.track_id = t.id
-WHERE name LIKE 'mem.fastrpc_change%' AND value > 0
+WHERE name GLOB 'mem.fastrpc_change*' AND value > 0
 WINDOW win AS (
   PARTITION BY name ORDER BY ts
   ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
diff --git a/src/trace_processor/metrics/sql/android/android_hwui_metric.sql b/src/trace_processor/metrics/sql/android/android_hwui_metric.sql
index 585e515..1a33e22 100644
--- a/src/trace_processor/metrics/sql/android/android_hwui_metric.sql
+++ b/src/trace_processor/metrics/sql/android/android_hwui_metric.sql
@@ -39,7 +39,7 @@
   thread_track.utid as render_thread_id
 FROM slice
 INNER JOIN thread_track ON (thread_track.id = slice.track_id)
-WHERE slice.name LIKE 'DrawFrame%' AND slice.dur >= 0
+WHERE slice.name GLOB 'DrawFrame*' AND slice.dur >= 0
 GROUP BY thread_track.utid;
 
 DROP VIEW IF EXISTS hwui_flush_commands;
@@ -79,7 +79,7 @@
 FROM slice
 INNER JOIN thread_track ON (thread_track.id = slice.track_id)
 INNER JOIN thread ON (thread.name='GPU completion' AND thread.utid = thread_track.utid)
-WHERE slice.name LIKE 'waiting for GPU completion%' AND slice.dur >= 0
+WHERE slice.name GLOB 'waiting for GPU completion*' AND slice.dur >= 0
 GROUP BY thread_track.utid;
 
 DROP VIEW IF EXISTS hwui_ui_record;
diff --git a/src/trace_processor/metrics/sql/android/android_hwui_threads.sql b/src/trace_processor/metrics/sql/android/android_hwui_threads.sql
index 942005b..ee6a3ab 100644
--- a/src/trace_processor/metrics/sql/android/android_hwui_threads.sql
+++ b/src/trace_processor/metrics/sql/android/android_hwui_threads.sql
@@ -69,7 +69,7 @@
     *,
     CAST(STR_SPLIT(name, ' ', 1) AS INTEGER) as vsync
   FROM {{table_name_prefix}}_main_thread_slices
-  WHERE name LIKE 'Choreographer#doFrame%';
+  WHERE name GLOB 'Choreographer#doFrame*';
 
 DROP TABLE IF EXISTS {{table_name_prefix}}_render_thread_slices;
 CREATE TABLE {{table_name_prefix}}_render_thread_slices AS
@@ -89,7 +89,7 @@
     *,
     CAST(STR_SPLIT(name, ' ', 1) AS INTEGER) as vsync
   FROM {{table_name_prefix}}_render_thread_slices
-  WHERE name LIKE 'DrawFrame%';
+  WHERE name GLOB 'DrawFrame*';
 
 DROP VIEW IF EXISTS {{table_name_prefix}}_gpu_completion_slices;
 CREATE VIEW {{table_name_prefix}}_gpu_completion_slices AS
@@ -103,7 +103,7 @@
   FROM slice
   JOIN thread_track ON slice.track_id = thread_track.id
   JOIN {{table_name_prefix}}_gpu_completion_thread thread USING (utid)
-  WHERE slice.name LIKE 'waiting for GPU completion %'
+  WHERE slice.name GLOB 'waiting for GPU completion *'
   AND dur > 0;
 
 DROP VIEW IF EXISTS {{table_name_prefix}}_hwc_release_slices;
@@ -118,5 +118,5 @@
   FROM slice
   JOIN thread_track ON slice.track_id = thread_track.id
   JOIN {{table_name_prefix}}_hwc_release_thread thread USING (utid)
-  WHERE slice.name LIKE 'waiting for HWC release %'
+  WHERE slice.name GLOB 'waiting for HWC release *'
   AND dur > 0;
diff --git a/src/trace_processor/metrics/sql/android/android_ion.sql b/src/trace_processor/metrics/sql/android/android_ion.sql
index 93fe8ac..4d61843 100644
--- a/src/trace_processor/metrics/sql/android/android_ion.sql
+++ b/src/trace_processor/metrics/sql/android/android_ion.sql
@@ -28,7 +28,7 @@
   value
 FROM counter JOIN counter_track
   ON counter.track_id = counter_track.id
-WHERE (name LIKE 'mem.ion.%' OR name = 'mem.ion');
+WHERE (name GLOB 'mem.ion.*' OR name = 'mem.ion');
 
 DROP VIEW IF EXISTS ion_heap_stats;
 CREATE VIEW ion_heap_stats AS
@@ -51,7 +51,7 @@
   value AS instant_value,
   SUM(value) OVER win AS value
 FROM counter c JOIN thread_counter_track t ON c.track_id = t.id
-WHERE (name LIKE 'mem.ion_change.%' OR name = 'mem.ion_change') AND value > 0
+WHERE (name GLOB 'mem.ion_change.*' OR name = 'mem.ion_change') AND value > 0
 WINDOW win AS (
   PARTITION BY name ORDER BY ts
   ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
diff --git a/src/trace_processor/metrics/sql/android/android_jank.sql b/src/trace_processor/metrics/sql/android/android_jank.sql
index 44f7d81..9c2cc22 100644
--- a/src/trace_processor/metrics/sql/android/android_jank.sql
+++ b/src/trace_processor/metrics/sql/android/android_jank.sql
@@ -157,7 +157,7 @@
   ts,
   dur
 FROM android_jank_main_thread_slices
-WHERE name LIKE 'Choreographer#doFrame%'
+WHERE name GLOB 'Choreographer#doFrame*'
 AND dur >= 5000000;
 
 CREATE VIRTUAL TABLE IF NOT EXISTS android_jank_do_frame_slices_state_scheduled
@@ -213,7 +213,7 @@
   dur,
   'Expensive rendering with Canvas#saveLayer()' as alert_name
 FROM android_jank_render_thread_slices
-WHERE name LIKE '%alpha caused %saveLayer %'
+WHERE name GLOB '*alpha caused *saveLayer *'
 AND dur >= 1000000;
 
 -- Path texture churn
@@ -239,7 +239,7 @@
   dur,
   'Expensive Bitmap uploads' as alert_name
 FROM android_jank_render_thread_slices
-WHERE name LIKE 'Upload %x% Texture'
+WHERE name GLOB 'Upload *x* Texture'
 AND dur >= 3000000;
 
 -- Merge all alerts tables into one table
diff --git a/src/trace_processor/metrics/sql/android/android_lmk.sql b/src/trace_processor/metrics/sql/android/android_lmk.sql
index 8c66278..ca20c90 100644
--- a/src/trace_processor/metrics/sql/android/android_lmk.sql
+++ b/src/trace_processor/metrics/sql/android/android_lmk.sql
@@ -52,7 +52,7 @@
       slice.dur,
       CAST(STR_SPLIT(slice.name, ",", 1) AS INTEGER) AS pid
     FROM slice
-    WHERE slice.name LIKE 'lmk,%'
+    WHERE slice.name GLOB 'lmk,*'
 ),
 lmks_with_proc_name AS (
   SELECT
diff --git a/src/trace_processor/metrics/sql/android/android_powrails.sql b/src/trace_processor/metrics/sql/android/android_powrails.sql
index 656cb15..626f7c4 100644
--- a/src/trace_processor/metrics/sql/android/android_powrails.sql
+++ b/src/trace_processor/metrics/sql/android/android_powrails.sql
@@ -20,7 +20,7 @@
 SELECT value, ts/1000000 AS ts, name
 FROM counter c
 JOIN counter_track t on c.track_id = t.id
-WHERE name LIKE 'power.%';
+WHERE name GLOB 'power.*';
 
 DROP VIEW IF EXISTS avg_used_powers;
 CREATE VIEW avg_used_powers AS
diff --git a/src/trace_processor/metrics/sql/android/android_simpleperf.sql b/src/trace_processor/metrics/sql/android/android_simpleperf.sql
index fa58575..1b7f85c 100644
--- a/src/trace_processor/metrics/sql/android/android_simpleperf.sql
+++ b/src/trace_processor/metrics/sql/android/android_simpleperf.sql
@@ -23,7 +23,7 @@
   name,
   value
 FROM counters
-WHERE name LIKE 'slc/qurg2\___:lvl=0x_%' ESCAPE '\';
+WHERE name GLOB 'slc/qurg2_??:lvl=0x_*';
 
 -- Find all counters from track that satisfies regex 'slc/qurg2_(wr|rd):lvl=0x(1|3|7)%'
 DROP VIEW IF EXISTS non_zero_qurg2;
@@ -31,7 +31,7 @@
 SELECT
   *
 FROM all_qurg2
-WHERE name NOT LIKE 'slc/qurg2\___:lvl=0x0%' ESCAPE '\';
+WHERE name NOT GLOB 'slc/qurg2_??:lvl=0x0*';
 
 DROP VIEW IF EXISTS android_simpleperf_output;
 CREATE VIEW android_simpleperf_output AS
diff --git a/src/trace_processor/metrics/sql/android/android_startup.sql b/src/trace_processor/metrics/sql/android/android_startup.sql
index 20eaefe..c097ece 100644
--- a/src/trace_processor/metrics/sql/android/android_startup.sql
+++ b/src/trace_processor/metrics/sql/android/android_startup.sql
@@ -58,7 +58,7 @@
 DROP VIEW IF EXISTS zygote_fork_slice;
 CREATE VIEW zygote_fork_slice AS
 SELECT slice.ts, slice.dur, STR_SPLIT(slice.name, ": ", 1) AS process_name
-FROM slice WHERE name LIKE 'Start proc: %';
+FROM slice WHERE name GLOB 'Start proc: *';
 
 DROP TABLE IF EXISTS zygote_forks_by_id;
 CREATE TABLE zygote_forks_by_id AS
@@ -147,28 +147,28 @@
   'inflate',
   'ResourcesManager#getResources',
   'binder transaction')
-  OR slice.name LIKE 'performResume:%'
-  OR slice.name LIKE 'performCreate:%'
-  OR slice.name LIKE 'location=% status=% filter=% reason=%'
-  OR slice.name LIKE 'OpenDexFilesFromOat%'
-  OR slice.name LIKE 'VerifyClass%'
-  OR slice.name LIKE 'Choreographer#doFrame%'
-  OR slice.name LIKE 'JIT compiling%'
-  OR slice.name LIKE '%mark sweep GC'
-  OR slice.name LIKE '%concurrent copying GC'
-  OR slice.name LIKE '%semispace GC';
+  OR slice.name GLOB 'performResume:*'
+  OR slice.name GLOB 'performCreate:*'
+  OR slice.name GLOB 'location=* status=* filter=* reason=*'
+  OR slice.name GLOB 'OpenDexFilesFromOat*'
+  OR slice.name GLOB 'VerifyClass*'
+  OR slice.name GLOB 'Choreographer#doFrame*'
+  OR slice.name GLOB 'JIT compiling*'
+  OR slice.name GLOB '*mark sweep GC'
+  OR slice.name GLOB '*concurrent copying GC'
+  OR slice.name GLOB '*semispace GC';
 
 DROP TABLE IF EXISTS main_process_slice;
 CREATE TABLE main_process_slice AS
 SELECT
   launch_id,
   CASE
-    WHEN slice_name LIKE 'OpenDexFilesFromOat%' THEN 'OpenDexFilesFromOat'
-    WHEN slice_name LIKE 'VerifyClass%' THEN 'VerifyClass'
-    WHEN slice_name LIKE 'JIT compiling%' THEN 'JIT compiling'
-    WHEN slice_name LIKE '%mark sweep GC' THEN 'GC'
-    WHEN slice_name LIKE '%concurrent copying GC' THEN 'GC'
-    WHEN slice_name LIKE '%semispace GC' THEN 'GC'
+    WHEN slice_name GLOB 'OpenDexFilesFromOat*' THEN 'OpenDexFilesFromOat'
+    WHEN slice_name GLOB 'VerifyClass*' THEN 'VerifyClass'
+    WHEN slice_name GLOB 'JIT compiling*' THEN 'JIT compiling'
+    WHEN slice_name GLOB '*mark sweep GC' THEN 'GC'
+    WHEN slice_name GLOB '*concurrent copying GC' THEN 'GC'
+    WHEN slice_name GLOB '*semispace GC' THEN 'GC'
     ELSE slice_name
   END AS name,
   AndroidStartupMetric_Slice(
@@ -192,7 +192,7 @@
   JOIN slice ON (
     slice.track_id = thread_track.id
     AND slice.ts >= launches.ts)
-  WHERE slice.name LIKE 'reportFullyDrawn%'
+  WHERE slice.name GLOB 'reportFullyDrawn*'
   GROUP BY launches.id
 )
 SELECT
@@ -224,9 +224,9 @@
     launch_id
   FROM main_process_slice_unaggregated
   WHERE (
-    slice_name LIKE '%mark sweep GC'
-    OR slice_name LIKE '%concurrent copying GC'
-    OR slice_name LIKE '%semispace GC');
+    slice_name GLOB '*mark sweep GC'
+    OR slice_name GLOB '*concurrent copying GC'
+    OR slice_name GLOB '*semispace GC');
 
 DROP TABLE IF EXISTS gc_slices_by_state;
 CREATE VIRTUAL TABLE gc_slices_by_state
@@ -254,7 +254,7 @@
 CREATE TABLE activity_names_materialized AS
 SELECT launch_id, slice_name, slice_ts
 FROM main_process_slice_unaggregated
-WHERE (slice_name LIKE 'performResume:%' OR slice_name LIKE 'performCreate:%');
+WHERE (slice_name GLOB 'performResume:*' OR slice_name GLOB 'performCreate:*');
 
 DROP TABLE IF EXISTS jit_compiled_methods_materialized;
 CREATE TABLE jit_compiled_methods_materialized AS
@@ -263,7 +263,7 @@
   COUNT(1) as count
 FROM main_process_slice_unaggregated
 WHERE
-  slice_name LIKE 'JIT compiling%'
+  slice_name GLOB 'JIT compiling*'
   AND thread_name = 'Jit thread pool'
 GROUP BY launch_id;
 
@@ -306,7 +306,7 @@
   'PROTO', '
     SELECT slice_proto
     FROM main_process_slice s
-    WHERE s.launch_id = $launch_id AND name LIKE $name
+    WHERE s.launch_id = $launch_id AND name GLOB $name
     LIMIT 1
   ');
 
@@ -445,7 +445,7 @@
       'time_activity_start', MAIN_PROCESS_SLICE_PROTO(launches.id, 'activityStart'),
       'time_activity_resume', MAIN_PROCESS_SLICE_PROTO(launches.id, 'activityResume'),
       'time_activity_restart', MAIN_PROCESS_SLICE_PROTO(launches.id, 'activityRestart'),
-      'time_choreographer', MAIN_PROCESS_SLICE_PROTO(launches.id, 'Choreographer#doFrame%'),
+      'time_choreographer', MAIN_PROCESS_SLICE_PROTO(launches.id, 'Choreographer#doFrame*'),
       'time_inflate', MAIN_PROCESS_SLICE_PROTO(launches.id, 'inflate'),
       'time_get_resources', MAIN_PROCESS_SLICE_PROTO(launches.id, 'ResourcesManager#getResources'),
       'time_dex_open', MAIN_PROCESS_SLICE_PROTO(launches.id, 'OpenDexFilesFromOat'),
@@ -519,7 +519,7 @@
         'compilation_reason', STR_SPLIT(name, ' reason=', 1)
       ))
       FROM main_process_slice s
-      WHERE name LIKE 'location=% status=% filter=% reason=%'
+      WHERE name GLOB 'location=* status=* filter=* reason=*'
     )
   ) as startup
 FROM launches;
diff --git a/src/trace_processor/metrics/sql/android/android_surfaceflinger.sql b/src/trace_processor/metrics/sql/android/android_surfaceflinger.sql
index daa9fda..b00e491 100644
--- a/src/trace_processor/metrics/sql/android/android_surfaceflinger.sql
+++ b/src/trace_processor/metrics/sql/android/android_surfaceflinger.sql
@@ -53,7 +53,7 @@
   CAST(SUBSTR(s.name, 28) AS UINT32) AS fence_id,
   ts AS start_ts
 FROM slices s JOIN surfaceflinger_track t ON s.track_id = t.track_id
-WHERE s.name LIKE 'Trace GPU completion fence %';
+WHERE s.name GLOB 'Trace GPU completion fence *';
 
 DROP VIEW IF EXISTS gpu_waiting_end;
 CREATE VIEW gpu_waiting_end AS
@@ -62,7 +62,7 @@
   dur,
   ts+dur AS end_ts
 FROM slices s JOIN surfaceflinger_track t ON s.track_id = t.track_id
-WHERE s.name LIKE 'waiting for GPU completion %';
+WHERE s.name GLOB 'waiting for GPU completion *';
 
 DROP VIEW IF EXISTS gpu_waiting_span;
 CREATE VIEW gpu_waiting_span AS
diff --git a/src/trace_processor/metrics/sql/android/android_sysui_cuj.sql b/src/trace_processor/metrics/sql/android/android_sysui_cuj.sql
index 6b5c58d..073c247 100644
--- a/src/trace_processor/metrics/sql/android/android_sysui_cuj.sql
+++ b/src/trace_processor/metrics/sql/android/android_sysui_cuj.sql
@@ -30,11 +30,11 @@
   JOIN process USING (upid)
   JOIN process_metadata USING (upid)
   WHERE
-    slice.name LIKE 'J<%>'
+    slice.name GLOB 'J<*>'
     AND slice.dur > 0
     AND (
-      process.name LIKE 'com.google.android%'
-      OR process.name LIKE 'com.android.%')
+      process.name GLOB 'com.google.android*'
+      OR process.name GLOB 'com.android.*')
   ORDER BY ts desc
   LIMIT 1;
 
@@ -64,7 +64,7 @@
     CAST(actual.name as INTEGER) as vsync,
     actual.ts as ts_actual,
     actual.dur as dur_actual,
-    actual.jank_type LIKE '%App Deadline Missed%' as app_missed,
+    actual.jank_type GLOB '*App Deadline Missed*' as app_missed,
     actual.jank_type,
     actual.on_time_finish
   FROM android_sysui_cuj_last_cuj cuj
@@ -162,8 +162,8 @@
 CREATE TABLE android_sysui_cuj_jit_slices AS
 SELECT *
 FROM android_sysui_cuj_slices_in_cuj
-WHERE thread_name LIKE 'Jit thread pool%'
-AND name LIKE 'JIT compiling%'
+WHERE thread_name GLOB 'Jit thread pool*'
+AND name GLOB 'JIT compiling*'
 AND parent_id IS NULL;
 
 DROP TABLE IF EXISTS android_sysui_cuj_frames;
@@ -180,7 +180,7 @@
     JOIN android_sysui_cuj_render_thread_slices_in_cuj rts ON rts.ts < gcs.ts
     -- dispatchFrameCallbacks might be seen in case of
     -- drawing that happens on RT only (e.g. ripple effect)
-    WHERE (rts.name LIKE 'DrawFrame%' OR rts.name = 'dispatchFrameCallbacks')
+    WHERE (rts.name GLOB 'DrawFrame*' OR rts.name = 'dispatchFrameCallbacks')
     GROUP BY gcs.ts, gcs.ts_end, gcs.dur, gcs.idx
   ),
   frame_boundaries AS (
diff --git a/src/trace_processor/metrics/sql/android/cpu_info.sql b/src/trace_processor/metrics/sql/android/cpu_info.sql
index 1e04a3e..0f2c0f0 100644
--- a/src/trace_processor/metrics/sql/android/cpu_info.sql
+++ b/src/trace_processor/metrics/sql/android/cpu_info.sql
@@ -30,7 +30,7 @@
 FROM power_profile pp
 WHERE EXISTS (
   SELECT 1 FROM metadata
-  WHERE name = 'android_build_fingerprint' AND str_value LIKE '%' || pp.device || '%');
+  WHERE name = 'android_build_fingerprint' AND str_value GLOB '*' || pp.device || '*');
 
 DROP VIEW IF EXISTS core_cluster_per_cpu;
 CREATE VIEW core_cluster_per_cpu AS
diff --git a/src/trace_processor/metrics/sql/android/g2d_duration.sql b/src/trace_processor/metrics/sql/android/g2d_duration.sql
index b4a167b..653af6b 100644
--- a/src/trace_processor/metrics/sql/android/g2d_duration.sql
+++ b/src/trace_processor/metrics/sql/android/g2d_duration.sql
@@ -23,7 +23,7 @@
   value AS g2d_value,
   LEAD(value, 1, -1) OVER (PARTITION BY name ORDER BY ts) AS next_g2d_value
 FROM counter c JOIN thread_counter_track t ON t.id = c.track_id
-WHERE t.name LIKE 'g2d_frame_{{g2d_type}}%';
+WHERE t.name GLOB 'g2d_frame_{{g2d_type}}*';
 
 
 DROP VIEW IF EXISTS g2d_{{g2d_type}}_spans;
diff --git a/src/trace_processor/metrics/sql/android/power_drain_in_watts.sql b/src/trace_processor/metrics/sql/android/power_drain_in_watts.sql
index 1fbfec3..464da59 100644
--- a/src/trace_processor/metrics/sql/android/power_drain_in_watts.sql
+++ b/src/trace_processor/metrics/sql/android/power_drain_in_watts.sql
@@ -87,5 +87,4 @@
 FROM counter
   JOIN counter_track ON (counter.track_id = counter_track.id)
 WHERE counter_track.type = 'counter_track'
-  AND name LIKE "power.%";
-
+  AND name GLOB "power.*";
diff --git a/src/trace_processor/metrics/sql/android/process_metadata.sql b/src/trace_processor/metrics/sql/android/process_metadata.sql
index 6e0e6d3..6873bb2 100644
--- a/src/trace_processor/metrics/sql/android/process_metadata.sql
+++ b/src/trace_processor/metrics/sql/android/process_metadata.sql
@@ -32,7 +32,7 @@
       -- have seen a racy capture.
     WHEN length(process.name) = 15 AND (
       process.cmdline in ('zygote', 'zygote64', '<pre-initialized>')
-      OR process.cmdline like '%' || process.name)
+      OR process.cmdline GLOB '*' || process.name)
     THEN process.cmdline
     ELSE process.name
   END AS process_name,
@@ -51,7 +51,7 @@
     -- unique match
     uid_package_count.cnt = 1
     -- or process name starts with the package name
-    OR process.name LIKE plist.package_name || '%')
+    OR process.name GLOB plist.package_name || '*')
   );
 
 DROP VIEW IF EXISTS process_metadata;
diff --git a/src/trace_processor/metrics/sql/android/startup/hsc.sql b/src/trace_processor/metrics/sql/android/startup/hsc.sql
index 5c0a618..09db7d9 100644
--- a/src/trace_processor/metrics/sql/android/startup/hsc.sql
+++ b/src/trace_processor/metrics/sql/android/startup/hsc.sql
@@ -39,7 +39,7 @@
 FROM slices
 INNER JOIN process_track on slices.track_id = process_track.id
 INNER JOIN thread USING(upid)
-WHERE slices.name LIKE "animator%";
+WHERE slices.name GLOB "animator*";
 
 DROP VIEW IF EXISTS frame_times;
 CREATE VIEW frame_times AS
@@ -50,8 +50,8 @@
     launches.id AS launch_id,
     ROW_NUMBER() OVER(PARTITION BY launches.id ORDER BY functions.ts ASC) as number
 FROM functions
-INNER JOIN launches on launches.package LIKE '%' || functions.process_name || '%'
-WHERE functions.function_name LIKE "Choreographer#doFrame%" AND functions.ts > launches.ts;
+INNER JOIN launches on launches.package GLOB '*' || functions.process_name || '*'
+WHERE functions.function_name GLOB "Choreographer#doFrame*" AND functions.ts > launches.ts;
 
 DROP TABLE IF EXISTS hsc_based_startup_times;
 CREATE TABLE hsc_based_startup_times(package STRING, id INT, ts_total INT);
@@ -63,8 +63,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=2 AND frame_times.name LIKE "%roid.calcul%" AND frame_times.launch_id = launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=2 AND frame_times.name GLOB "*roid.calcul*" AND frame_times.launch_id = launches.id;
 
 -- Calendar
 INSERT INTO hsc_based_startup_times
@@ -73,9 +73,9 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.name LIKE "%id.calendar%" AND frame_times.launch_id = launches.id
-ORDER BY ABS(frame_times.ts_end - (SELECT ts + dur FROM functions WHERE function_name LIKE "DrawFrame%" AND process_name LIKE "%id.calendar" ORDER BY ts LIMIT 1)) LIMIT 1;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.name GLOB "*id.calendar*" AND frame_times.launch_id = launches.id
+ORDER BY ABS(frame_times.ts_end - (SELECT ts + dur FROM functions WHERE function_name GLOB "DrawFrame*" AND process_name GLOB "*id.calendar" ORDER BY ts LIMIT 1)) LIMIT 1;
 
 -- Camera
 INSERT INTO hsc_based_startup_times
@@ -84,8 +84,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=2 AND frame_times.name LIKE "%GoogleCamera%" AND frame_times.launch_id = launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=2 AND frame_times.name GLOB "*GoogleCamera*" AND frame_times.launch_id = launches.id;
 
 -- Chrome
 INSERT INTO hsc_based_startup_times
@@ -94,8 +94,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=1 AND frame_times.name LIKE "%chrome%" AND frame_times.launch_id = launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=1 AND frame_times.name GLOB "*chrome*" AND frame_times.launch_id = launches.id;
 
 -- Clock
 INSERT INTO hsc_based_startup_times
@@ -104,8 +104,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts > (SELECT ts + dur FROM animators WHERE animator_name="animator:translationZ" AND process_name LIKE "%id.deskclock" ORDER BY (ts+dur) DESC LIMIT 1) AND frame_times.name LIKE "%id.deskclock" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts > (SELECT ts + dur FROM animators WHERE animator_name="animator:translationZ" AND process_name GLOB "*id.deskclock" ORDER BY (ts+dur) DESC LIMIT 1) AND frame_times.name GLOB "*id.deskclock" AND frame_times.launch_id = launches.id
 ORDER BY ts_total LIMIT 1;
 
 -- Contacts
@@ -115,8 +115,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=3 AND frame_times.name LIKE "%id.contacts" AND frame_times.launch_id=launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=3 AND frame_times.name GLOB "*id.contacts" AND frame_times.launch_id=launches.id;
 
 -- Dialer
 INSERT INTO hsc_based_startup_times
@@ -125,8 +125,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=1 AND frame_times.name LIKE "%id.dialer" AND frame_times.launch_id=launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=1 AND frame_times.name GLOB "*id.dialer" AND frame_times.launch_id=launches.id;
 
 -- Facebook
 INSERT INTO hsc_based_startup_times
@@ -135,8 +135,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts > (SELECT ts+dur FROM slices WHERE slices.name LIKE "fb_startup_complete" ORDER BY ts LIMIT 1) AND frame_times.name LIKE "%ok.katana" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts > (SELECT ts+dur FROM slices WHERE slices.name GLOB "fb_startup_complete" ORDER BY ts LIMIT 1) AND frame_times.name GLOB "*ok.katana" AND frame_times.launch_id = launches.id
 ORDER BY ts_total LIMIT 1;
 
 -- Facebook Messenger
@@ -146,8 +146,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts > (SELECT ts+dur FROM slices WHERE slices.name LIKE "msgr_cold_start_to_cached_content" ORDER BY ts LIMIT 1) AND frame_times.name LIKE "%book.orca" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts > (SELECT ts+dur FROM slices WHERE slices.name GLOB "msgr_cold_start_to_cached_content" ORDER BY ts LIMIT 1) AND frame_times.name GLOB "*book.orca" AND frame_times.launch_id = launches.id
 ORDER BY ts_total LIMIT 1;
 
 -- Gmail
@@ -157,8 +157,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts > (SELECT ts + dur FROM animators WHERE animator_name="animator:elevation" AND process_name LIKE "%android.gm" ORDER BY (ts+dur) DESC LIMIT 1) AND frame_times.name LIKE "%android.gm" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts > (SELECT ts + dur FROM animators WHERE animator_name="animator:elevation" AND process_name GLOB "*android.gm" ORDER BY (ts+dur) DESC LIMIT 1) AND frame_times.name GLOB "*android.gm" AND frame_times.launch_id = launches.id
 ORDER BY ts_total LIMIT 1;
 
 -- Instagram
@@ -168,8 +168,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts > (SELECT ts+dur FROM slices WHERE slices.name LIKE "ig_cold_start_to_cached_content" ORDER BY ts LIMIT 1) AND frame_times.name LIKE "%gram.android" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts > (SELECT ts+dur FROM slices WHERE slices.name GLOB "ig_cold_start_to_cached_content" ORDER BY ts LIMIT 1) AND frame_times.name GLOB "*gram.android" AND frame_times.launch_id = launches.id
 ORDER BY ts_total LIMIT 1;
 
 -- Maps
@@ -179,8 +179,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=1 AND frame_times.name LIKE "%maps%" AND frame_times.launch_id = launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=1 AND frame_times.name GLOB "*maps*" AND frame_times.launch_id = launches.id;
 
 -- Messages
 INSERT INTO hsc_based_startup_times
@@ -189,8 +189,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts_end > (SELECT ts + dur FROM animators WHERE animator_name="animator:translationZ" AND process_name LIKE "%apps.messaging%" ORDER BY ts LIMIT 1) AND frame_times.name LIKE "%apps.messaging%" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts_end > (SELECT ts + dur FROM animators WHERE animator_name="animator:translationZ" AND process_name GLOB "*apps.messaging*" ORDER BY ts LIMIT 1) AND frame_times.name GLOB "*apps.messaging*" AND frame_times.launch_id = launches.id
 ORDER BY ts_total LIMIT 1;
 
 -- Netflix
@@ -200,8 +200,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts < (SELECT ts FROM animators WHERE animator_name LIKE "animator%" AND process_name LIKE "%lix.mediaclient" ORDER BY ts LIMIT 1) AND frame_times.name LIKE "%lix.mediaclient%" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts < (SELECT ts FROM animators WHERE animator_name GLOB "animator*" AND process_name GLOB "*lix.mediaclient" ORDER BY ts LIMIT 1) AND frame_times.name GLOB "*lix.mediaclient*" AND frame_times.launch_id = launches.id
 ORDER BY ts_total DESC LIMIT 1;
 
 -- Photos
@@ -211,8 +211,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=1 AND frame_times.name LIKE "%apps.photos%" AND frame_times.launch_id = launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=1 AND frame_times.name GLOB "*apps.photos*" AND frame_times.launch_id = launches.id;
 
 -- Settings was deprecated in favor of reportFullyDrawn b/169694037.
 
@@ -223,8 +223,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=1 AND frame_times.name LIKE "%napchat.android" AND frame_times.launch_id = launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=1 AND frame_times.name GLOB "*napchat.android" AND frame_times.launch_id = launches.id;
 
 -- Twitter
 INSERT INTO hsc_based_startup_times
@@ -233,8 +233,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts_end > (SELECT ts FROM animators WHERE animator_name="animator" AND process_name LIKE "%tter.android" ORDER BY ts LIMIT 1) AND frame_times.name LIKE "%tter.android" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts_end > (SELECT ts FROM animators WHERE animator_name="animator" AND process_name GLOB "*tter.android" ORDER BY ts LIMIT 1) AND frame_times.name GLOB "*tter.android" AND frame_times.launch_id = launches.id
 ORDER BY ts_total LIMIT 1;
 
 -- WhatsApp
@@ -244,8 +244,8 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.ts > (SELECT ts+dur FROM slices WHERE slices.name LIKE "wa_startup_complete" ORDER BY ts LIMIT 1) AND frame_times.name LIKE "%om.whatsapp" AND frame_times.launch_id = launches.id
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.ts > (SELECT ts+dur FROM slices WHERE slices.name GLOB "wa_startup_complete" ORDER BY ts LIMIT 1) AND frame_times.name GLOB "*om.whatsapp" AND frame_times.launch_id = launches.id
 ORDER BY ts_total LIMIT 1;
 
 -- Youtube
@@ -255,5 +255,5 @@
     launches.id as id,
     frame_times.ts_end - launches.ts as ts_total
 FROM frame_times
-INNER JOIN launches on launches.package LIKE '%' || frame_times.name || '%'
-WHERE frame_times.number=2 AND frame_times.name LIKE "%id.youtube" AND frame_times.launch_id = launches.id;
+INNER JOIN launches on launches.package GLOB '*' || frame_times.name || '*'
+WHERE frame_times.number=2 AND frame_times.name GLOB "*id.youtube" AND frame_times.launch_id = launches.id;
diff --git a/src/trace_processor/metrics/sql/android/startup/launches.sql b/src/trace_processor/metrics/sql/android/startup/launches.sql
index 104ec40..c3be64c 100644
--- a/src/trace_processor/metrics/sql/android/startup/launches.sql
+++ b/src/trace_processor/metrics/sql/android/startup/launches.sql
@@ -49,7 +49,7 @@
 FROM slice s
 JOIN process_track t ON s.track_id = t.id
 JOIN process USING(upid)
-WHERE s.name LIKE 'launching: %'
+WHERE s.name GLOB 'launching: *'
 AND (process.name IS NULL OR process.name = 'system_server');
 
 -- Filter activity_intent_recv_spans, keeping only the ones that triggered
diff --git a/src/trace_processor/metrics/sql/chrome/chrome_processes.sql b/src/trace_processor/metrics/sql/chrome/chrome_processes.sql
index dd3be51..a7b378b 100644
--- a/src/trace_processor/metrics/sql/chrome/chrome_processes.sql
+++ b/src/trace_processor/metrics/sql/chrome/chrome_processes.sql
@@ -64,8 +64,6 @@
 FROM prefix,
   suffix;
 
--- Use GLOB here instead of LIKE as it's case-sensitive which means we don't
--- match the Android system zygote.
 DROP VIEW IF EXISTS all_chrome_processes;
 CREATE VIEW all_chrome_processes AS
 SELECT upid, m.type AS process_type
diff --git a/src/trace_processor/metrics/sql/chrome/gesture_jank.sql b/src/trace_processor/metrics/sql/chrome/gesture_jank.sql
index 981e246..c13a051 100644
--- a/src/trace_processor/metrics/sql/chrome/gesture_jank.sql
+++ b/src/trace_processor/metrics/sql/chrome/gesture_jank.sql
@@ -47,15 +47,15 @@
       SELECT COUNT(*) >= 3 FROM (
         SELECT name FROM chrome_process
         WHERE
-          name LIKE "Browser" OR
-          name LIKE "Renderer" OR
-          name LIKE "Gpu" OR
-          name LIKE 'com.android.chrome%' OR
-          name LIKE 'com.chrome.beta%' OR
-          name LIKE 'com.chrome.dev%' OR
-          name LIKE 'com.chrome.canary%' OR
-          name LIKE 'com.google.android.apps.chrome%' OR
-          name LIKE 'org.chromium.chrome%'
+          name GLOB "Browser" OR
+          name GLOB "Renderer" OR
+          name GLOB "Gpu" OR
+          name GLOB 'com.android.chrome*' OR
+          name GLOB 'com.chrome.beta*' OR
+          name GLOB 'com.chrome.dev*' OR
+          name GLOB 'com.chrome.canary*' OR
+          name GLOB 'com.google.android.apps.chrome*' OR
+          name GLOB 'org.chromium.chrome*'
         GROUP BY name
     )) END AS have_enough_chrome_processes;
 
diff --git a/src/trace_processor/metrics/sql/chrome/rail_modes.sql b/src/trace_processor/metrics/sql/chrome/rail_modes.sql
index d86c25f..d28f665 100644
--- a/src/trace_processor/metrics/sql/chrome/rail_modes.sql
+++ b/src/trace_processor/metrics/sql/chrome/rail_modes.sql
@@ -352,7 +352,7 @@
   ts,
   dur
 FROM slice s
-WHERE name LIKE "InputLatency::%"
+WHERE name GLOB "InputLatency::*"
   AND NOT EXISTS (
     SELECT 1
     FROM slice
diff --git a/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_blocking_task.sql b/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_blocking_task.sql
index d061413..14ddd83 100644
--- a/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_blocking_task.sql
+++ b/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_blocking_task.sql
@@ -57,8 +57,8 @@
   track_id AS id
 FROM slice
 WHERE
-  EXTRACT_ARG(arg_set_id, "task.posted_from.file_name") LIKE
-      "%gpu/command_buffer/service/scheduler.cc"
+  EXTRACT_ARG(arg_set_id, "task.posted_from.file_name") GLOB
+      "*gpu/command_buffer/service/scheduler.cc"
 LIMIT 1;
 
 -- TODO(nuskos): Determine a good way to get all the renderer track_ids (each
@@ -178,8 +178,8 @@
     ) AND
     track_id = (SELECT id FROM browser_main_track_id)
   ) OR (
-    EXTRACT_ARG(arg_set_id, "task.posted_from.file_name") LIKE
-        "%components/viz/common/frame_sinks/copy_output_request.cc" AND
+    EXTRACT_ARG(arg_set_id, "task.posted_from.file_name") GLOB
+        "*components/viz/common/frame_sinks/copy_output_request.cc" AND
     track_id = (SELECT id FROM viz_compositor_track_id)
   ) OR (
     name = "SkiaOutputSurfaceImplOnGpu::CopyOutput" AND
diff --git a/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql b/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql
index a57fe70..a45ac79 100644
--- a/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql
+++ b/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql
@@ -76,10 +76,10 @@
         slice.ts + slice.dur > queuing.ancestor_end AND
         queuing.maybe_next_ancestor_ts > slice.ts AND
         slice.track_id = queuing.next_track_id AND
-        queuing.description NOT LIKE
-            "InputLatency.LatencyInfo.%ank.STEP_DRAW_AND_SWAP-to-End" AND
-        queuing.description NOT LIKE
-            "InputLatency.LatencyInfo.%ank.STEP_FINISHED_SWAP_BUFFERS-to-End"
+        queuing.description NOT GLOB
+            "InputLatency.LatencyInfo.*ank.STEP_DRAW_AND_SWAP-to-End" AND
+        queuing.description NOT GLOB
+            "InputLatency.LatencyInfo.*ank.STEP_FINISHED_SWAP_BUFFERS-to-End"
   WHERE
     queuing_time_ns IS NOT NULL AND
     queuing_time_ns > 0;
diff --git a/src/trace_processor/metrics/sql/experimental/blink_gc_metric.sql b/src/trace_processor/metrics/sql/experimental/blink_gc_metric.sql
index 096d9c3..c260332 100644
--- a/src/trace_processor/metrics/sql/experimental/blink_gc_metric.sql
+++ b/src/trace_processor/metrics/sql/experimental/blink_gc_metric.sql
@@ -83,7 +83,7 @@
   INNER JOIN thread ON thread_track.utid = thread.id
   WHERE
     slice.dur >= 0 AND (
-    slice.name LIKE "V8.GC%" OR (slice.name LIKE "BlinkGC%" AND NOT forced)
+    slice.name GLOB "V8.GC*" OR (slice.name GLOB "BlinkGC*" AND NOT forced)
   )
 );
 
@@ -100,7 +100,7 @@
   blink_non_aggregated_gc_event_name AS event_name ON
       event_name.name = blink_gc_cpu_slice.name
 WHERE
-  blink_gc_cpu_slice.name LIKE "BlinkGC%" AND NOT forced;
+  blink_gc_cpu_slice.name GLOB "BlinkGC*" AND NOT forced;
 
 -- This groups all the events by name and epoch for from "blink_slice" for easy
 -- access.
@@ -245,7 +245,7 @@
     -- This subquery replaces metrics.v8.utils.isGarbageCollectionEvent().
     SELECT name FROM ANCESTOR_SLICE(blink_gc_cpu_slice.id) AS ancestor
     WHERE
-      ancestor.name LIKE "V8.GC%" AND
+      ancestor.name GLOB "V8.GC*" AND
       ancestor.name != 'V8.GCLowMemoryNotification'
     LIMIT 1
   ) IS NULL
diff --git a/src/trace_processor/metrics/sql/experimental/frame_times.sql b/src/trace_processor/metrics/sql/experimental/frame_times.sql
index 4e0ccdb..488963f 100644
--- a/src/trace_processor/metrics/sql/experimental/frame_times.sql
+++ b/src/trace_processor/metrics/sql/experimental/frame_times.sql
@@ -17,7 +17,7 @@
 CREATE VIEW InteractionEvents AS
 SELECT
   ts, dur, ts AS ts_ir, dur AS dur_ir
-FROM slice WHERE name LIKE 'Interaction.%';
+FROM slice WHERE name GLOB 'Interaction.*';
 
 DROP VIEW IF EXISTS GestureLegacyEvents;
 CREATE VIEW GestureLegacyEvents AS
diff --git a/src/trace_processor/metrics/sql/experimental/reported_by_page.sql b/src/trace_processor/metrics/sql/experimental/reported_by_page.sql
index 2685433..9936b31 100644
--- a/src/trace_processor/metrics/sql/experimental/reported_by_page.sql
+++ b/src/trace_processor/metrics/sql/experimental/reported_by_page.sql
@@ -23,7 +23,7 @@
 SELECT ts, name, EXTRACT_ARG(arg_set_id, "debug.data.navigationId") as nav_id
 FROM slice
 WHERE category = 'blink.user_timing' AND
-    (name = 'navigationStart' OR name LIKE 'telemetry:reported_by_page:%')
+    (name = 'navigationStart' OR name GLOB 'telemetry:reported_by_page:*')
 ORDER BY nav_id, ts ASC;
 
 --------------------------------------------------------------------------------
@@ -38,8 +38,8 @@
       nav_id = p.nav_id AND
       ts < p.ts AND (
         -- Viewable/interactive markers measure time from nav start.
-        (p.name LIKE 'telemetry:reported_by_page:%' AND
-         p.name NOT LIKE 'telemetry:reported_by_page:benchmark%' AND
+        (p.name GLOB 'telemetry:reported_by_page:*' AND
+         p.name NOT GLOB 'telemetry:reported_by_page:benchmark*' AND
          name = 'navigationStart') OR
         -- Benchmark end markers measure time from the most recent begin marker.
         (p.name = 'telemetry:reported_by_page:benchmark_end' AND
diff --git a/src/trace_processor/metrics/sql/webview/webview_power_usage.sql b/src/trace_processor/metrics/sql/webview/webview_power_usage.sql
index 96104fc..29dad50 100644
--- a/src/trace_processor/metrics/sql/webview/webview_power_usage.sql
+++ b/src/trace_processor/metrics/sql/webview/webview_power_usage.sql
@@ -32,8 +32,8 @@
   SELECT *
   FROM slice WHERE
   depth = 0 AND
-  ((category like '%toplevel%' OR category = 'Java') AND
-  name NOT LIKE '%looper%');
+  ((category GLOB '*toplevel*' OR category = 'Java') AND
+  name NOT GLOB '*looper*');
 
 DROP TABLE IF EXISTS webview_browser_slices;
 
@@ -55,8 +55,8 @@
   ON thread.upid = process.upid
   INNER JOIN thread
   ON thread_track.utid = thread.utid
-  WHERE process.name NOT LIKE '%SandboxedProcessService%'
-  AND process.name NOT LIKE '%chrome%'
+  WHERE process.name NOT GLOB '*SandboxedProcessService*'
+  AND process.name NOT GLOB '*chrome*'
   AND app_name IS NOT NULL;
 
 DROP TABLE IF EXISTS webview_browser_slices_power;
@@ -87,7 +87,7 @@
   FROM process
   INNER JOIN thread
   ON thread.upid = process.upid
-  WHERE process.name LIKE '%webview%SandboxedProcessService%'
+  WHERE process.name GLOB '*webview*SandboxedProcessService*'
   AND app_name IS NOT NULL;
 
 DROP TABLE IF EXISTS webview_renderer_power_summary;
@@ -136,8 +136,8 @@
   JOIN process ON thread.upid = process.upid
   WHERE thread.upid IN
     (SELECT DISTINCT(webview_browser_slices.upid) FROM webview_browser_slices)
-  AND process.name NOT LIKE '%SandboxedProcessService%'
-  AND process.name NOT LIKE '%chrome%'
+  AND process.name NOT GLOB '*SandboxedProcessService*'
+  AND process.name NOT GLOB '*chrome*'
   AND app_name IS NOT NULL;
 
 DROP TABLE IF EXISTS host_app_power_summary;
@@ -175,9 +175,9 @@
 CREATE TABLE webview_only_threads AS
 SELECT *
 FROM host_app_threads
-  WHERE name LIKE 'Chrome%' OR name LIKE 'CookieMonster%'
-  OR name LIKE 'CompositorTileWorker%' OR name LIKE 'ThreadPool%ground%'
-  OR NAME LIKE 'ThreadPoolService%' OR  name like 'VizCompositorThread%'
+  WHERE name GLOB 'Chrome*' OR name GLOB 'CookieMonster*'
+  OR name GLOB 'CompositorTileWorker*' OR name GLOB 'ThreadPool*ground*'
+  OR NAME GLOB 'ThreadPoolService*' OR  name GLOB 'VizCompositorThread*'
   OR name IN ('AudioThread', 'DedicatedWorker thread', 'GpuMemoryThread',
   'JavaBridge', 'LevelDBEnv.IDB', 'MemoryInfra', 'NetworkService', 'VizWebView');
 
diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc
index 70213e4..ca3725d 100644
--- a/src/trace_processor/trace_processor_impl.cc
+++ b/src/trace_processor/trace_processor_impl.cc
@@ -654,6 +654,23 @@
   }
 };
 
+struct Glob : public SqlFunction {
+  static base::Status Run(void*,
+                          size_t,
+                          sqlite3_value** argv,
+                          SqlValue& out,
+                          Destructors&) {
+    const char* pattern =
+        reinterpret_cast<const char*>(sqlite3_value_text(argv[0]));
+    const char* text =
+        reinterpret_cast<const char*>(sqlite3_value_text(argv[1]));
+    if (pattern && text) {
+      out = SqlValue::Long(sqlite3_strglob(pattern, text) == 0);
+    }
+    return base::OkStatus();
+  }
+};
+
 void SetupMetrics(TraceProcessor* tp,
                   sqlite3* db,
                   std::vector<metrics::SqlMetricFile>* sql_metrics,
@@ -742,6 +759,7 @@
   db_.reset(std::move(db));
 
   // New style function registration.
+  RegisterFunction<Glob>(db, "glob", 2);
   RegisterFunction<Hash>(db, "HASH", -1);
   RegisterFunction<Demangle>(db, "DEMANGLE", 1);
   RegisterFunction<SourceGeq>(db, "SOURCE_GEQ", -1);
diff --git a/test/trace_processor/graphics/clock_sync.sql b/test/trace_processor/graphics/clock_sync.sql
index 227767b..ac9e48a 100644
--- a/test/trace_processor/graphics/clock_sync.sql
+++ b/test/trace_processor/graphics/clock_sync.sql
@@ -15,4 +15,4 @@
 --
 select ts, cast(value as integer) as int_value
 from counters
-where name like 'gpu_counter%'
\ No newline at end of file
+where name GLOB 'gpu_counter*'
\ No newline at end of file
diff --git a/test/trace_processor/parsing/android_log_counts.sql b/test/trace_processor/parsing/android_log_counts.sql
index 09fc250..35a2a47 100644
--- a/test/trace_processor/parsing/android_log_counts.sql
+++ b/test/trace_processor/parsing/android_log_counts.sql
@@ -17,6 +17,6 @@
 select count(*) as cnt from android_logs where prio = 3 union all
 select count(*) as cnt from android_logs where prio > 4 union all
 select count(*) as cnt from android_logs where tag = 'screen_toggled' union all
-select count(*) as cnt from android_logs where tag like '%_pss' union all
-select count(*) as cnt from android_logs where msg like '%i2c_write%' or msg like '%I2C_Write%' union all
+select count(*) as cnt from android_logs where tag GLOB '*_pss' union all
+select count(*) as cnt from android_logs where msg GLOB '*i2c?write*' or msg GLOB '*I2C?Write*' union all
 select count(*) as cnt from android_logs where ts >= 1510113924391 and ts < 1512610021879;
diff --git a/test/trace_processor/parsing/android_log_msgs.sql b/test/trace_processor/parsing/android_log_msgs.sql
index 9b46f43..1666095 100644
--- a/test/trace_processor/parsing/android_log_msgs.sql
+++ b/test/trace_processor/parsing/android_log_msgs.sql
@@ -20,7 +20,7 @@
 create view v3 as
 select tag, count(*)
 from android_logs
-where msg like '%wakelock%' or msg like '%Wakelock%' or msg like '%WakeLock%' or msg like '%wakeLock%'
+where msg GLOB '*wakelock*' or msg GLOB '*Wakelock*' or msg GLOB '*WakeLock*' or msg GLOB '*wakeLock*'
 group by tag;
 
 create view v4 as select msg, 1 from android_logs limit 10;
diff --git a/test/trace_processor/parsing/args_string_filter_null.sql b/test/trace_processor/parsing/args_string_filter_null.sql
index 50f90e1..c42e2f3 100644
--- a/test/trace_processor/parsing/args_string_filter_null.sql
+++ b/test/trace_processor/parsing/args_string_filter_null.sql
@@ -39,7 +39,7 @@
 UNION
 select string_value
 from args
-where string_value LIKE NULL
+where string_value GLOB NULL
 UNION
 select string_value
 from args
diff --git a/test/trace_processor/parsing/ion_stat.sql b/test/trace_processor/parsing/ion_stat.sql
index 1032ac6..5cdc8d0 100644
--- a/test/trace_processor/parsing/ion_stat.sql
+++ b/test/trace_processor/parsing/ion_stat.sql
@@ -1,4 +1,4 @@
 SELECT t.name, c.ts, c.value
 FROM counter c
 JOIN track t ON c.track_id = t.id
-WHERE t.name LIKE 'mem.ion%';
+WHERE t.name GLOB 'mem.ion*';
diff --git a/test/trace_processor/parsing/mm_event.sql b/test/trace_processor/parsing/mm_event.sql
index 5130db6..56d4eab 100644
--- a/test/trace_processor/parsing/mm_event.sql
+++ b/test/trace_processor/parsing/mm_event.sql
@@ -17,6 +17,6 @@
 from counter
 inner join process_counter_track
   on counter.track_id = process_counter_track.id
-where name like 'mem.mm.%'
+where name GLOB 'mem.mm.*'
 order by ts
 limit 40
diff --git a/test/trace_processor/parsing/stats.sql b/test/trace_processor/parsing/stats.sql
index d68b28f..02316b2 100644
--- a/test/trace_processor/parsing/stats.sql
+++ b/test/trace_processor/parsing/stats.sql
@@ -14,4 +14,4 @@
 -- limitations under the License.
 --
 select name, idx, severity, source, value
-from stats where name like 'ftrace_cpu_%' or name like 'traced_buf_%';
\ No newline at end of file
+from stats where name GLOB 'ftrace_cpu_*' or name GLOB 'traced_buf_*';
\ No newline at end of file
diff --git a/test/trace_processor/power/power_rails.sql b/test/trace_processor/power/power_rails.sql
index c095608..31af227 100644
--- a/test/trace_processor/power/power_rails.sql
+++ b/test/trace_processor/power/power_rails.sql
@@ -15,6 +15,6 @@
 --
 select name, AVG(value), COUNT(*)
 from counters
-where name like "power.%"
+where name GLOB "power.*"
 group by name
 limit 20
\ No newline at end of file
diff --git a/test/trace_processor/power/power_rails_event.sql b/test/trace_processor/power/power_rails_event.sql
index 9a1a254..ca04ce2 100644
--- a/test/trace_processor/power/power_rails_event.sql
+++ b/test/trace_processor/power/power_rails_event.sql
@@ -15,5 +15,5 @@
 --
 select ts, value
 from counters
-where name like "power.%"
+where name GLOB "power.*"
 limit 20
diff --git a/tools/check_sql_metrics.py b/tools/check_sql_metrics.py
index 2fe57df..65dcff2 100755
--- a/tools/check_sql_metrics.py
+++ b/tools/check_sql_metrics.py
@@ -31,6 +31,7 @@
   with open(path) as f:
     lines = [l.strip() for l in f.readlines()]
 
+  # Check that CREATE VIEW/TABLE has a matching DROP VIEW/TABLE before it.
   errors = 0
   d_type, d_name = None, None
   for line in lines:
@@ -43,15 +44,29 @@
       continue
     type, name = m.group(1), m.group(2)
     if type != d_type or name != d_name:
-      sys.stderr.write(('%s:\n  "%s" vs %s %s\n') % (path, line, d_type, d_name))
+      sys.stderr.write(
+          ('Missing DROP %s before CREATE %s\n') % (d_type, d_type))
+      sys.stderr.write(('%s:\n"%s" vs %s %s\n') % (path, line, d_type, d_name))
       errors += 1
     d_type, d_name = None, None
+
+  # Ban the use of LIKE in non-comment lines.
+  for line in lines:
+    if line.startswith('--'):
+      continue
+
+    if 'like' in line.casefold():
+      sys.stderr.write(
+          'LIKE is banned in trace processor metrics. Prefer GLOB instead.')
+      errors += 1
+
   return errors
 
 
 def main():
   errors = 0
-  metrics_sources = os.path.join(ROOT_DIR, 'src', 'trace_processor', 'metrics')
+  metrics_sources = os.path.join(ROOT_DIR, 'src', 'trace_processor', 'metrics',
+                                 'sql')
   for root, _, files in os.walk(metrics_sources, topdown=True):
     for f in files:
       path = os.path.join(root, f)
