Class: Sequel::CloudflareD1::Dataset

Inherits:
Dataset
  • Object
show all
Includes:
UnmodifiedIdentifiers::DatasetMethods
Defined in:
lib/sequel/adapters/cloudflare_d1.rb

Instance Method Summary collapse

Instance Method Details

#complex_expression_sql_append(sql, op, args) ⇒ Object



237
238
239
240
241
242
243
244
245
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 237

def complex_expression_sql_append(sql, op, args)
  case op
  when :'||'
    # SQLite uses || for concatenation
    super
  else
    super
  end
end

#fetch_rows(sql) ⇒ Object



197
198
199
200
201
202
203
204
205
206
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 197

def fetch_rows(sql)
  rows = execute(sql)
  if rows
    rows.each do |row|
      # Convert string keys to symbols
      symbolized_row = row.transform_keys(&:to_sym)
      yield symbolized_row
    end
  end
end

#insert_select(*values) ⇒ Object



208
209
210
211
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 208

def insert_select(*values)
  # D1 doesn't support RETURNING clause
  execute_insert(insert_sql(*values))
end

#literal_falseObject



247
248
249
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 247

def literal_false
  "0"
end

#literal_trueObject



251
252
253
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 251

def literal_true
  "1"
end

#quote_identifiers?Boolean

Returns:

  • (Boolean)


255
256
257
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 255

def quote_identifiers?
  true
end

#quoted_identifier_append(sql, name) ⇒ Object



259
260
261
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 259

def quoted_identifier_append(sql, name)
  sql << '"' << name.to_s.gsub('"', '""') << '"'
end

#supports_cte?Boolean

Returns:

  • (Boolean)


225
226
227
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 225

def supports_cte?
  true
end

#supports_derived_column_lists?Boolean

Returns:

  • (Boolean)


233
234
235
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 233

def supports_derived_column_lists?
  false
end

#supports_insert_select?Boolean

Returns:

  • (Boolean)


213
214
215
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 213

def supports_insert_select?
  false
end

#supports_returning?(type) ⇒ Boolean

Returns:

  • (Boolean)


217
218
219
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 217

def supports_returning?(type)
  false
end

#supports_where_true?Boolean

Returns:

  • (Boolean)


229
230
231
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 229

def supports_where_true?
  true
end

#supports_window_functions?Boolean

Returns:

  • (Boolean)


221
222
223
# File 'lib/sequel/adapters/cloudflare_d1.rb', line 221

def supports_window_functions?
  true
end