Quelqu'un a-t-il implémenté une fonctionnalité de présentation dans l'adaptateur Apache Calcite ?
P粉885035114
2023-09-02 12:15:50
<p>Je souhaite implémenter une commande <code>show foo</code> liée au moteur de base de données que nous souhaitons connecter à Calcite via l'adaptateur Calcite. Bien sûr, <code>foo</code> est quelque chose de spécifique à ce moteur de base de données. J'essaie de déterminer à quel nœud distant il doit être mappé (entre autres détails). Donc, si quelqu'un a implémenté l'instruction "show" comme adaptateur Calcite et a quelques conseils à me donner, ce serait grandement apprécié. </p>
<p>Mon idée actuelle est de créer un nouveau type de table "foo" avec les colonnes pertinentes que la commande doit renvoyer, puis de mapper <code>show foo</code> à l'équivalent : </p>
<pre class="brush:sql;toolbar:false;">select * from foo;
≪/pré>
<p>Bien sûr, cela se fait à l’aide de nœuds relationnels Calcite. Sur le backend, je sais vers quoi je dois le convertir. </p>
Vous voudrez peut-être consulter sqlline qui implémente quelque chose comme
show
的命令:!dbinfo
、!tables
、!schemas
et plus encore. Si vous regardez Commands.java vous verrez qu'elles sont implémentées via JDBC.À partir de là, cependant, vous pouvez découvrir le côté Calcite des choses dans les différentes classes de l'espace de noms org.apache.calcite.jdbc.