@@ -2420,6 +2420,11 @@ If the C<:>I<N> form of placeholder is supported by the driver you're using,
24202420then you should be able to use either L</bind_param> or L</execute> to bind
24212421values. Check your driver documentation.
24222422
2423+ Some drivers allow you to prevent the recognition of a placeholder by placing a
2424+ single backslash character (C<\ > ) immediately before it. The driver will remove
2425+ the backslash character and ignore the placeholder, passing it unchanged to the
2426+ backend. If the driver supports this then L</get_info> (9000) will return true.
2427+
24232428With most drivers, placeholders can't be used for any element of a
24242429statement that would prevent the database server from validating the
24252430statement and creating a query execution plan for it. For example:
@@ -4969,6 +4974,13 @@ of information types to ensure the DBI itself works properly:
49694974 41 SQL_CATALOG_NAME_SEPARATOR '.' '@'
49704975 114 SQL_CATALOG_LOCATION 1 2
49714976
4977+ Values from 9000 to 9999 for get_info are officially reserved for use by Perl DBI.
4978+ Values in that range which have been assigned a meaning are defined here:
4979+
4980+ C<9000 > : true if a backslash character (C<\ > ) before placeholder-like text
4981+ (e.g. C<? > , C<:foo > ) will prevent it being treated as a placeholder by the driver.
4982+ The backslash will be removed before the text is passed to the backend.
4983+
49724984=head3 C<table_info >
49734985
49744986 $sth = $dbh->table_info( $catalog, $schema, $table, $type );
0 commit comments