Description
CapnProto est un format de messages binaires semblable au format Protocol Buffers et à Thrift, mais contrairement à JSON ou à MessagePack.
Les messages CapnProto sont strictement typés et ne sont pas auto-descriptifs, ce qui signifie qu’ils nécessitent une description de schéma externe. Le schéma est appliqué à la volée et mis en cache pour chaque requête.
Voir aussi Schéma de format.
Correspondance des types de données
INSERT et SELECT.
- Les types entiers peuvent être convertis les uns dans les autres lors des opérations d’entrée/sortie.
- Pour utiliser
Enumau format CapnProto, utilisez le paramètre format_capn_proto_enum_comparising_mode. - Les
Arraypeuvent être imbriqués et accepter une valeur de typeNullablecomme argument. Les typesTupleetMappeuvent également être imbriqués.
Exemple d’utilisation
Insertion et sélection de données
schema.capnp se présente ainsi :
CapnProto à l’aide de la commande suivante :
Utilisation d’un schéma généré automatiquement
CapnProto externe pour vos données, vous pouvez tout de même lire/écrire des données au format CapnProto à l’aide d’un schéma généré automatiquement.
Par exemple :
Paramètres de format
format_capn_proto_use_autogenerated_schema est activé par défaut et s’applique si format_schema n’est pas défini.
Vous pouvez également enregistrer le schéma généré automatiquement dans un fichier lors des opérations d’entrée/sortie à l’aide du paramètre output_format_schema.
Par exemple :
CapnProto généré automatiquement sera enregistré dans le fichier path/to/schema/schema.capnp.