Class: ClickHouse::SQL::Raw
- Inherits:
-
Object
- Object
- ClickHouse::SQL::Raw
- Includes:
- Part
- Defined in:
- lib/clickhouse/sql/raw.rb
Instance Attribute Summary collapse
-
#unsafe_reason ⇒ String?
readonly
Reason this raw SQL is intentionally unsafe, if any.
Instance Method Summary collapse
-
#initialize(sql, unsafe_reason: nil) ⇒ ClickHouse::SQL::Raw
constructor
Builds a trusted raw SQL expression.
-
#placeholder_types ⇒ Hash
Returns no placeholder types because raw SQL cannot bind values.
-
#placeholders ⇒ Hash
Returns no placeholders because raw SQL cannot bind values.
-
#to_redacted_sql(_bind_index_manager = ClickHouse::SQL::BindIndexManager.new) ⇒ String
Renders the raw SQL text for redacted logs.
-
#to_sql ⇒ String
Renders the raw SQL text.
Constructor Details
#initialize(sql, unsafe_reason: nil) ⇒ ClickHouse::SQL::Raw
Builds a trusted raw SQL expression.
16 17 18 19 20 21 |
# File 'lib/clickhouse/sql/raw.rb', line 16 def initialize(sql, unsafe_reason: nil) raise Error, "Empty SQL string given" if ValueNormalization.blank_string?(sql) @sql = sql.to_s @unsafe_reason = unsafe_reason end |
Instance Attribute Details
#unsafe_reason ⇒ String? (readonly)
Returns Reason this raw SQL is intentionally unsafe, if any.
9 10 11 |
# File 'lib/clickhouse/sql/raw.rb', line 9 def unsafe_reason @unsafe_reason end |
Instance Method Details
#placeholder_types ⇒ Hash
Returns no placeholder types because raw SQL cannot bind values.
48 49 50 |
# File 'lib/clickhouse/sql/raw.rb', line 48 def placeholder_types {} end |
#placeholders ⇒ Hash
Returns no placeholders because raw SQL cannot bind values.
41 42 43 |
# File 'lib/clickhouse/sql/raw.rb', line 41 def placeholders {} end |
#to_redacted_sql(_bind_index_manager = ClickHouse::SQL::BindIndexManager.new) ⇒ String
Renders the raw SQL text for redacted logs.
34 35 36 |
# File 'lib/clickhouse/sql/raw.rb', line 34 def to_redacted_sql(_bind_index_manager = ClickHouse::SQL::BindIndexManager.new) @sql end |
#to_sql ⇒ String
Renders the raw SQL text.
26 27 28 |
# File 'lib/clickhouse/sql/raw.rb', line 26 def to_sql @sql end |