The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DBIx::XMLServer::TextField - text field type

DESCRIPTION

This class implements the built-in text field type of DBIx::XMLServer. Only the where method is overridden from the base class.

where method

  $sql_expression = $text_field->where($condition);

This field type understands three types of condition: a string comparison with wildcards; a regular expression test; and a not-null test.

Condition: =wild*card?expression

If the first character of the condition is '=', then the rest of the condition is interpreted as a string, possible containing wildcards, to which the column is to be compared. First the string is escaped by the DBI system; then any characters '%' and '_' are escaped by prefixing with '\'; then the characters '*' and '?' are replaced by '%' and '_' respectively. The resulting SQL expression is one of the following:

  <field> = <string>
  <field> LIKE <string>

depending on whether the string contains any wildcards.

Condition: ~regex

If the first character of the condition is a tilde '~', then the rest of the condition is interpreted as a regular expression. It is escaped by the DBI system, and the SQL expression is

  <field> RLIKE <string> .
Condition: (empty)

If the condition is empty, then the SQL expression is

  <field> IS NOT NULL .
Condition: !

If the condition is the single character '!', then the SQL expression is

  <field> IS NULL .

SEE ALSO

DBIx::XMLServer::Field

AUTHOR

Martin Bright <martin@boojum.org.uk>

COPYRIGHT AND LICENCE

Copyright (C) 2003-4 Martin Bright

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.