--- parser3/src/classes/string.C 2008/05/22 17:43:30 1.159 +++ parser3/src/classes/string.C 2008/07/04 11:16:51 1.162 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_STRING_C="$Date: 2008/05/22 17:43:30 $"; +static const char * const IDENT_STRING_C="$Date: 2008/07/04 11:16:51 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -36,9 +36,9 @@ DECLARE_CLASS_VAR(string, new MString, 0 // defines for statics #define MATCH_VAR_NAME "match" -#define TRIM_START_OPTION "start" +#define TRIM_START_OPTION "left" +#define TRIM_END_OPTION "right" #define TRIM_BOTH_OPTION "both" -#define TRIM_END_OPTION "end" // statics @@ -466,7 +466,7 @@ const String* sql_result_string(Request& Value& statement=params.as_junction(0, "statement must be code"); HashStringValue* bind=0; - ulong limit=0; + ulong limit=SQL_NO_LIMIT; ulong offset=0; default_code=0; if(params.count()>1) { @@ -510,6 +510,7 @@ const String* sql_result_string(Request& const char* statement_cstr= statement_string.cstr(String::L_UNSPECIFIED, r.connection()); String_sql_event_handlers handlers(statement_string, statement_cstr); + r.connection()->query( statement_cstr, placeholders_count, placeholders, @@ -593,12 +594,12 @@ static void _trim(Request& r, MethodPara const String& skind=params.as_string(0, "'where' must be string"); if(skind.length()) - if(skind==TRIM_START_OPTION) + if(skind==TRIM_BOTH_OPTION) + kind=String::TRIM_BOTH; + else if(skind==TRIM_START_OPTION || skind=="start") kind=String::TRIM_START; - else if(skind==TRIM_END_OPTION) + else if(skind==TRIM_END_OPTION || skind=="end") kind=String::TRIM_END; - else if(skind==TRIM_BOTH_OPTION) - kind=String::TRIM_BOTH; else throw Exception(PARSER_RUNTIME, &skind,