一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PG12/GP7操作符+的實(shí)現(xiàn)

微云疏影 ? 來源:yzsDBA ? 作者:yzsDBA ? 2022-04-07 15:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹PostgreSQL12/GeenPlum7的操作符“+”的實(shí)現(xiàn)機(jī)制。首先以select id1+id2 from t;為例解釋其結(jié)構(gòu)體之間的關(guān)系。

1、SeqScanState順序掃描狀態(tài)結(jié)構(gòu)

pYYBAGJOkCuAYUQ8AALmT_8aCh8976.jpg

SeqScanState為順序掃描的節(jié)點(diǎn)狀態(tài)結(jié)構(gòu),內(nèi)有成員StateState ss:掃描狀態(tài)信息,該結(jié)構(gòu)有PlanState ps,有用的信息在這里。PlanState ps為計(jì)劃節(jié)點(diǎn)狀態(tài)結(jié)構(gòu),內(nèi)有重要的計(jì)算節(jié)點(diǎn)信息Plan *plan和條件過濾計(jì)算步驟ExprState qual、投影信息ProjectionInfo *ps_ProjInfo。

Plan結(jié)構(gòu)中有2個(gè)重要成員鏈表:targetlist投影信息列表和qual過濾條件列表。這里僅關(guān)注投影,因?yàn)閕d1+id2在投影中。targetlist實(shí)際上是2個(gè)TargetEntry,其中resno表示投影結(jié)果位于的結(jié)果列序號(hào),resname為結(jié)果列名。Expr* expr指向Var結(jié)構(gòu),表示需要的是哪一列,varattno為用戶定義表列的列序號(hào)。

接著看投影結(jié)構(gòu),PlanState中的ps_ProjInfo,內(nèi)有重要成員ExprState pi_state,表示進(jìn)行投影計(jì)算的步驟描述。pi_state有成員ExprEvalStep steps數(shù)組,對(duì)表達(dá)式計(jì)算的步驟描述。本例中有4步,分別為EEOP_SCAN_FETCHSOM、EEOP_SCAN_VAR、EEOP_SCAN_VAR、EEOP_FUNCEXPR_STRICT。由函數(shù)ExecInterpExpr執(zhí)行。

進(jìn)行+符號(hào)計(jì)算的步驟是最后一步,其代碼如下:

poYBAGJOkCuARnBeAAEwe0FA0aQ264.jpg

