1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Slick-pg v0.14.0 发布,Slick 的 PostgresSQL 扩展 下载

本帖由 漂亮的石头2016-05-09 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,656
    赞:
    47
    Slick-pg v0.14.0 发布。

    重大更新:


    • 支持聚合函数


    • 支持窗口函数

    注:这些功能其实两年前就实现了,但合并到 slick 一直没有成功,所以,这次就干脆全做在 slick-pg 这端了。

    ----------------------------------------

    让我们来感受一下,


    // 聚合函数

    object AggregateLibrary {
    val PercentileDisc = new SqlFunction("percentile_disc")
    }
    def percentileDisc(f: Double) = agg.OrderedAggFuncBuilder(AggLibrary.PercentileDisc, List(LiteralNode(f)))
    ...
    percentileDisc(0.5d).filter(t.y < 130d).within(t.x desc)
    //sql: percentile_disc(0.5) within group ( order by "x" desc) filter ( where "y" < 130.0)

    // 窗口函数

    object AggregateLibrary {
    val Avg = new SqlFunction("avg")
    }
    def avg[T : JdbcType](c: Rep[T]) = agg.AggFuncRep[T](AggLibrary.Avg, List(c.toNode))
    ...
    avg(salary).over.partitionBy(dept).orderBy(dept,salary)
    .rowsFrame(RowCursor.UnboundPreceding, RowCursor.CurrentRow)
    //sql: avg(salary) over (partition by dept order by dept, salary rows between unbounded preceding and current row)
    Slick-pg v0.14.0 发布,Slick 的 PostgresSQL 扩展下载地址
     
正在加载...