BigQuery API - Class Google::Cloud::Bigquery::Job::ScriptStackFrame (v1.42.0)

Reference documentation and code samples for the BigQuery API class Google::Cloud::Bigquery::Job::ScriptStackFrame.

Represents a stack frame showing the line/column/procedure name where the current evaluation happened.

Inherits

  • Object

Example

require "google/cloud/bigquery"

bigquery = Google::Cloud::Bigquery.new

multi_statement_sql = <<~SQL
  -- Declare a variable to hold names as an array.
  DECLARE top_names ARRAY<STRING>;
  -- Build an array of the top 100 names from the year 2017.
  SET top_names = (
  SELECT ARRAY_AGG(name ORDER BY number DESC LIMIT 100)
  FROM `bigquery-public-data.usa_names.usa_1910_current`
  WHERE year = 2017
  );
  -- Which names appear as words in Shakespeare's plays?
  SELECT
  name AS shakespeare_name
  FROM UNNEST(top_names) AS name
  WHERE name IN (
  SELECT word
  FROM `bigquery-public-data.samples.shakespeare`
  );
SQL

job = bigquery.query_job multi_statement_sql

job.wait_until_done!

child_jobs = bigquery.jobs parent_job: job

child_jobs.each do |child_job|
  script_statistics = child_job.script_statistics
  puts script_statistics.evaluation_kind
  script_statistics.stack_frames.each do |stack_frame|
    puts stack_frame.text
  end
end

Methods

#end_column

def end_column() -> Integer

One-based end column.

Returns
  • (Integer) — the current value of end_column

#end_line

def end_line() -> Integer

One-based end line.

Returns
  • (Integer) — the current value of end_line

#start_column

def start_column() -> Integer

One-based start column.

Returns
  • (Integer) — the current value of start_column

#start_line

def start_line() -> Integer

One-based start line.

Returns
  • (Integer) — the current value of start_line

#text

def text() -> String

Text of the current statement/expression.

Returns
  • (String) — the current value of text