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)