sdf-labs / sql-functions

12 stars 0 forks source link

SQL Functions

This crate contains generated function stubs and implementations for SQL functions from various SQL dialects. The goal is to enable compute providers like DataFusion to selectively import functions from many dialects.

The goal: functional parity between this crate and all functions in all SQL dialects.

To contribute a function, please see our contribution guidelines

Overview

This crate is split up into the following compontents:

Prerequisite Setup

All functions are compiled into a single crate.

To build the functions crate:

cargo build

To test the functions crate:

cargo test

Monomorphic Functions

The functions in this crate are monomorphic by default. This means that each function operates on a single type of data, and support for multiple data types results in an overloaded function. For example, a function that takes an integer and returns an integer, like int add(int a, int b), is monomorphic.

This is in contrast to polymorphic functions, which can operate on multiple types through mechanisms such as generics or type parameters. Monomorphic functions are typically simpler in terms of type checking and type inference, as there are no generic type parameters to resolve.

Contributing

Contributions are more than welcome! Both to the list of reports, or documentation. Please carefully read CONTRIBUTING.md

Using SQL Functions Crate