CalciteのデフォルトのSQL文法を変更するにはどうすればよいですか?」

zsh_comeon

CalciteのデフォルトのSQL文法を変更して、「xxから(a、b、c)のようにfunc(id)を選択」などのSQLステートメントをサポートする方法。

ジュリアンハイド

SQLパーサーが受け入れる文法を変更するには、パーサーを変更する必要があります。これを行うには2つの方法があります。

1つ目は、プロジェクトをフォークして、コア文法であるParser.jjを変更することですただし、プロジェクトをフォークするときはいつものように、プロジェクトの新しいバージョンにアップグレードするたびに、変更を再適用する必要があります。

2つ目は、方解石プロジェクトによって提供される文法拡張ポイントの1つを使用することです。Calciteの文法はJavaCC記述されていますが、最初にFreeMarkerテンプレートエンジンを介して文法を実行します。拡張ポイントは、プロジェクトが再割り当てできるテンプレート内の変数です。たとえば、新しいDDLコマンドを追加する場合createStatementParserMethodsは、Calciteのパーサー拡張テストで行われるように変数を変更できます

  # List of methods for parsing extensions to "CREATE [OR REPLACE]" calls.
  # Each must accept arguments "(Span span, boolean replace)".
  createStatementParserMethods: [
    "SqlCreateTable"
  ]

これらのアプローチのどれを使用しますか?可能であれば、つまり、事前定義された拡張ポイントの1つで文法の変更が発生した場合は、必ず2番目を使用してください。文法のフォークを維持するという問題に遭遇するので、必要な場合にのみ最初のものを使用してください。

可能であれば、カルサイトが変更を貢献として受け入れるかどうかを確認してください。Calciteが文法拡張を維持する責任を負うため、これはあなたにとって理想的なシナリオです。ただし、変更が標準SQLであるか、1つ以上の主要なデータベースによって実装されている便利な機能である場合にのみ、変更を受け入れる可能性があります。また、コードが高品質であり、テストが伴う必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SQLのデフォルトの規則を変更するにはどうすればよいですか?

分類Dev

UIBarButtonItemsのデフォルトフォントを変更するにはどうすればよいですか?

分類Dev

Evernoteのデフォルトフォントを変更するにはどうすればよいですか?

分類Dev

Ckeditorのデフォルトフォントを変更するにはどうすればよいですか?

分類Dev

Rの `densCols`のデフォルトの青色を変更するにはどうすればよいですか?

分類Dev

NixOSでデフォルトのシェルを変更するにはどうすればよいですか?

分類Dev

Firefoxのデフォルトの辞書を変更するにはどうすればよいですか?

分類Dev

IntelliJ IDEAのデフォルトのJDKを変更するにはどうすればよいですか?

分類Dev

BottomSheetDialogのデフォルトの高さを変更するにはどうすればよいですか?

分類Dev

BottomSheetDialogのデフォルトの高さを変更するにはどうすればよいですか?

分類Dev

Meteorのデフォルトのmongodb構成を変更するにはどうすればよいですか?

分類Dev

Railsのデフォルトの単語を変更するにはどうすればよいですか?

分類Dev

ListViewのデフォルトの選択色を変更するにはどうすればよいですか?

分類Dev

`lp`のデフォルトのcpiを変更するにはどうすればよいですか?

分類Dev

bashのデフォルトの前景色を変更するにはどうすればよいですか?

分類Dev

Linux Mintのデフォルトの音量を変更するにはどうすればよいですか?

分類Dev

localdbのデフォルトの照合を変更するにはどうすればよいですか?

分類Dev

AlertDialogのデフォルトスタイルを変更するにはどうすればよいですか?

分類Dev

Kubuntuの背景をデフォルトから変更するにはどうすればよいですか?

分類Dev

phpldapadminのデフォルトポートを変更するにはどうすればよいですか?

分類Dev

起動後にデフォルトのTTYを変更するにはどうすればよいですか?

分類Dev

PostgreSQLで列のデフォルト値を変更するにはどうすればよいですか?

分類Dev

Excelでデフォルトの数値形式を変更するにはどうすればよいですか?

分類Dev

Macintosh Finderでデフォルトの列幅を変更するにはどうすればよいですか?

分類Dev

KDEでデフォルトの壁紙を変更するにはどうすればよいですか?

分類Dev

DraftSightでデフォルトの印刷構成を変更するにはどうすればよいですか

分類Dev

DraftSightでデフォルトの印刷構成を変更するにはどうすればよいですか

分類Dev

デフォルトのセッションを変更するにはどうすればよいですか?

分類Dev

デフォルトのブラウザを変更するにはどうすればよいですか?

Related 関連記事

  1. 1

    SQLのデフォルトの規則を変更するにはどうすればよいですか?

  2. 2

    UIBarButtonItemsのデフォルトフォントを変更するにはどうすればよいですか?

  3. 3

    Evernoteのデフォルトフォントを変更するにはどうすればよいですか?

  4. 4

    Ckeditorのデフォルトフォントを変更するにはどうすればよいですか?

  5. 5

    Rの `densCols`のデフォルトの青色を変更するにはどうすればよいですか?

  6. 6

    NixOSでデフォルトのシェルを変更するにはどうすればよいですか?

  7. 7

    Firefoxのデフォルトの辞書を変更するにはどうすればよいですか?

  8. 8

    IntelliJ IDEAのデフォルトのJDKを変更するにはどうすればよいですか?

  9. 9

    BottomSheetDialogのデフォルトの高さを変更するにはどうすればよいですか?

  10. 10

    BottomSheetDialogのデフォルトの高さを変更するにはどうすればよいですか?

  11. 11

    Meteorのデフォルトのmongodb構成を変更するにはどうすればよいですか?

  12. 12

    Railsのデフォルトの単語を変更するにはどうすればよいですか?

  13. 13

    ListViewのデフォルトの選択色を変更するにはどうすればよいですか?

  14. 14

    `lp`のデフォルトのcpiを変更するにはどうすればよいですか?

  15. 15

    bashのデフォルトの前景色を変更するにはどうすればよいですか?

  16. 16

    Linux Mintのデフォルトの音量を変更するにはどうすればよいですか?

  17. 17

    localdbのデフォルトの照合を変更するにはどうすればよいですか?

  18. 18

    AlertDialogのデフォルトスタイルを変更するにはどうすればよいですか?

  19. 19

    Kubuntuの背景をデフォルトから変更するにはどうすればよいですか?

  20. 20

    phpldapadminのデフォルトポートを変更するにはどうすればよいですか?

  21. 21

    起動後にデフォルトのTTYを変更するにはどうすればよいですか?

  22. 22

    PostgreSQLで列のデフォルト値を変更するにはどうすればよいですか?

  23. 23

    Excelでデフォルトの数値形式を変更するにはどうすればよいですか?

  24. 24

    Macintosh Finderでデフォルトの列幅を変更するにはどうすればよいですか?

  25. 25

    KDEでデフォルトの壁紙を変更するにはどうすればよいですか?

  26. 26

    DraftSightでデフォルトの印刷構成を変更するにはどうすればよいですか

  27. 27

    DraftSightでデフォルトの印刷構成を変更するにはどうすればよいですか

  28. 28

    デフォルトのセッションを変更するにはどうすればよいですか?

  29. 29

    デフォルトのブラウザを変更するにはどうすればよいですか?

ホットタグ

アーカイブ