.. changelog::
:version: 0.9.5
+ .. change::
+ :tags: bug, sql
+ :tickets: 3024
+
+ Fixed bug in new :meth:`.DialectKWArgs.argument_for` method where
+ adding an argument for a construct not previously included for any
+ special arguments would fail.
+
.. change::
:tags: bug, py3k, tests
:tickets: 2830
raise exc.ArgumentError("Dialect '%s' does have keyword-argument "
"validation and defaults enabled configured" %
dialect_name)
+ if cls not in construct_arg_dictionary:
+ construct_arg_dictionary[cls] = {}
construct_arg_dictionary[cls][argument_name] = default
@util.memoized_property
idx = Index('a', 'b', 'c')
eq_(idx.dialect_options['participating']['xyzqpr'], False)
+ def test_add_new_arguments_participating_no_existing(self):
+ with self._fixture():
+ PrimaryKeyConstraint.argument_for("participating", "xyzqpr", False)
+
+ pk = PrimaryKeyConstraint('a', 'b', 'c', participating_xyzqpr=True)
+
+ eq_(pk.kwargs['participating_xyzqpr'], True)
+
+ pk = PrimaryKeyConstraint('a', 'b', 'c')
+ eq_(pk.dialect_options['participating']['xyzqpr'], False)
+
def test_add_new_arguments_nonparticipating(self):
with self._fixture():
assert_raises_message(