Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
nexedi
MariaDB
Commits
62a9a54a
Commit
62a9a54a
authored
1 year ago
by
Sergei Golubchik
Browse files
Options
Download
Email Patches
Plain Diff
MDEV-33344 REGEXP empty string inconsistent
parent
7828aadd
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
7 deletions
+35
-7
mysql-test/main/func_regexp.result
mysql-test/main/func_regexp.result
+19
-3
mysql-test/main/func_regexp.test
mysql-test/main/func_regexp.test
+15
-3
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+1
-1
No files found.
mysql-test/main/func_regexp.result
View file @
62a9a54a
...
...
@@ -110,7 +110,7 @@ R2
R3
deallocate prepare stmt1;
drop table t1;
End of 4.1 tests
#
End of 4.1 tests
SELECT 1 REGEXP NULL;
1 REGEXP NULL
NULL
...
...
@@ -126,7 +126,7 @@ NULL
SELECT "ABC" REGEXP BINARY NULL;
"ABC" REGEXP BINARY NULL
NULL
End of 5.0 tests
#
End of 5.0 tests
CREATE TABLE t1(a INT, b CHAR(4));
INSERT INTO t1 VALUES (1, '6.1'), (1, '7.0'), (1, '8.0');
PREPARE stmt1 FROM "SELECT a FROM t1 WHERE a=1 AND '7.0' REGEXP b LIMIT 1";
...
...
@@ -144,7 +144,7 @@ a
1
DEALLOCATE PREPARE stmt1;
DROP TABLE t1;
End of 5.1 tests
#
End of 5.1 tests
SELECT ' ' REGEXP '[[:blank:]]';
' ' REGEXP '[[:blank:]]'
1
...
...
@@ -163,3 +163,19 @@ SELECT '\t' REGEXP '[[:space:]]';
SELECT REGEXP_INSTR('111222333',2);
REGEXP_INSTR('111222333',2)
4
# End of 10.3 tests
#
# MDEV-33344 REGEXP empty string inconsistent
#
create table t1 (x char(5));
insert t1 values (''), ('x');
select 'foo' regexp x from t1 order by x asc;
'foo' regexp x
1
0
select 'foo' regexp x from t1 order by x desc;
'foo' regexp x
0
1
drop table t1;
# End of 10.5 tests
This diff is collapsed.
Click to expand it.
mysql-test/main/func_regexp.test
View file @
62a9a54a
...
...
@@ -55,7 +55,7 @@ execute stmt1 using @a;
deallocate
prepare
stmt1
;
drop
table
t1
;
--
echo
End
of
4.1
tests
--
echo
#
End of 4.1 tests
#
...
...
@@ -74,7 +74,7 @@ SELECT NULL REGEXP BINARY NULL;
SELECT
'A'
REGEXP
BINARY
NULL
;
SELECT
"ABC"
REGEXP
BINARY
NULL
;
--
echo
End
of
5.0
tests
--
echo
#
End of 5.0 tests
#
...
...
@@ -91,7 +91,7 @@ DEALLOCATE PREPARE stmt1;
DROP
TABLE
t1
;
--
echo
End
of
5.1
tests
--
echo
#
End of 5.1 tests
#
# MDEV-5820 MySQL Bug #54805 definitions in regex/my_regex.h conflict with /usr/include/regex.h
...
...
@@ -110,3 +110,15 @@ SELECT '\t' REGEXP '[[:space:]]';
--
echo
#
SELECT
REGEXP_INSTR
(
'111222333'
,
2
);
--
echo
# End of 10.3 tests
--
echo
#
--
echo
# MDEV-33344 REGEXP empty string inconsistent
--
echo
#
create
table
t1
(
x
char
(
5
));
insert
t1
values
(
''
),
(
'x'
);
select
'foo'
regexp
x
from
t1
order
by
x
asc
;
select
'foo'
regexp
x
from
t1
order
by
x
desc
;
drop
table
t1
;
--
echo
# End of 10.5 tests
This diff is collapsed.
Click to expand it.
sql/item_cmpfunc.cc
View file @
62a9a54a
...
...
@@ -6062,8 +6062,8 @@ bool Regexp_processor_pcre::compile(String *pattern, bool send_error)
if (!stringcmp(pattern, &m_prev_pattern))
return false;
cleanup();
m_prev_pattern.copy(*pattern);
}
m_prev_pattern.copy(*pattern);
if (!(pattern= convert_if_needed(pattern, &pattern_converter)))
return true;
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment