@@ -195,9 +195,10 @@ impl SessionBuilder {
195195 ) -> Self {
196196 if test {
197197 let builder = args. into ( ) ;
198+ let name = self . arena . strings . alloc_no_case ( name) ;
198199 let args = self . arena . types . alloc_args ( builder. args ) ;
199200
200- self . options . default_scope . entries . insert (
201+ self . options . default_scope . declare (
201202 name,
202203 Type :: App {
203204 args : FunArgs {
@@ -252,9 +253,10 @@ impl SessionBuilder {
252253 ) -> Self {
253254 if test {
254255 let builder = args. into ( ) ;
256+ let name = self . arena . strings . alloc_no_case ( name) ;
255257 let args = self . arena . types . alloc_args ( builder. args ) ;
256258
257- self . options . default_scope . entries . insert (
259+ self . options . default_scope . declare (
258260 name,
259261 Type :: App {
260262 args : FunArgs {
@@ -343,64 +345,64 @@ impl SessionBuilder {
343345 /// `declare_func` and `declare_agg_func` for all standard library functions,
344346 /// and `declare_event_type` for the default event structure.
345347 pub fn use_stdlib ( self ) -> Self {
346- self . declare_func ( "ABS " , & [ Type :: Number ] , Type :: Number )
347- . declare_func ( "CEIL " , & [ Type :: Number ] , Type :: Number )
348- . declare_func ( "FLOOR " , & [ Type :: Number ] , Type :: Number )
349- . declare_func ( "ROUND " , & [ Type :: Number ] , Type :: Number )
350- . declare_func ( "COS " , & [ Type :: Number ] , Type :: Number )
351- . declare_func ( "EXP " , & [ Type :: Number ] , Type :: Number )
352- . declare_func ( "POW " , & [ Type :: Number , Type :: Number ] , Type :: Number )
353- . declare_func ( "SQRT " , & [ Type :: Number ] , Type :: Number )
354- . declare_func ( "RAND " , & [ ] , Type :: Number )
355- . declare_func ( "PI " , & [ Type :: Number ] , Type :: Number )
356- . declare_func ( "LOWER " , & [ Type :: String ] , Type :: String )
357- . declare_func ( "UPPER " , & [ Type :: String ] , Type :: String )
358- . declare_func ( "TRIM " , & [ Type :: String ] , Type :: String )
359- . declare_func ( "LTRIM " , & [ Type :: String ] , Type :: String )
360- . declare_func ( "RTRIM " , & [ Type :: String ] , Type :: String )
361- . declare_func ( "LEN " , & [ Type :: String ] , Type :: Number )
362- . declare_func ( "INSTR " , & [ Type :: String ] , Type :: Number )
348+ self . declare_func ( "abs " , & [ Type :: Number ] , Type :: Number )
349+ . declare_func ( "ceil " , & [ Type :: Number ] , Type :: Number )
350+ . declare_func ( "floor " , & [ Type :: Number ] , Type :: Number )
351+ . declare_func ( "round " , & [ Type :: Number ] , Type :: Number )
352+ . declare_func ( "cos " , & [ Type :: Number ] , Type :: Number )
353+ . declare_func ( "exp " , & [ Type :: Number ] , Type :: Number )
354+ . declare_func ( "pow " , & [ Type :: Number , Type :: Number ] , Type :: Number )
355+ . declare_func ( "sqrt " , & [ Type :: Number ] , Type :: Number )
356+ . declare_func ( "rand " , & [ ] , Type :: Number )
357+ . declare_func ( "pi " , & [ Type :: Number ] , Type :: Number )
358+ . declare_func ( "lower " , & [ Type :: String ] , Type :: String )
359+ . declare_func ( "upper " , & [ Type :: String ] , Type :: String )
360+ . declare_func ( "trim " , & [ Type :: String ] , Type :: String )
361+ . declare_func ( "ltrim " , & [ Type :: String ] , Type :: String )
362+ . declare_func ( "rtrim " , & [ Type :: String ] , Type :: String )
363+ . declare_func ( "len " , & [ Type :: String ] , Type :: Number )
364+ . declare_func ( "instr " , & [ Type :: String ] , Type :: Number )
363365 . declare_func (
364- "SUBSTRING " ,
366+ "substring " ,
365367 & [ Type :: String , Type :: Number , Type :: Number ] ,
366368 Type :: String ,
367369 )
368370 . declare_func (
369- "REPLACE " ,
371+ "replace " ,
370372 & [ Type :: String , Type :: String , Type :: String ] ,
371373 Type :: String ,
372374 )
373- . declare_func ( "STARTSWITH " , & [ Type :: String , Type :: String ] , Type :: Bool )
374- . declare_func ( "ENDSWITH " , & [ Type :: String , Type :: String ] , Type :: Bool )
375- . declare_func ( "NOW " , & [ ] , Type :: DateTime )
376- . declare_func ( "YEAR " , & [ Type :: Date ] , Type :: Number )
377- . declare_func ( "MONTH " , & [ Type :: Date ] , Type :: Number )
378- . declare_func ( "DAY " , & [ Type :: Date ] , Type :: Number )
379- . declare_func ( "HOUR " , & [ Type :: Time ] , Type :: Number )
380- . declare_func ( "MINUTE " , & [ Type :: Time ] , Type :: Number )
381- . declare_func ( "SECOND " , & [ Type :: Time ] , Type :: Number )
382- . declare_func ( "WEEKDAY " , & [ Type :: Date ] , Type :: Number )
375+ . declare_func ( "startswith " , & [ Type :: String , Type :: String ] , Type :: Bool )
376+ . declare_func ( "endswith " , & [ Type :: String , Type :: String ] , Type :: Bool )
377+ . declare_func ( "now " , & [ ] , Type :: DateTime )
378+ . declare_func ( "year " , & [ Type :: Date ] , Type :: Number )
379+ . declare_func ( "month " , & [ Type :: Date ] , Type :: Number )
380+ . declare_func ( "day " , & [ Type :: Date ] , Type :: Number )
381+ . declare_func ( "hour " , & [ Type :: Time ] , Type :: Number )
382+ . declare_func ( "minute " , & [ Type :: Time ] , Type :: Number )
383+ . declare_func ( "second " , & [ Type :: Time ] , Type :: Number )
384+ . declare_func ( "weekday " , & [ Type :: Date ] , Type :: Number )
383385 . declare_func (
384386 "IF" ,
385387 & [ Type :: Bool , Type :: Unspecified , Type :: Unspecified ] ,
386388 Type :: Unspecified ,
387389 )
388390 . declare_agg_func (
389- "COUNT " ,
391+ "count " ,
390392 FunArgsBuilder {
391393 args : & [ Type :: Bool ] ,
392394 required : 0 ,
393395 } ,
394396 Type :: Number ,
395397 )
396- . declare_agg_func ( "SUM " , & [ Type :: Number ] , Type :: Number )
397- . declare_agg_func ( "AVG " , & [ Type :: Number ] , Type :: Number )
398- . declare_agg_func ( "MIN " , & [ Type :: Number ] , Type :: Number )
399- . declare_agg_func ( "MAX " , & [ Type :: Number ] , Type :: Number )
400- . declare_agg_func ( "MEDIAN " , & [ Type :: Number ] , Type :: Number )
401- . declare_agg_func ( "STDDEV " , & [ Type :: Number ] , Type :: Number )
402- . declare_agg_func ( "VARIANCE " , & [ Type :: Number ] , Type :: Number )
403- . declare_agg_func ( "UNIQUE " , & [ Type :: Unspecified ] , Type :: Unspecified )
398+ . declare_agg_func ( "sum " , & [ Type :: Number ] , Type :: Number )
399+ . declare_agg_func ( "avg " , & [ Type :: Number ] , Type :: Number )
400+ . declare_agg_func ( "min " , & [ Type :: Number ] , Type :: Number )
401+ . declare_agg_func ( "max " , & [ Type :: Number ] , Type :: Number )
402+ . declare_agg_func ( "median " , & [ Type :: Number ] , Type :: Number )
403+ . declare_agg_func ( "stddev " , & [ Type :: Number ] , Type :: Number )
404+ . declare_agg_func ( "variance " , & [ Type :: Number ] , Type :: Number )
405+ . declare_agg_func ( "unique " , & [ Type :: Unspecified ] , Type :: Unspecified )
404406 . declare_event_type ( )
405407 . record ( )
406408 . prop ( "specversion" , Type :: String )
0 commit comments