@@ -2420,6 +2420,11 @@ If the C<:>I<N> form of placeholder is supported by the driver you're using,
2420
2420
then you should be able to use either L</bind_param> or L</execute> to bind
2421
2421
values. Check your driver documentation.
2422
2422
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
+
2423
2428
With most drivers, placeholders can't be used for any element of a
2424
2429
statement that would prevent the database server from validating the
2425
2430
statement and creating a query execution plan for it. For example:
@@ -4969,6 +4974,13 @@ of information types to ensure the DBI itself works properly:
4969
4974
41 SQL_CATALOG_NAME_SEPARATOR '.' '@'
4970
4975
114 SQL_CATALOG_LOCATION 1 2
4971
4976
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
+
4972
4984
=head3 C<table_info >
4973
4985
4974
4986
$sth = $dbh->table_info( $catalog, $schema, $table, $type );
0 commit comments