|  | -- | 
|  | -- Copyright 2019 The Android Open Source Project | 
|  | -- | 
|  | -- 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 | 
|  | -- | 
|  | --     https://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. | 
|  | -- | 
|  |  | 
|  | DROP VIEW IF EXISTS unsymbolized_frames_view; | 
|  | CREATE VIEW unsymbolized_frames_view AS | 
|  | SELECT UnsymbolizedFrames_Frame( | 
|  | 'module', spm.name, | 
|  | 'build_id', spm.build_id, | 
|  | 'address', spf.rel_pc | 
|  | ) AS frame_proto | 
|  | FROM stack_profile_frame spf | 
|  | JOIN stack_profile_mapping spm | 
|  | ON spf.mapping = spm.id | 
|  | WHERE spm.build_id != '' | 
|  | AND (spf.symbol_set_id == 0 OR spf.symbol_set_id IS NULL); | 
|  |  | 
|  | DROP VIEW IF EXISTS unsymbolized_frames_output; | 
|  | CREATE VIEW unsymbolized_frames_output AS | 
|  | SELECT UnsymbolizedFrames( | 
|  | 'frames', | 
|  | (SELECT RepeatedField(frame_proto) FROM unsymbolized_frames_view) | 
|  | ); |