My SQL Dump

MySQL musings by a self professed MySQL Geek

Previous Entry Share Next Entry
Flexviews 1.6.0-RC1 is released
swanhart
Whats new in Flexviews 1.6.0RC1
  • This is the first release candidate before the final release.  If no major bugs are uncovered, then the next release will be the first GA release. 
  • Flexviews now has a test suite for all major features.  The creation of these tests uncovered a number of issues which have been resolved in this release. 
  • All MySQL aggregate functions except GROUP_CONCAT are now supported. 
  • A special aggregate function called PERCENTILE is now also supported.  The calculation uses a modified version of the GROUP_CONCAT based solution suggested by Roland Bouman for percentiles.  This function should be considered experimental.  Please report bugs if you find any.
  • You can add indexes to enabled materialized views using SQL_API/add_expr
  • Adding PRIMARY KEY indexes is no longer supported.  All views get an auto_incrementing primary  key.  You can add additional UNIQUE indexes instead.
  • There is an upgrade process from 1.5.3b (see UPGRADE and upgrade.sql)
Significant bug fixes
  • Views with aggregate functions but no GROUP BY columns now work properly for all supported aggregate function types
  • NULL values in GROUP BY columns are now properly supported
  • NULL values now work properly with distributive aggregate functions
  • There is a wrapper script around run_consumer.php which can restart the consumer if it stops running

As always, get it at:
http://sourceforge.net/projects/Flexviews

Modified percentile function

swanhart

2010-09-07 11:02 pm (UTC)

This is the flexviews function that creates a percentile calculation for a given expression, based on this blog post:
http://rpbouman.blogspot.com/2008/07/calculating-nth-percentile-in-mysql.html

CREATE DEFINER=flexviews@localhost FUNCTION flexviews.`get_percentile`( v_mview_expression TEXT, v_percentile INT) RETURNS TEXT CHARSET latin1
READS SQL DATA
BEGIN

-- FIXME - needs to be made a variable in flexviews.settings table
set group_concat_max_len = 1024 * 1024 * 1024;

return CONCAT(
'SUBSTRING_INDEX(
SUBSTRING_INDEX(
SUBSTR(
GROUP_CONCAT(DISTINCT IFNULL(',
v_mview_expression,
', "") ORDER BY ',v_mview_expression,'
),
MAX(',v_mview_expression,' IS NULL) + 1
)
, ","
, ', v_percentile, '/100 * COUNT(distinct ', v_mview_expression, ') + 1)
, ","
, -1
)'
);


END ;;

Flexviews 1.6.0-RC1 is released

pingback_bot

2010-09-08 02:50 am (UTC)


You are viewing swanhart