Perform sum / count / like query on appengine! Yaac 0.2 is out!

123 views
Skip to first unread message

Max

unread,
Nov 12, 2011, 8:13:40 AM11/12/11
to google-a...@googlegroups.com
Hi guys, 

Yaac (Yet Another Admin Console) 0.2 is just released, which helps you to do lots of things you can't do with existing admin console. Here is an incomplete list:

Extended GQL (EGQL)
Aggregation functions, used together with group by clause and having clause (optional):
MAX, MIN, SUM, COUNT, AVG
Scalar functions:
UCASE / LCASE / MID / LEN / ROUND / FORMAT / NOW / TYPE / DATETIME / KEY(New) / USER(New) / GEOPT(New)
Inter properties comparison in where clause: eg, where property1 = property2
Powerful Arithmetic Expressions: eg, where property1 + 5 < property2 * (2 + property3)
Powerful boolean expressions: eg, where condition1 and (condition2 or condition3) and not condition4
Like query: eg, where ucase(property1) like "%abc%" (new)
More details about EGQL syntax please refer to this page: http://code.google.com/p/yaac/wiki/EGQLReference

Datastore Browser:
Download datastore blob / text and blobstore blob directly (new)
Better display keys in list property (new)

Datastore Statistics:
More detailed breakdown on root / non root statistics

Features comming soon:
sql like Insert / update / delete statements
Filter in datastore browser (triditional GQL)
sub-query
table join
billing estimation before query execution (how expensive is the query, more specifically how many datastore operations?)
Cross namespace query
and more...
Sandbox (http://sandbox.yetanotheradminconsole.appspot.com/) is updated with the latest version. 86K soccer matches are uploaded. Login with your google account and play with it!

For example, for all Arsenal's away draw matches against those end with united having average full time goals are more than 1, we can use following EGQL to query:

select HOME_TEAM, AWAY_TEAM, count(1), sum(FTHG + FTAG)
from MATCH 
where FTHG = FTAG and AWAY_TEAM = "Arsenal" and lcase(HOME_TEAM) like "%united" 
group by HOME_TEAM, AWAY_TEAM
having sum(FTHG + FTAG) / count(1) > 1

You can also use this link to try new look of entity viewer (entity with grandparent with almost all datatypes)

To deploy Yaac to your own domain refer to this page: http://code.google.com/p/yaac/wiki/DeployGuideline

Any feedback is welcome!

Max

unread,
Nov 16, 2011, 8:32:40 AM11/16/11
to google-a...@googlegroups.com
more features are implemented these days, including * selection, between / in / like query etc

Jeff Schnitzer

unread,
Nov 16, 2011, 8:55:08 AM11/16/11
to google-a...@googlegroups.com
On Wed, Nov 16, 2011 at 9:32 AM, Max <theb...@gmail.com> wrote:
more features are implemented these days, including * selection, between / in / like query etc


I just looked at this for the first time... WOW!  It's like a dream come true.  Thank you for building it.

Jeff

Max

unread,
Nov 16, 2011, 9:20:22 AM11/16/11
to google-a...@googlegroups.com
thanks Jeff, 

I have been waiting similar things from Google for last 2 years. :) 

Just so many times we want to perform a specific query for only once, it doesn't have to be scalable but we just can't query it directly. It's so expensive and risky to write a mapreduce script + test + approve + deploy to production each and every time!

Please, any feedback is welcome!
Reply all
Reply to author
Forward
0 new messages