comparison lib/ur/basis.urs @ 1777:59b07fdae1ff

Partitioning and ordering for window functions
author Adam Chlipala <adam@chlipala.net>
date Sat, 02 Jun 2012 16:47:09 -0400
parents 8f28c3295148
children 818d4097e2ed
comparison
equal deleted inserted replaced
1776:8f28c3295148 1777:59b07fdae1ff
550 550
551 class sql_summable 551 class sql_summable
552 val sql_summable_int : sql_summable int 552 val sql_summable_int : sql_summable int
553 val sql_summable_float : sql_summable float 553 val sql_summable_float : sql_summable float
554 val sql_summable_option : t ::: Type -> sql_summable t -> sql_summable (option t) 554 val sql_summable_option : t ::: Type -> sql_summable t -> sql_summable (option t)
555 val sql_avg : t ::: Type -> nt ::: Type -> sql_summable t -> nullify t nt -> sql_aggregate t nt 555 val sql_avg : t ::: Type -> sql_summable t -> sql_aggregate t (option float)
556 val sql_sum : t ::: Type -> nt ::: Type -> sql_summable t -> nullify t nt -> sql_aggregate t nt 556 val sql_sum : t ::: Type -> nt ::: Type -> sql_summable t -> nullify t nt -> sql_aggregate t nt
557 557
558 class sql_maxable 558 class sql_maxable
559 val sql_maxable_int : sql_maxable int 559 val sql_maxable_int : sql_maxable int
560 val sql_maxable_float : sql_maxable float 560 val sql_maxable_float : sql_maxable float
562 val sql_maxable_time : sql_maxable time 562 val sql_maxable_time : sql_maxable time
563 val sql_maxable_option : t ::: Type -> sql_maxable t -> sql_maxable (option t) 563 val sql_maxable_option : t ::: Type -> sql_maxable t -> sql_maxable (option t)
564 val sql_max : t ::: Type -> nt ::: Type -> sql_maxable t -> nullify t nt -> sql_aggregate t nt 564 val sql_max : t ::: Type -> nt ::: Type -> sql_maxable t -> nullify t nt -> sql_aggregate t nt
565 val sql_min : t ::: Type -> nt ::: Type -> sql_maxable t -> nullify t nt -> sql_aggregate t nt 565 val sql_min : t ::: Type -> nt ::: Type -> sql_maxable t -> nullify t nt -> sql_aggregate t nt
566 566
567 con sql_partition :: {{Type}} -> {{Type}} -> {Type} -> Type
568 val sql_no_partition : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type}
569 -> sql_partition tables agg exps
570 val sql_partition : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type} -> t ::: Type
571 -> sql_exp tables agg exps disallow_window t
572 -> sql_partition tables agg exps
573
567 con sql_window :: {{Type}} -> {{Type}} -> {Type} -> Type -> Type 574 con sql_window :: {{Type}} -> {{Type}} -> {Type} -> Type -> Type
568 val sql_window : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type} 575 val sql_window : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type}
569 -> t ::: Type 576 -> t ::: Type
570 -> sql_window tables agg exps t 577 -> sql_window tables agg exps t
578 -> sql_partition tables agg exps
579 -> sql_order_by tables exps
571 -> sql_exp tables agg exps allow_window t 580 -> sql_exp tables agg exps allow_window t
572 581
573 val sql_window_aggregate : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type} 582 val sql_window_aggregate : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type}
574 -> t ::: Type -> nt ::: Type 583 -> t ::: Type -> nt ::: Type
575 -> sql_aggregate t nt 584 -> sql_aggregate t nt
576 -> sql_exp tables agg exps allow_window t 585 -> sql_exp tables agg exps disallow_window t
577 -> sql_window tables agg exps nt 586 -> sql_window tables agg exps nt
578 val sql_window_count : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type} 587 val sql_window_count : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type}
579 -> sql_window tables agg exps int 588 -> sql_window tables agg exps int
580 val sql_window_rank : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type} 589 val sql_window_rank : tables ::: {{Type}} -> agg ::: {{Type}} -> exps ::: {Type}
581 -> sql_window tables agg exps int 590 -> sql_window tables agg exps int