Quick start
Les exemples de ce guide exécutent
query() avec le format de sortie CSV par défaut. Les commentaires intégrés indiquent les valeurs de résultat logiques ; la sortie brute affiche NULL sous la forme \N et applique les règles d’échappement CSV aux valeurs de type chaîne et date (par exemple "Hello, world!").Méthodes d’inscription
Décorateur @func
__name__ de la fonction devient le nom de la fonction SQL.
create_function
drop_function
L’enregistrement d’un nom déjà utilisé génère une erreur : les UDFs ne sont pas remplacées silencieusement. Appelez d’abord
drop_function(name) pour réenregistrer une fonction, par exemple lors de la réexécution d’une cellule de notebook.Système de types
Types disponibles
chdb.sqltypes :
Spécifier les types
Inférence automatique des types
arg_types ou return_type est omis, chDB infère les types à partir des annotations de type Python :
Si
arg_types est fourni explicitement, il doit couvrir tous les paramètres — il n’est pas possible de combiner des types explicitement fournis et des types inférés. Cela s’applique à create_function comme au décorateur @func : spécifiez les types de tous les paramètres ou omettez-les entièrement et laissez chDB les déduire des annotations.return_type est omis et que la fonction ne possède aucune annotation de retour, l’enregistrement échoue. En revanche, les types d’arguments sont facultatifs : un paramètre sans type explicite ni annotation accepte dynamiquement tout type d’entrée pris en charge.
Gestion des NULL
on_null contrôle le comportement lorsqu’un argument d’entrée est NULL.
Vous pouvez également utiliser l’enum :
chdb.NullHandling.SKIP / chdb.NullHandling.PASS.
Exemple : default (ignorer)
Exemple : transmettre NULL avec None
Exemple : plusieurs arguments
Gestion des exceptions
on_error définit le comportement à adopter lorsqu’une fonction Python lève une exception.
Vous pouvez également utiliser l’enum :
chdb.ExceptionHandling.PROPAGATE / chdb.ExceptionHandling.IGNORE.
Exemple : default (propager)
Exemple : ignorer les erreurs
Combinaison de la gestion de NULL et des exceptions
on_null et on_error peuvent être combinées :
Prise en charge de DateTime et des fuseaux horaires
Types Date
DateTime avec fuseaux horaires
DateTime64 (haute précision)
DATETIME64 utilise par défaut une précision de 6 (microsecondes) :
- Les valeurs
DateTime/DateTime64d’entrée incluent les informations de fuseau horaire provenant de ClickHouse - Les objets
datetimede sortie conservent les informations de fuseau horaire - La conversion de fuseau horaire est gérée automatiquement