#NEWLINE# @ classmethod #NEWLINE# def argument_for( cls , dialect_name , argument_name , default ) : #NEWLINE# #INDENT# 'Add a new kind of dialect-specific keyword argument for this class.\n\n        E.g.::\n\n            Index.argument_for("mydialect", "length", None)\n\n            some_index = Index(\'a\', \'b\', mydialect_length=5)\n\n        The :meth:`.DialectKWArgs.argument_for` method is a per-argument\n        way adding extra arguments to the\n        :attr:`.DefaultDialect.construct_arguments` dictionary. This\n        dictionary provides a list of argument names accepted by various\n        schema-level constructs on behalf of a dialect.\n\n        New dialects should typically specify this dictionary all at once as a\n        data member of the dialect class.  The use case for ad-hoc addition of\n        argument names is typically for end-user code that is also using\n        a custom compilation scheme which consumes the additional arguments.\n\n        :param dialect_name: name of a dialect.  The dialect must be\n         locatable, else a :class:`.NoSuchModuleError` is raised.   The\n         dialect must also include an existing\n         :attr:`.DefaultDialect.construct_arguments` collection, indicating\n         that it participates in the keyword-argument validation and default\n         system, else :class:`.ArgumentError` is raised.  If the dialect does\n         not include this collection, then any keyword argument can be\n         specified on behalf of this dialect already.  All dialects packaged\n         within SQLAlchemy include this collection, however for third party\n         dialects, support may vary.\n\n        :param argument_name: name of the parameter.\n\n        :param default: default value of the parameter.\n\n        .. versionadded:: 0.9.4\n\n        ' #NEWLINE# construct_arg_dictionary = DialectKWArgs . _kw_registry [ dialect_name ] #NEWLINE# if ( construct_arg_dictionary is None ) : #NEWLINE# #INDENT# raise exc . ArgumentError ( ( "Dialect '%s' does have keyword-argument validation and defaults enabled configured" % dialect_name ) ) #NEWLINE# #UNINDENT# if ( cls not in construct_arg_dictionary ) : #NEWLINE# #INDENT# construct_arg_dictionary [ cls ] = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# #UNINDENT# construct_arg_dictionary [ cls ] [ argument_name ] = default