+ } else if ( !strcasecmp( argv[ 0 ], "aliasing_keyword" ) ) {
+ if ( argc != 2 ) {
+ Debug( LDAP_DEBUG_TRACE,
+ "<==backsql_db_config (%s line %d): "
+ "missing arg "
+ "in \"aliasing_keyword <string>\" directive\n",
+ fname, lineno, 0 );
+ return 1;
+ }
+
+ if ( ! BER_BVISNULL( &bi->sql_aliasing ) ) {
+ ch_free( bi->sql_aliasing.bv_val );
+ }
+
+ ber_str2bv( argv[ 1 ], strlen( argv[ 1 ] ) + 1, 1,
+ &bi->sql_aliasing );
+ /* add a trailing space... */
+ bi->sql_aliasing.bv_val[ bi->sql_aliasing.bv_len - 1] = ' ';
+
+ } else if ( !strcasecmp( argv[ 0 ], "aliasing_quote" ) ) {
+ if ( argc != 2 ) {
+ Debug( LDAP_DEBUG_TRACE,
+ "<==backsql_db_config (%s line %d): "
+ "missing arg "
+ "in \"aliasing_quote <string>\" directive\n",
+ fname, lineno, 0 );
+ return 1;
+ }
+
+ if ( ! BER_BVISNULL( &bi->sql_aliasing_quote ) ) {
+ ch_free( bi->sql_aliasing_quote.bv_val );
+ }
+
+ ber_str2bv( argv[ 1 ], 0, 1, &bi->sql_aliasing_quote );
+
+ } else if ( !strcasecmp( argv[ 0 ], "autocommit" ) ) {
+ if ( argc != 2 ) {
+ Debug( LDAP_DEBUG_TRACE,
+ "<==backsql_db_config (%s line %d): "
+ "missing arg "
+ "in \"autocommit {NO|yes}\" directive\n",
+ fname, lineno, 0 );
+ return 1;
+ }
+
+ if ( !strcasecmp( argv[ 1 ], "yes" ) ||
+ !strcasecmp( argv[ 1 ], "TRUE" ) ||
+ !strcasecmp( argv[ 1 ], "on" ) )
+ {
+ bi->sql_flags |= BSQLF_AUTOCOMMIT_ON;
+
+ } else if ( !strcasecmp( argv[ 1 ], "no" ) ||
+ !strcasecmp( argv[ 1 ], "FALSE" ) ||
+ !strcasecmp( argv[ 1 ], "off" ) )
+ {
+ bi->sql_flags &= ~BSQLF_AUTOCOMMIT_ON;
+
+ } else {
+ Debug( LDAP_DEBUG_TRACE,
+ "<==backsql_db_config (%s line %d): "
+ "invalid arg "
+ "in \"autocommit {NO|yes}\" directive\n",
+ fname, lineno, 0 );
+ return 1;
+ }
+