可以看到,計(jì)算前會(huì)對(duì)參數(shù)進(jìn)行NULL校驗(yàn),若由一個(gè)參數(shù)是NULL,則退出。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 結(jié)構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    119

    瀏覽量

    21996
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    783

    瀏覽量

    45177
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LTM8053怎么使用PG那個(gè)引腳?

    引腳說是OC門,按理說應(yīng)該是我上拉到多少,就輸出多少伏的,為什么會(huì)這樣的?我看了其他的umodule的接法。里面PG有上拉到Vin的,有上拉到Vout的。這個(gè)demo的板子上面是上拉到Vout,但是Vout是3.3。我如果輸出5V,7V這些,應(yīng)該怎么接
    發(fā)表于 04-18 06:41

    rtthread控制STM32L476的PG7 PG8拉高拉低沒反應(yīng)是怎么回事?

    同時(shí)配置PB7 PG7 PG讓他們?nèi)齻€(gè)進(jìn)行閃燈,發(fā)現(xiàn)只有PB7在工作,裸機(jī)用CUBMX生成的都能工作…………… 求助?。。。。。。。。。。。?!
    發(fā)表于 03-07 07:31

    GP10/GP20/GM10重點(diǎn)功能--WT連接(WT1800R/WT500/WT300E)

    GP: 需要 /E2 和 /MC 選件 (GP20/GP10/GM10) x 1 臺(tái) WT: 需要 Ethernet 選件 (WT1800R/WT500 or WT300E with) x 1 臺(tái)
    的頭像 發(fā)表于 01-16 16:37 ?860次閱讀
    <b class='flag-5'>GP</b>10/<b class='flag-5'>GP</b>20/GM10重點(diǎn)功能--WT連接(WT1800R/WT500/WT300E)

    DK_START_GW2A-LV18PG256C8I7_V2.0用戶指南

    電子發(fā)燒友網(wǎng)站提供《DK_START_GW2A-LV18PG256C8I7_V2.0用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-30 14:52 ?0次下載

    邏輯異或運(yùn)算在Python中的用法

    在Python編程語言中,邏輯異或運(yùn)算并不直接作為一個(gè)內(nèi)置的操作符存在,因?yàn)镻ython更側(cè)重于高級(jí)編程和可讀性,并沒有直接提供異或運(yùn)算的簡(jiǎn)寫形式用于邏輯運(yùn)算(真/假值的異或)。然而
    的頭像 發(fā)表于 11-19 09:46 ?865次閱讀

    技術(shù)干貨驛站 ▏解鎖C語言高效編程秘訣:深入解析運(yùn)算與優(yōu)先級(jí)

    在C語言的學(xué)習(xí)過程中,運(yùn)算的使用是不可忽視的重要環(huán)節(jié)。本文將繼續(xù)深入探討C語言中的運(yùn)算,重點(diǎn)介紹位運(yùn)算、賦值運(yùn)算及其優(yōu)先級(jí)。掌握這些運(yùn)算
    的頭像 發(fā)表于 10-13 08:09 ?644次閱讀
    技術(shù)干貨驛站 ▏解鎖C語言高效編程秘訣:深入解析運(yùn)算<b class='flag-5'>符</b>與優(yōu)先級(jí)

    【「數(shù)字IC設(shè)計(jì)入門」閱讀體驗(yàn)】+目錄和前2章

    4.1.8函數(shù)調(diào)用30 4.2操作符30 4.2.1算術(shù)操作符31 4.2.2關(guān)系操作符33 4.2.3相等關(guān)系操作符33 4.2.4邏輯操作符
    發(fā)表于 10-10 17:12

    兼容7A100T和PG2L100H雙芯核心板,米爾FPGA平臺(tái)

    不同需求 MYIR推出FPGA 開發(fā)平臺(tái)具有極高的靈活性,用戶可以根據(jù)項(xiàng)目需求自由選擇AMD XC7A100T 和紫光同創(chuàng) PG2L100H 這兩款核心板,共享同一底板平臺(tái),可以實(shí)現(xiàn)無縫切換,在地緣政治
    發(fā)表于 09-14 16:08

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型整數(shù)類型

    (十進(jìn)制)。 整數(shù)類型支持的操作 整數(shù)類型默認(rèn)支持的操作符包括:算術(shù)操作符、位操作符、關(guān)系操作符、自增和自減
    發(fā)表于 09-13 14:55

    國產(chǎn)化USB轉(zhuǎn)串口芯片GP232RL 轉(zhuǎn)串口線 完美兼容替換FT232RL

    時(shí),USB主機(jī)會(huì)檢測(cè)到設(shè)備的插入并進(jìn)行復(fù)位。2.?枚舉過程?:計(jì)算機(jī)通過USB枚舉過程獲取設(shè)備的描述信息,包括廠商ID、設(shè)備ID和Class類別等。3.?驅(qū)動(dòng)匹配?:操作系統(tǒng)根據(jù)獲取的信息為設(shè)備匹配相應(yīng)
    發(fā)表于 09-10 16:20

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型浮點(diǎn)類型

    Float64 浮點(diǎn)類型支持的操作 浮點(diǎn)類型默認(rèn)支持的操作符包括:算術(shù)操作符、關(guān)系操作符、賦值操作符、復(fù)合賦值
    發(fā)表于 09-10 10:22

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型布爾類型

    let b: Bool = false 布爾類型支持的操作 布爾類型支持的操作符包括:邏輯操作符(邏輯非!,邏輯與 &&,邏輯或 ||)、部分關(guān)系操作符
    發(fā)表于 09-09 09:57

    c語言中從左到右結(jié)合怎么看

    在C語言中,操作符的結(jié)合性(Associativity)是指當(dāng)操作符在表達(dá)式中連續(xù)出現(xiàn)時(shí),它們?nèi)绾闻c操作數(shù)結(jié)合的順序。對(duì)于大多數(shù)二元操作符(即需要兩個(gè)
    的頭像 發(fā)表于 08-20 11:42 ?1675次閱讀

    c語言從右到左的運(yùn)算有哪些

    用在變量之后時(shí),它們會(huì)先返回變量的原始值,然后再進(jìn)行遞增或遞減。 三元條件運(yùn)算 ( ?: ):這個(gè)運(yùn)算的求值順序是從右到左。首先計(jì)算第三個(gè)表達(dá)式,然后根據(jù)第一個(gè)表達(dá)式的結(jié)果選擇第二個(gè)或第三個(gè)表達(dá)式。 賦值運(yùn)算 ( = ):
    的頭像 發(fā)表于 08-20 11:39 ?1847次閱讀

    EmbeddedButton,嵌入式按鍵處理框架

    struct { key_value_type_t operand;// 操作數(shù) kv_match_operator_type_t operator;// 操作符 key_value_type_t
    發(fā)表于 08-08 00:15