- backsql_merge_from_clause( &tmps, &tmpslen,
- at_row.cols[ 2 ] );
- at_map->from_tbls = tmps;
- at_map->join_where = ( at_row.is_null[ 3 ] < 0 ) ? NULL
- : ch_strdup( at_row.cols[ 3 ] );
- at_map->add_proc = ( at_row.is_null[ 4 ] < 0 ) ? NULL
- : ch_strdup( at_row.cols[4] );
- at_map->delete_proc = ( at_row.is_null[ 5 ] < 0 ) ? NULL
- : ch_strdup( at_row.cols[ 5 ] );
- at_map->param_order = atoi( at_row.cols[ 6 ] );
- at_map->expect_return = atoi( at_row.cols[ 7 ] );
+ ber_str2bv( at_row.cols[ 2 ], 0, 0, &bv );
+ backsql_merge_from_clause( &at_map->from_tbls,
+ &tmpslen, &bv );
+ if ( at_row.value_len[ 3 ] < 0 ) {
+ at_map->join_where.bv_val = NULL;
+ at_map->join_where.bv_len = 0;
+ } else {
+ ber_str2bv( at_row.cols[ 3 ], 0, 1,
+ &at_map->join_where );
+ }
+ at_map->add_proc = NULL;
+ if ( at_row.value_len[ 4 ] > 0 ) {
+ at_map->add_proc = ch_strdup( at_row.cols[4] );
+ }
+ at_map->delete_proc = NULL;
+ if ( at_row.value_len[ 5 ] > 0 ) {
+ at_map->delete_proc
+ = ch_strdup( at_row.cols[ 5 ] );
+ }
+ at_map->param_order = strtol( at_row.cols[ 6 ],
+ NULL, 0 );
+ at_map->expect_return = strtol( at_row.cols[ 7 ],
+ NULL, 0 );