Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
c1ce884e
Commit
c1ce884e
authored
Oct 26, 2009
by
Angie Byron
Browse files
#612392
by chx and Crell: Allow lowercase comparison operators in DBTNG.
parent
7536a354
Changes
2
Hide whitespace changes
Inline
Side-by-side
includes/database/query.inc
View file @
c1ce884e
...
...
@@ -1321,12 +1321,26 @@ protected function mapConditionOperator($operator) {
'BETWEEN'
=>
array
(
'delimiter'
=>
' AND '
),
'IN'
=>
array
(
'delimiter'
=>
', '
,
'prefix'
=>
' ('
,
'postfix'
=>
')'
),
'NOT IN'
=>
array
(
'delimiter'
=>
', '
,
'prefix'
=>
' ('
,
'postfix'
=>
')'
),
'LIKE'
=>
array
(
'operator'
=>
'LIKE'
),
'IS NULL'
=>
array
(
'use_value'
=>
FALSE
),
'IS NOT NULL'
=>
array
(
'use_value'
=>
FALSE
),
// These ones are here for performance reasons.
'='
=>
array
(),
'<'
=>
array
(),
'>'
=>
array
(),
'>='
=>
array
(),
'<='
=>
array
(),
'LIKE'
=>
array
(),
);
if
(
isset
(
$specials
[
$operator
]))
{
$return
=
$specials
[
$operator
];
}
else
{
// We need to upper case because PHP index matches are case sensitive but
// do not need the more expensive drupal_strtoupper because SQL statements are ASCII.
$operator
=
strtoupper
(
$operator
);
$return
=
isset
(
$specials
[
$operator
])
?
$specials
[
$operator
]
:
array
();
}
$return
=
isset
(
$specials
[
$operator
])
?
$specials
[
$operator
]
:
array
();
$return
+=
array
(
'operator'
=>
$operator
);
return
$return
;
...
...
modules/simpletest/tests/database_test.test
View file @
c1ce884e
...
...
@@ -790,9 +790,11 @@ class DatabaseUpdateComplexTestCase extends DatabaseTestCase {
* Test WHERE NOT IN clauses.
*/
function
testNotInConditionUpdate
()
{
// The o is lowercase in the 'NoT IN' operator, to make sure the operators
// work in mixed case.
$num_updated
=
db_update
(
'test'
)
->
fields
(
array
(
'job'
=>
'Musician'
))
->
condition
(
'name'
,
array
(
'John'
,
'Paul'
,
'George'
),
'N
O
T IN'
)
->
condition
(
'name'
,
array
(
'John'
,
'Paul'
,
'George'
),
'N
o
T IN'
)
->
execute
();
$this
->
assertIdentical
(
$num_updated
,
1
,
t
(
'Updated 1 record.'
));
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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