← Back to team overview

maria-developers team mailing list archive

Re: Documentation for old regex library calls

 

Hi,
In file sql/item_cmpfunc.cc , Item_func_regex::regcomp function I can't
understand the following block's task. (or what is being checked in side
the *if*). please help

*Line 5019*

if (cmp_collation.collation != regex_lib_charset)
  {
    /* Convert UCS2 strings to UTF8 */
    uint dummy_errors;
    if (conv.copy(res->ptr(), res->length(), res->charset(),
                  regex_lib_charset, &dummy_errors))
      return 1;
    res= &conv;
  }

thanks


On Mon, Jul 22, 2013 at 3:11 AM, Sergei Golubchik <serg@xxxxxxxxxxx> wrote:

> Hi, Sudheera!
>
> On Jul 21, Sudheera Palihakkara wrote:
> > Hi all,
> >
> > I'm replacing the current regular expression library with modern
> > library(pcre) for mariadb. I need some information about the ways that
> code
> > uses the old regex library. The relevant codes are in sql/item_cmpfunc.cc
> > directory. For exapmle in the function : int
> Item_func_regex::regcomp(bool
> > send_error) I can't understand most of the lines, and the code is not
> > well-commented. In the new library(pcre) uses different way to compile a
> > regEx so I have to understand this and code for pcre preserving the
> > functionalists of the class. Is there any documentation for this file or
> > the way they used to work with old regex library ? thanks.
>
> This class uses four functions of our old regex library - my_regcomp(),
> my_regerror(), my_regexec(), my_regfree().
>
> If you remove the "my_" prefix, you can google them out, regcomp,
> regerror, regexec, regfree - they're all pretty standard.
>
> I presume pcre has something similar.
>
> Regards,
> Sergei
>



-- 
*Sudheera Palihakkara.*
Undergraduate
Department of *Computer Science and Engineering,
*Faculty of Engineering,
*University of Moratuwa*,
Sri Lanka.

References