lib/sequel/dataset/features.rb in sequel-3.28.0 vs lib/sequel/dataset/features.rb in sequel-3.29.0
- old
+ new
@@ -22,16 +22,28 @@
# rows matched by the dataset's filter.
def provides_accurate_rows_matched?
true
end
+ # Whether you must use a column alias list for recursive CTEs (false by
+ # default).
+ def recursive_cte_requires_column_aliases?
+ false
+ end
+
# Whether the dataset requires SQL standard datetimes (false by default,
# as most allow strings with ISO 8601 format).
def requires_sql_standard_datetimes?
false
end
+ # Whether type specifiers are required for prepared statement/bound
+ # variable argument placeholders (i.e. :bv__integer)
+ def requires_placeholder_type_specifiers?
+ false
+ end
+
# Whether the dataset supports common table expressions (the WITH clause).
# If given, +type+ can be :select, :insert, :update, or :delete, in which case it
# determines whether WITH is supported for the respective statement type.
def supports_cte?(type=:select)
send(:"#{type}_clause_methods").include?(:"#{type}_with_sql")
@@ -123,9 +135,21 @@
def supports_where_true?
true
end
private
+
+ # Whether insert(nil) or insert({}) must be emulated by
+ # using at least one value, false by default.
+ def insert_supports_empty_values?
+ true
+ end
+
+ # Whether using an offset returns an extra row number column that should be
+ # eliminated, false by default.
+ def offset_returns_row_number_column?
+ false
+ end
# Whether the RETURNING clause is used for the given dataset.
# +type+ can be :insert, :update, or :delete.
def uses_returning?(type)
opts[:returning] && !@opts[:sql] && supports_returning?(type)