婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Apache Calcite 實現方言轉換的代碼

Apache Calcite 實現方言轉換的代碼

熱門標簽:福州企業電銷機器人排名 上海申請高400開頭的電話 打400電話怎么辦理收費 10086外包用的什么外呼系統 麗江真人語音電話外呼系統 宿城區電話機器人找哪家 400電話辦理介紹信 怎么找到沒有地圖標注的店 河南防封號電銷機器人是什么

定義

Calcite能夠通過解析Sql為SqlNode,再將SqlNode轉化為特定數據庫的方言的形式實現Sql的統一。

實現

在Calcite中實現方言轉換的主要類是SqlDialect基類,其具體的變量含義如下:

public class SqlDialect {

BUILT_IN_OPERATORS_LIST: 支持的內置定義函數或者運算符(例如:abs and..)

// 列 表的標識符
String identifierQuoteString:    標識符的開始符號
String identifierEndQuoteString: 標識符的結束符號
String identifierEscapedQuote: (暫時沒有弄明白這個在做什么,像是字符串中的轉義符?)

// 常量的標識符
String literalQuoteString:    常量的開始符號
String literalEndQuoteString: 常量的結束符號
String literalEscapedQuote:(暫時沒有弄明白這個在做什么,像是字符串中的轉義符?)

DatabaseProduct databaseProduct: 所屬的數據庫產品
NullCollation nullCollation: 在進行排序查詢式,空值的返回順序
RelDataTypeSystem dataTypeSystem: 數據類型

// 和解析相關
Casing unquotedCasing: 大小寫轉換
Casing quotedCasing: 大小寫轉換
boolean caseSensitive: 是否大小寫敏感(列名 表明 函數名等)
}
// 方法區(不同的數據源根據細節的不同實現自定義的復寫方法)
allowsAs
configureParser
configureParser
containsNonAscii
create
defaultNullDirection
emptyContext
emulateJoinTypeForCrossJoin
emulateNullDirection
emulateNullDirectionWithIsNull
getCalendarPolicy
getCastSpec
getConformance
getDatabaseProduct
getNullCollation
getProduct
getQuotedCasing
getQuoting
getSingleRowTableName
getTypeSystem
getUnquotedCasing
hasImplicitTableAlias
identifierNeedsQuote
isCaseSensitive
quoteIdentifier
quoteIdentifier
quoteIdentifier
quoteStringLiteral
quoteStringLiteral
quoteStringLiteralUnicode
quoteTimestampLiteral
requiresAliasForFromItems
rewriteSingleValueExpr
supportsAggregateFunction
supportsAliasedValues
supportsCharSet
supportsDataType
supportsFunction
supportsGroupByWithCube
supportsGroupByWithRollup
supportsImplicitTypeCoercion
supportsNestedAggregations
supportsOffsetFetch
supportsWindowFunctions
unparseCall
unparseDateTimeLiteral
unparseFetchUsingAnsi
unparseFetchUsingLimit
unparseLimit
unparseOffset
unparseOffsetFetch
unparseSqlDatetimeArithmetic
unparseSqlIntervalLiteral
unparseSqlIntervalQualifier
unparseTopN
unquoteStringLiteral

使用方式Demo

/** Returns SqlNode for type in "cast(column as type)", which might be
  * different between databases by type name, precision etc.
  *
  * <p>If this method returns null, the cast will be omitted. In the default
  * implementation, this is the case for the NULL type, and therefore
  * {@code CAST(NULL AS <nulltype>)} is rendered as {@code NULL}. */
  public SqlNode getCastSpec(RelDataType type)

  這個方法就可以根據具體的數據源的數據類型進行轉換,例如:

  @Override public SqlNode getCastSpec(RelDataType type) {
    switch (type.getSqlTypeName()) {
    case VARCHAR:
      // MySQL doesn't have a VARCHAR type, only CHAR.
      int vcMaxPrecision = this.getTypeSystem().getMaxPrecision(SqlTypeName.CHAR);
      int precision = type.getPrecision();
      if (vcMaxPrecision > 0 && precision > vcMaxPrecision) {
        precision = vcMaxPrecision;
      }
      return new SqlDataTypeSpec(
          new SqlBasicTypeNameSpec(SqlTypeName.CHAR, precision, SqlParserPos.ZERO),
          SqlParserPos.ZERO);
    }
    return super.getCastSpec(type);
  }

  就可以經Sql中的Cast語句Cast為特定的類型:

  final String query = "select cast(\"product_id\" as varchar(50)), \"product_id\" "
       + "from \"product\" ";
   final String expected = "SELECT CAST(`product_id` AS CHAR(50)), `product_id`\n"
       + "FROM `foodmart`.`product`";
// 解析過的SqlNode
sqlNode.toSqlString(CalciteSqlDialect.DEFAULT).getSql();

到此這篇關于Apache Calcite 實現方言轉換的代碼的文章就介紹到這了,更多相關Apache Calcite方言轉換內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:雞西 運城 連云港 荊門 面試通知 隴南 遵義 朝陽

巨人網絡通訊聲明:本文標題《Apache Calcite 實現方言轉換的代碼》,本文關鍵詞  Apache,Calcite,實現,方言,轉換,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Apache Calcite 實現方言轉換的代碼》相關的同類信息!
  • 本頁收集關于Apache Calcite 實現方言轉換的代碼的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产九色sp调教91| 高清国产午夜精品久久久久久| 免费成人av在线播放| 国产xxx精品视频大全| 国产亚洲va综合人人澡精品| 国产在线视频一区二区三区| 日韩欧美激情一区| av成人老司机| 精品少妇一区二区三区日产乱码 | 国产亲近乱来精品视频| 国产精品一二三在| 中文字幕视频一区| 91农村精品一区二区在线| 亚洲视频在线一区二区| 在线观看国产日韩| 久久国产精品99精品国产| 日韩精品一区二区三区四区| 粉嫩av一区二区三区| 亚洲香肠在线观看| 6080国产精品一区二区| 国产福利一区二区三区在线视频| 亚洲精品精品亚洲| 欧美草草影院在线视频| 色综合中文字幕国产| 亚洲国产中文字幕在线视频综合| 7777精品伊人久久久大香线蕉超级流畅 | 中文在线一区二区| 欧美午夜精品久久久久久超碰 | 7777精品伊人久久久大香线蕉超级流畅| 亚洲国产日日夜夜| 国产精品久久久久久妇女6080| 欧美视频一区二区三区| 国产成人自拍网| 亚洲一区二区欧美激情| 国产视频在线观看一区二区三区| 欧美日韩精品三区| 99精品国产视频| 激情五月婷婷综合网| 亚洲第一电影网| 国产精品视频在线看| 精品国产乱码久久久久久久久| 91久久免费观看| 春色校园综合激情亚洲| 裸体健美xxxx欧美裸体表演| 一区二区三区国产精华| 2019国产精品| 日韩欧美在线网站| 欧美日韩一区二区在线观看| 99视频一区二区三区| 国产一区二区三区美女| 五月激情六月综合| 洋洋av久久久久久久一区| 亚洲国产精品传媒在线观看| 国产日韩精品一区二区三区| 精品欧美一区二区三区精品久久| 欧美电影一区二区| 欧美高清dvd| 欧美嫩在线观看| 欧美色图天堂网| 欧美日韩精品一区二区| 欧美伦理视频网站| 91精品国产品国语在线不卡| 欧美日韩二区三区| 欧美男男青年gay1069videost | 不卡一二三区首页| 成人免费视频免费观看| 成人自拍视频在线观看| 粉嫩一区二区三区性色av| 国产精品99久久久| aa级大片欧美| 色婷婷av一区| 欧美群妇大交群的观看方式| 日韩限制级电影在线观看| 3751色影院一区二区三区| 欧美大片免费久久精品三p| 26uuu精品一区二区| 久久久精品影视| 中文字幕精品综合| 国产精品国产三级国产有无不卡| 26uuu精品一区二区在线观看| 久久精品人人爽人人爽| 欧美国产一区视频在线观看| 亚洲欧洲av在线| 亚洲综合成人网| 麻豆精品一二三| 成人做爰69片免费看网站| 不卡一二三区首页| 欧美日韩欧美一区二区| 欧美日韩国产一级二级| 日韩免费在线观看| 中文字幕欧美区| 亚洲成人精品影院| 国产精品系列在线播放| 欧美午夜精品久久久久久孕妇| 日韩一区国产二区欧美三区| 国产欧美日韩不卡| 亚洲成在人线在线播放| 久久99久久精品| 91亚洲男人天堂| 精品国产电影一区二区| 亚洲丝袜精品丝袜在线| 精品一区二区日韩| 日本伦理一区二区| 久久影院视频免费| 丝袜诱惑亚洲看片| 不卡的电影网站| 日韩一区二区电影在线| 亚洲欧美日韩国产手机在线 | 亚洲国产另类精品专区| 精品制服美女丁香| 欧美日韩一区不卡| 亚洲免费三区一区二区| 风流少妇一区二区| 欧美成人一区二区三区片免费| 亚洲黄色免费电影| 成人网在线播放| 日韩精品影音先锋| 亚洲一区二区在线免费看| 懂色av一区二区三区蜜臀| 日韩视频一区二区三区在线播放| 日韩毛片视频在线看| 国产精品77777竹菊影视小说| 欧美一二三区精品| 亚洲电影你懂得| 色婷婷av一区二区三区之一色屋| 久久精品在这里| 久久99久久精品| 欧美成人伊人久久综合网| 午夜成人在线视频| 欧美剧在线免费观看网站 | 九九久久精品视频| 日韩女优视频免费观看| 麻豆免费精品视频| 精品国产精品网麻豆系列| 韩国成人精品a∨在线观看| 7777精品伊人久久久大香线蕉| 亚洲国产日韩综合久久精品| 91热门视频在线观看| 专区另类欧美日韩| 一本大道久久a久久综合| 一区二区三区四区中文字幕| 91激情在线视频| 亚洲一二三四区| 欧美一区午夜视频在线观看| 日本不卡在线视频| 精品国产一区二区亚洲人成毛片 | 欧美第一区第二区| 国产一区二区三区综合| 国产亚洲欧美激情| 不卡的电影网站| 亚洲午夜国产一区99re久久| 欧美久久久影院| 麻豆国产欧美日韩综合精品二区| 精品日韩在线观看| 不卡视频在线观看| 亚洲一区二区欧美| 精品国产精品网麻豆系列| 成人国产亚洲欧美成人综合网| 亚洲视频在线一区| 日韩一区二区视频| 国产精品一区二区在线看| 国产精品国产三级国产aⅴ原创 | 色综合久久99| 天天av天天翘天天综合网 | 国产精品―色哟哟| 在线国产电影不卡| 日本不卡一区二区三区| 久久精品日韩一区二区三区| 91小视频在线免费看| 日产欧产美韩系列久久99| 国产日韩精品一区二区浪潮av| 91丨九色丨国产丨porny| 日韩精品一区第一页| 国产人成一区二区三区影院| 欧美性三三影院| 国产99久久久精品| 蜜桃一区二区三区在线观看| 国产精品久久综合| 欧美一级片在线看| 色综合久久久久久久久| 国产在线不卡一卡二卡三卡四卡| 自拍偷拍亚洲欧美日韩| 日韩欧美黄色影院| 精品污污网站免费看| 丁香另类激情小说| 全部av―极品视觉盛宴亚洲| 中文字幕一区二区三区色视频| 欧美一区二区黄色| 在线看国产一区| 成人av中文字幕| 亚洲精品免费播放| 日本一区二区三区高清不卡| 欧美一区二区三区免费| 99精品久久久久久| 国产福利91精品一区二区三区| 视频一区欧美精品| 亚洲国产精品久久久久秋霞影院| 国产精品成人免费| 中文字幕精品三区| 日本一区二区久久|