New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix "not empty" condition in SegmentExpression #13386
Conversation
Good find 👍 looks good to me. We'll only need to fix the tests. I presume this is something we might need to do as tests not always finish currently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll need to fix tests
Not sure why, but from the tests this seems to break some segments, including |
Maybe there is no entry with UserId and it was never working before? |
You can see from the tests it was getting results before, so there should be entries. EDIT: other segments behave as expected, |
Just checked it generates this query: SELECT
log_visit.*
FROM
piwik_log_visit AS log_visit
WHERE
( log_visit.idsite in (1)
AND log_visit.visit_last_action_time >= '2015'
AND log_visit.visit_last_action_time <= '2020' )
AND
( ( log_visit.user_id IS NOT NULL AND log_visit.user_id <> '' AND log_visit.user_id <> 0 ) )
ORDER BY
idsite DESC, visit_last_action_time DESC LIMIT 0, 8010 And the |
core/Segment/SegmentExpression.php
Outdated
@@ -263,12 +263,12 @@ protected function getSqlMatchFromDefinition($def, &$availableTables) | |||
break; | |||
|
|||
case self::MATCH_IS_NOT_NULL_NOR_EMPTY: | |||
$sqlMatch = '%s IS NOT NULL AND (%s <> \'\' OR %s = 0)'; | |||
$sqlMatch = '%s IS NOT NULL AND %s <> \'\' AND %s <> 0'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To fix the tests we may need to check <> '0'
core/Segment/SegmentExpression.php
Outdated
$value = null; | ||
break; | ||
|
||
case self::MATCH_IS_NULL_OR_EMPTY: | ||
$sqlMatch = '%s IS NULL OR %s = \'\' '; | ||
$sqlMatch = '%s IS NULL OR %s = \'\' OR %s = 0'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably needed here as well? OR 5s = '0'
?
Cheers @splinter89 I presume the other failing tests might be because the bug is fixed? |
It might be the case. |
The changes in the tests are expected and we can replace the fixtures. I've executed the tests and looked at the raw data it generated and the new results look correct and fixes the issue. So to merge this issue, we basically only need to update the test fixtures and that's it. @splinter89 is this something you can do? otherwise happy to do it... great fix :) Here is eg the visit table that it generates: INSERT INTO `log_visit` (`idvisit`, `idsite`, `idvisitor`, `visit_last_action_time`, `config_id`, `location_ip`, `user_id`, `visit_first_action_time`, `visit_goal_buyer`, `visit_goal_converted`, `visitor_days_since_first`, `visitor_days_since_order`, `visitor_returning`, `visitor_count_visits`, `visit_entry_idaction_name`, `visit_entry_idaction_url`, `visit_exit_idaction_name`, `visit_exit_idaction_url`, `visit_total_actions`, `visit_total_interactions`, `visit_total_searches`, `referer_keyword`, `referer_name`, `referer_type`, `referer_url`, `location_browser_lang`, `config_browser_engine`, `config_browser_name`, `config_browser_version`, `config_device_brand`, `config_device_model`, `config_device_type`, `config_os`, `config_os_version`, `visit_total_events`, `visitor_localtime`, `visitor_days_since_last`, `config_resolution`, `config_cookie`, `config_director`, `config_flash`, `config_gears`, `config_java`, `config_pdf`, `config_quicktime`, `config_realplayer`, `config_silverlight`, `config_windowsmedia`, `visit_total_time`, `location_city`, `location_country`, `location_latitude`, `location_longitude`, `location_region`, `custom_var_k1`, `custom_var_v1`, `custom_var_k2`, `custom_var_v2`, `custom_var_k3`, `custom_var_v3`, `custom_var_k4`, `custom_var_v4`, `custom_var_k5`, `custom_var_v5`, `last_idlink_va`, `custom_dimension_1`, `custom_dimension_2`, `custom_dimension_3`, `custom_dimension_4`, `custom_dimension_5`)
VALUES
(1, 1, X'A9B7BA70783B617E', '2018-01-01 00:00:00', X'0FC8A7B5C1071E7D', X'01020400', NULL, '2018-01-01 00:00:00', 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 0, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Stratford-upon-Avon', 'gb', 123.456000, 21.321000, 'WAR', 'Cvar 1 name', 'Cvar1 value is 0', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 0', 1, NULL, NULL, NULL, NULL, NULL),
(2, 1, X'A9B7BA70783B617E', '2018-01-01 01:27:00', X'0FC8A7B5C1071E7D', X'01020400', NULL, '2018-01-01 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Stratford-upon-Avon', 'gb', 123.456000, 21.321000, 'WAR', 'Cvar 1 name', 'Cvar1 value is 0', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 0', 6, NULL, NULL, NULL, NULL, NULL),
(3, 1, X'B8C37E33DEFDE51C', '2018-01-02 00:00:00', X'F482ECAA17F17080', X'01020401', NULL, '2018-01-02 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Nuneaton and Bedworth', 'gb', NULL, NULL, 'WAR', 'Cvar 1 name', 'Cvar1 value is 1', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 1', 7, NULL, NULL, NULL, NULL, NULL),
(4, 1, X'B8C37E33DEFDE51C', '2018-01-02 01:27:00', X'F482ECAA17F17080', X'01020401', NULL, '2018-01-02 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 3, 4, 4, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Nuneaton and Bedworth', 'gb', NULL, NULL, 'WAR', 'Cvar 1 name', 'Cvar1 value is 1', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 1', 11, NULL, NULL, NULL, NULL, NULL),
(5, 1, X'FBA9D88164F3E2D9', '2018-01-03 00:00:00', X'85AAA85A2071DAF5', X'01020402', NULL, '2018-01-03 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Stratford-upon-Avon', 'gb', 124.456000, 22.231000, 'WAR', 'Cvar 1 name', 'Cvar1 value is 2', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 2', 12, NULL, NULL, NULL, NULL, NULL),
(6, 1, X'FBA9D88164F3E2D9', '2018-01-03 01:27:00', X'85AAA85A2071DAF5', X'01020402', NULL, '2018-01-03 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Stratford-upon-Avon', 'gb', 124.456000, 22.231000, 'WAR', 'Cvar 1 name', 'Cvar1 value is 2', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 2', 17, NULL, NULL, NULL, NULL, NULL),
(7, 1, X'AA68C75C4A77C87F', '2018-01-04 00:00:00', X'9B641F2D195745F4', X'01020403', NULL, '2018-01-04 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'London', 'gb', NULL, NULL, 'LND', 'Cvar 1 name', 'Cvar1 value is 3', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 3', 18, NULL, NULL, NULL, NULL, NULL),
(8, 1, X'AA68C75C4A77C87F', '2018-01-04 01:27:00', X'9B641F2D195745F4', X'01020403', NULL, '2018-01-04 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 3, 4, 4, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'London', 'gb', NULL, NULL, 'LND', 'Cvar 1 name', 'Cvar1 value is 3', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 3', 22, NULL, NULL, NULL, NULL, NULL),
(9, 1, X'FED33392D3A48AA1', '2018-01-05 00:00:00', X'17B5AC19CCE8A192', X'01020404', NULL, '2018-01-05 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Stratford-upon-Avon', 'gb', NULL, NULL, 'KEN', 'Cvar 1 name', 'Cvar1 value is 4', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 4', 23, NULL, NULL, NULL, NULL, NULL),
(10, 1, X'FED33392D3A48AA1', '2018-01-05 01:27:00', X'17B5AC19CCE8A192', X'01020404', NULL, '2018-01-05 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Stratford-upon-Avon', 'gb', NULL, NULL, 'KEN', 'Cvar 1 name', 'Cvar1 value is 4', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 4', 28, NULL, NULL, NULL, NULL, NULL),
(11, 1, X'2387337BA1E0B024', '2018-01-06 00:00:00', X'3E5F540B8952A4AB', X'01020405', NULL, '2018-01-06 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Stratford-upon-Avon', 'ru', NULL, NULL, 'SPE', 'Cvar 1 name', 'Cvar1 value is 5', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 5', 29, NULL, NULL, NULL, NULL, NULL),
(12, 1, X'2387337BA1E0B024', '2018-01-06 01:27:00', X'3E5F540B8952A4AB', X'01020405', NULL, '2018-01-06 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 3, 4, 4, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Stratford-upon-Avon', 'ru', NULL, NULL, 'SPE', 'Cvar 1 name', 'Cvar1 value is 5', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 5', 33, NULL, NULL, NULL, NULL, NULL),
(13, 1, X'9246444D94F081E3', '2018-01-07 00:00:00', X'289E2FCBB06929FA', X'01020406', NULL, '2018-01-07 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Hluboká nad Vltavou', 'ru', NULL, NULL, 'SPE', 'Cvar 1 name', 'Cvar1 value is 6', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 6', 34, NULL, NULL, NULL, NULL, NULL),
(14, 1, X'9246444D94F081E3', '2018-01-07 01:27:00', X'289E2FCBB06929FA', X'01020406', NULL, '2018-01-07 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Hluboká nad Vltavou', 'ru', NULL, NULL, 'SPE', 'Cvar 1 name', 'Cvar1 value is 6', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 6', 39, NULL, NULL, NULL, NULL, NULL),
(15, 1, X'D7322ED717DEDF1E', '2018-01-08 00:00:00', X'28A7EE52024F3A89', X'01020407', NULL, '2018-01-08 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Stratford-upon-Avon', 'mk', NULL, NULL, '18', 'Cvar 1 name', 'Cvar1 value is 7', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 7', 40, NULL, NULL, NULL, NULL, NULL),
(16, 1, X'D7322ED717DEDF1E', '2018-01-08 01:27:00', X'28A7EE52024F3A89', X'01020407', NULL, '2018-01-08 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 3, 4, 4, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Stratford-upon-Avon', 'mk', NULL, NULL, '18', 'Cvar 1 name', 'Cvar1 value is 7', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 7', 44, NULL, NULL, NULL, NULL, NULL),
(17, 1, X'1587965FB4D4B5AF', '2018-01-09 00:00:00', X'A36244DB4114AFA7', X'01020408', NULL, '2018-01-09 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, NULL, 'xx', NULL, NULL, NULL, 'Cvar 1 name', 'Cvar1 value is 8', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 8', 45, NULL, NULL, NULL, NULL, NULL),
(18, 1, X'1587965FB4D4B5AF', '2018-01-09 01:27:00', X'A36244DB4114AFA7', X'01020408', NULL, '2018-01-09 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.6', '', 'generic desktop', 0, 'WIN', 'XP', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, NULL, 'xx', NULL, NULL, NULL, 'Cvar 1 name', 'Cvar1 value is 8', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 8', 50, NULL, NULL, NULL, NULL, NULL),
(19, 1, X'08F90C1A41715536', '2018-01-01 00:00:00', X'CC20676F98F5D568', X'C2395BD7', NULL, '2018-01-01 00:00:00', 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Blink', 'CM', '33.0', 'GO', 'Nexus 4', 1, 'AND', '4.4', 0, '12:34:06', 0, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Besançon', 'fr', 47.249000, 6.018000, 'BFC', 'Cvar 1 name', 'Cvar1 value is 0', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 0', 51, NULL, NULL, NULL, NULL, NULL),
(20, 1, X'08F90C1A41715536', '2018-01-01 01:27:00', X'CC20676F98F5D568', X'C2395BD7', NULL, '2018-01-01 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', 'fr', 'Blink', 'CM', '33.0', 'GO', 'Nexus 4', 1, 'AND', '4.4', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Besançon', 'fr', 47.249000, 6.018000, 'BFC', 'Cvar 1 name', 'Cvar1 value is 0', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 0', 56, NULL, NULL, NULL, NULL, NULL),
(21, 1, X'D0FB963FF976F9C3', '2018-01-02 00:00:00', X'65EEFC1C2B3AA35C', X'00000000000000000000FFFF89528231', NULL, '2018-01-02 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'WebKit', 'AN', '', 'HT', 'Desire', 1, 'MLD', '8.0', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Vancouver', 'ca', 49.250000, -123.133000, 'BC', 'Cvar 1 name', 'Cvar1 value is 1', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 1', 57, NULL, NULL, NULL, NULL, NULL),
(22, 1, X'D0FB963FF976F9C3', '2018-01-02 01:27:00', X'65EEFC1C2B3AA35C', X'00000000000000000000FFFF89528231', NULL, '2018-01-02 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 3, 4, 4, 1, 0, NULL, NULL, 1, '', 'fr', 'WebKit', 'AN', '', 'HT', 'Desire', 1, 'MLD', '8.0', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Vancouver', 'ca', 49.250000, -123.133000, 'BC', 'Cvar 1 name', 'Cvar1 value is 1', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 1', 61, NULL, NULL, NULL, NULL, NULL),
(23, 1, X'E93028BDC1AACDFB', '2018-01-01 00:00:00', X'DD5A3C85624C2D3B', X'89528200', NULL, '2018-01-01 00:00:00', 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Blink', 'CH', '32.0', '', 'generic desktop', 0, 'WIN', '8.1', 0, '12:34:06', 0, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Vancouver', 'ca', 49.250000, -123.133000, 'BC', 'Cvar 1 name', 'Cvar1 value is 0', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 0', 62, NULL, NULL, NULL, NULL, NULL),
(24, 1, X'E93028BDC1AACDFB', '2018-01-01 01:27:00', X'6E61D30774AE8214', X'89528200', NULL, '2018-01-01 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', '', 'Blink', 'CH', '32.0', '', 'generic desktop', 0, 'WIN', '8.1', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Vancouver', 'ca', 49.250000, -123.133000, 'BC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 67, NULL, NULL, NULL, NULL, NULL),
(25, 1, X'908C9A564A864265', '2018-01-02 00:00:00', X'31EA532C06BF48A0', X'89520000', NULL, '2018-01-02 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', '', 'Trident', 'IE', '8.0', '', 'generic desktop', 0, 'WIN', 'Vista', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Vancouver', 'ca', 49.250000, -123.133000, 'BC', 'Cvar 1 name', 'Cvar1 value is 1', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 1', 68, NULL, NULL, NULL, NULL, NULL),
(26, 1, X'908C9A564A864265', '2018-01-02 01:27:00', X'31EA532C06BF48A0', X'89520000', NULL, '2018-01-02 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 3, 4, 4, 1, 0, NULL, NULL, 1, '', '', 'Trident', 'IE', '8.0', '', 'generic desktop', 0, 'WIN', 'Vista', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Vancouver', 'ca', 49.250000, -123.133000, 'BC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 72, NULL, NULL, NULL, NULL, NULL),
(27, 1, X'D806CA13CA3449AF', '2018-01-03 00:00:00', X'B6F1D5120B2B15A2', X'200300F693BF026F9EC7A6FFFE2927DF', NULL, '2018-01-03 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', '', 'Trident', 'IE', '11.0', 'DL', 'generic desktop', 0, 'WIN', '7', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, NULL, 'us', 38.000000, -97.000000, NULL, 'Cvar 1 name', 'Cvar1 value is 2', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 2', 73, NULL, NULL, NULL, NULL, NULL),
(28, 1, X'D806CA13CA3449AF', '2018-01-03 01:27:00', X'B6F1D5120B2B15A2', X'200300F693BF026F9EC7A6FFFE2927DF', NULL, '2018-01-03 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', '', 'Trident', 'IE', '11.0', 'DL', 'generic desktop', 0, 'WIN', '7', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, NULL, 'us', 38.000000, -97.000000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 78, NULL, NULL, NULL, NULL, NULL),
(29, 1, X'A4380923DD651C19', '2018-01-04 00:00:00', X'D5A95C7FE2A8286D', X'713E0101', NULL, '2018-01-04 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', '', 'Blink', 'CH', '34.0', 'SO', 'Xperia Tablet S', 2, 'AND', '4.1', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'Lhasa', 'cn', 29.650000, 91.100000, 'XZ', 'Cvar 1 name', 'Cvar1 value is 3', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 3', 79, NULL, NULL, NULL, NULL, NULL),
(30, 1, X'A4380923DD651C19', '2018-01-04 01:27:00', X'D5A95C7FE2A8286D', X'713E0101', NULL, '2018-01-04 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 3, 4, 4, 1, 0, NULL, NULL, 1, '', '', 'Blink', 'CH', '34.0', 'SO', 'Xperia Tablet S', 2, 'AND', '4.1', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, 'Lhasa', 'cn', 29.650000, 91.100000, 'XZ', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 83, NULL, NULL, NULL, NULL, NULL),
(31, 1, X'1BD69C7DF3112FB9', '2018-01-01 00:00:00', X'05F59D2B325126C8', X'9764655C', NULL, '2018-01-01 00:00:00', 0, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'WebKit', 'QQ', '5.0', 'SA', 'GALAXY Note 3', 10, 'AND', '4.3', 0, '12:34:06', 0, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, NULL, 'it', NULL, NULL, NULL, 'Cvar 1 name', 'Cvar1 value is 0', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 0', 84, NULL, NULL, NULL, NULL, NULL),
(32, 1, X'1BD69C7DF3112FB9', '2018-01-01 01:27:00', X'05F59D2B325126C8', X'9764655C', NULL, '2018-01-01 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 5, NULL, 5, 2, 1, NULL, NULL, 1, '', 'fr', 'WebKit', 'QQ', '5.0', 'SA', 'GALAXY Note 3', 10, 'AND', '4.3', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, NULL, 'it', NULL, NULL, NULL, 'Cvar 1 name', 'Cvar1 value is 0', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 0', 89, NULL, NULL, NULL, NULL, NULL),
(33, 1, X'FFC58105BF6F8A91', '2018-01-02 00:00:00', X'E61A3357F12D99F5', X'671DC4E5', NULL, '2018-01-02 00:00:00', 0, 1, 101, 51, 2, 5, 1, 2, 1, 2, 1, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.0', '', 'generic desktop', 0, 'UBT', '9.04', 0, '12:34:06', 11, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, NULL, 'id', NULL, NULL, NULL, 'Cvar 1 name', 'Cvar1 value is 1', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 1', 90, NULL, NULL, NULL, NULL, NULL),
(34, 1, X'FFC58105BF6F8A91', '2018-01-02 01:27:00', X'E61A3357F12D99F5', X'671DC4E5', NULL, '2018-01-02 01:00:00', 0, 1, 100, 50, 2, 5, 3, 4, 3, 4, 4, 1, 0, NULL, NULL, 1, '', 'fr', 'Gecko', 'FF', '3.0', '', 'generic desktop', 0, 'UBT', '9.04', 1, '12:34:06', 10, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1621, NULL, 'id', NULL, NULL, NULL, 'Cvar 1 name', 'Cvar1 value is 1', NULL, NULL, NULL, NULL, NULL, NULL, 'Cvar 5 name', 'Cvar5 value is 1', 94, NULL, NULL, NULL, NULL, NULL),
(35, 1, X'E64BC481700C5D69', '2018-01-21 00:00:00', X'5BC9628006479118', X'C2395BD7', 'userid.email@example.org', '2018-01-21 00:00:00', 0, 1, 0, 0, 0, 1, 52, 2, 52, 2, 1, 1, 0, 'wikileaks ftw', 'Google', 2, 'http://google.com/?q=Wikileaks FTW', 'fr', 'WebKit', 'SF', '', '', 'generic desktop', 0, 'WIN', 'XP', 0, '12:34:06', 0, '1024x768', 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 'not a city', 'us', 1.000000, 2.000000, 'CA', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 95, NULL, NULL, NULL, NULL, NULL);
|
@tsteur yes, please, I'd appreciate your help with this. |
@splinter89 wanted to push the test fixes into your branch but noticed that branch is still on Piwik 2 by the looks and things got a bit complicated. Merging first into a Matomo 3 branch, and then into Matomo 3. |
…tomo-org#13431) * Fix "not empty" condition in SegmentExpression (matomo-org#13386) * Fix "not empty" condition in SegmentExpression * fix tests * update expected values in AutoSuggestAPITest, SegmentTest * fix some tests * fix more tests
Currently condition "is empty" works fine, but "is not empty" effectively returns all rows.
I've also changed "is empty" one to make these two expressions negations of each other, just as one would expect.