public static object DefaultValue(Program program, Schema.ScalarType type) { // ScalarType level default trigger handlers program.Stack.Push(null); try { if (type.HasHandlers()) { foreach (Schema.EventHandler handler in type.EventHandlers) { if ((handler.EventType & EventType.Default) != 0) { object result = handler.PlanNode.Execute(program); if ((result != null) && (bool)result) { return(program.Stack.Peek(0)); } } } } } finally { program.Stack.Pop(); } if (type.Default != null) { return(type.Default.Node.Execute(program)); } else { return(null); } }