Navigation Menu

Skip to content
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

Merged
merged 4 commits into from Sep 16, 2018

Conversation

splinter89
Copy link
Contributor

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.

@tsteur
Copy link
Member

tsteur commented Sep 8, 2018

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.

Copy link
Member

@tsteur tsteur left a 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

@diosmosis
Copy link
Member

Not sure why, but from the tests this seems to break some segments, including visitIp, userId, visitorId. Using segments like userId!= (user ID is not empty) returns nothing in the AutoSuggestAPITest test.

@tsteur
Copy link
Member

tsteur commented Sep 10, 2018

Maybe there is no entry with UserId and it was never working before?

@diosmosis
Copy link
Member

diosmosis commented Sep 10, 2018

You can see from the tests it was getting results before, so there should be entries.

EDIT: other segments behave as expected, <row>0</row> which was there before in some segments eg is now gone.

@tsteur
Copy link
Member

tsteur commented Sep 10, 2018

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 AND log_visit.user_id <> 0 prevents it from being considered but AND log_visit.user_id <> '0' works. I presume MySQL casts the text to an integer and compares it.

@@ -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';
Copy link
Member

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'

$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';
Copy link
Member

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'?

@tsteur
Copy link
Member

tsteur commented Sep 10, 2018

Cheers @splinter89 I presume the other failing tests might be because the bug is fixed?

@splinter89
Copy link
Contributor Author

It might be the case.
However, I don't know how to verify aggregated statistics in the results (with nb_visits, etc.)
And I probably won't be able to fix UI tests as I'm on Windows and can't match the requirements.

@tsteur
Copy link
Member

tsteur commented Sep 12, 2018

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);

@splinter89
Copy link
Contributor Author

@tsteur yes, please, I'd appreciate your help with this.

@mattab mattab added this to the 3.6.1 milestone Sep 14, 2018
@tsteur tsteur changed the base branch from 3.x-dev to notemptysegmentbug September 16, 2018 20:23
@tsteur
Copy link
Member

tsteur commented Sep 16, 2018

@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.

@tsteur tsteur merged commit e1250b9 into matomo-org:notemptysegmentbug Sep 16, 2018
tsteur added a commit that referenced this pull request Sep 16, 2018
* Fix "not empty" condition in SegmentExpression (#13386)

* Fix "not empty" condition in SegmentExpression

* fix tests

* update expected values in AutoSuggestAPITest, SegmentTest

* fix some tests

* fix more tests
@splinter89 splinter89 deleted the patch-2 branch September 19, 2018 05:38
@splinter89 splinter89 restored the patch-2 branch September 19, 2018 05:38
diosmosis pushed a commit that referenced this pull request Sep 20, 2018
* Fix "not empty" condition in SegmentExpression (#13386)

* Fix "not empty" condition in SegmentExpression

* fix tests

* update expected values in AutoSuggestAPITest, SegmentTest

* fix some tests

* fix more tests
InfinityVoid pushed a commit to InfinityVoid/matomo that referenced this pull request Oct 11, 2018
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants