欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 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 實現方言轉換的代碼的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    韩日精品视频一区| 亚洲天堂视频一区| 色综合久久综合网欧美综合网| wwww国产精品欧美| 久久成人免费网站| 精品国产aaa| 日本一区二区三区国色天香 | 欧美日韩二区三区| 亚洲综合色成人| 手机看片国产精品| 欧美三区在线观看| 亚洲一区二区综合| v天堂中文在线| 日韩欧美三级在线| 九九国产精品视频| 中文字幕求饶的少妇| 中文一区二区在线观看| 成人午夜激情在线| 一本一道久久a久久精品| 亚洲乱码日产精品bd| 免费啪视频在线观看| 3atv一区二区三区| 秋霞电影一区二区| 一卡二卡三卡四卡| 国产欧美一区在线| 成人激情校园春色| 欧美日韩在线播放三区四区| 亚洲妇女屁股眼交7| 性色av蜜臀av色欲av| 精品1区2区在线观看| 国产成人综合亚洲网站| 色欧美88888久久久久久影院| 亚洲影院免费观看| a视频免费观看| 国产午夜精品在线观看| 99久久精品国产一区| 欧美丰满美乳xxx高潮www| 日本欧洲一区二区| 99国产精品无码| 亚洲精品国产第一综合99久久 | 成人一区二区三区仙踪林| 欧美一区二区视频免费观看| 九九视频精品免费| 色香蕉成人二区免费| 亚洲成人1区2区| 黄色裸体一级片| 亚洲一线二线三线久久久| 免费看黄色的视频| 中文字幕中文字幕一区二区| 日本五十肥熟交尾| 日本一区二区免费在线| 国产精品一级无码| 国产欧美中文在线| 亚洲色图欧美另类| 中文字幕精品一区二区三区精品| 人妻巨大乳一二三区| 精品免费视频.| 99久久99久久免费精品蜜臀| 日韩免费看的电影| 99久久精品一区二区| 日韩欧美不卡在线观看视频| 高清久久久久久| 欧美一二三四在线| av一区二区久久| 欧美mv日韩mv亚洲| 日本黄色www| 国产亚洲短视频| 久久久久久久久久久久国产精品| 久久夜色精品一区| 国产视频精品视频| 国产精品伦理一区二区| 美女又爽又黄视频毛茸茸| 自拍偷拍国产亚洲| 男人的天堂官网| 视频在线在亚洲| 在线视频亚洲一区| 国产精品一区二区免费不卡| 欧美精品18+| 精品入口麻豆88视频| 激情小说欧美色图| 国产日韩成人精品| 亚洲男女在线观看| 亚洲女子a中天字幕| 亚洲天堂最新地址| 日韩av一区二| 一本久久精品一区二区| 久久99国产精品麻豆| 欧美日韩午夜影院| 99久久精品免费精品国产| 欧美精品一区二区在线播放| 熟女人妻一区二区三区免费看| 国产农村妇女毛片精品久久麻豆 | www.美色吧.com| 亚洲人吸女人奶水| av在线免费播放网址| 久久精品国产澳门| 日韩午夜激情视频| 中文字幕第3页| 樱桃国产成人精品视频| 99久久99久久精品国产| 国产一区视频网站| 欧美xfplay| 国产男女猛烈无遮挡a片漫画 | 国产免费久久久久| 久久丁香综合五月国产三级网站| 制服.丝袜.亚洲.另类.中文| 亚洲熟女乱综合一区二区| 中文字幕一区二区不卡| 波多野结衣喷潮| 国产毛片精品一区| 亚洲精品一区二区三区蜜桃下载 | 一区二区三区色| 色哟哟一区二区| 粉嫩高潮美女一区二区三区| 国产无一区二区| 538精品视频| 韩国三级在线一区| 久久综合九色综合久久久精品综合| 中国黄色a级片| 奇米精品一区二区三区在线观看 | 久热成人在线视频| 精品女同一区二区| 久久美女免费视频| 极品美女销魂一区二区三区免费| 精品日韩成人av| 色欲狠狠躁天天躁无码中文字幕 | 91精品国产综合久久小美女| 亚洲最大视频网| 亚洲国产一区二区在线播放| 欧美日韩一区二区不卡| 久久久久久久久久影视| 亚洲成人在线观看视频| 日韩一区二区三区高清免费看看| www.日本高清| 老司机精品视频线观看86 | 欧美va亚洲va国产综合| japanese中文字幕| 久久97超碰色| 国产精品美女www爽爽爽| 动漫性做爰视频| 国产男女无遮挡猛进猛出| 午夜精品久久久久久久蜜桃app| 欧美一区二区三区白人| 69视频在线观看免费| 国产九色sp调教91| 亚洲特黄一级片| 欧美日韩午夜影院| 免费观看av网站| 国产高清视频一区| 亚洲精品videosex极品| 欧美男男青年gay1069videost | 精品少妇一区二区三区日产乱码 | 免费在线视频一区| 久久久精品免费免费| 99自拍视频在线| 91麻豆精品在线观看| 午夜视频在线观看一区二区三区| 日韩免费福利电影在线观看| 影音先锋男人在线| 99精品视频在线观看免费| 亚洲福利一区二区三区| 久久亚洲精精品中文字幕早川悠里 | 极品白嫩的小少妇| 久久精品国产亚洲一区二区三区| 亚洲国产精品成人综合| 欧美日韩一区精品| www.色天使| 成人网在线免费视频| 亚洲成年人影院| 久久影院电视剧免费观看| 色综合久久久久久久久久久| 污污免费在线观看| 国产毛片精品视频| 一区二区理论电影在线观看| 欧美videos大乳护士334| 色综合夜色一区| 免费在线观看你懂的| 国产91丝袜在线18| 性欧美大战久久久久久久久| 久久精品夜色噜噜亚洲a∨| 欧美视频一区在线观看| 久久久久久久久久久久| 日本女人黄色片| 久久91精品国产91久久小草| 亚洲日本护士毛茸茸| 精品久久国产老人久久综合| 福利所第一导航| 人人妻人人澡人人爽人人精品| eeuss影院一区二区三区| 免费观看久久久4p| 亚洲人吸女人奶水| 久久免费视频一区| 欧美日韩一区高清| 91精品国产闺蜜国产在线闺蜜| 屁屁影院国产第一页| 成人福利电影精品一区二区在线观看 | 欧美在线影院一区二区| 日韩视频在线观看免费视频| 欧美做受高潮中文字幕| 不卡一区二区三区四区|