TWI493368B - 自動產生查詢歷程 - Google Patents

自動產生查詢歷程 Download PDF

Info

Publication number
TWI493368B
TWI493368B TW099141934A TW99141934A TWI493368B TW I493368 B TWI493368 B TW I493368B TW 099141934 A TW099141934 A TW 099141934A TW 99141934 A TW99141934 A TW 99141934A TW I493368 B TWI493368 B TW I493368B
Authority
TW
Taiwan
Prior art keywords
history
node
query tree
query
rule
Prior art date
Application number
TW099141934A
Other languages
English (en)
Other versions
TW201135490A (en
Inventor
David D Cushing
Martin M Petitclerc
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW201135490A publication Critical patent/TW201135490A/zh
Application granted granted Critical
Publication of TWI493368B publication Critical patent/TWI493368B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

自動產生查詢歷程
本發明係關於用於自動產生查詢歷程之系統、方法及電腦程式產品。
在產生用於資料庫查詢之執行計劃的查詢計劃及最佳化階段期間,通常以某種形式之樹來表示查詢。將規則應用於查詢樹,該等規則首先確保擷取正確資料,且其次儘可能有效及快速地擷取資料。此等規則確保在應用規則之前及之後查詢樹之語義等價。
在此過程期間之任何時候,可能需要能夠判定原始查詢中之構造與在查詢樹之當前狀態下與其有關之事物之間的關係以及類似地當前查詢樹中之構造與原始查詢中之構造之間的關係。此資訊稱為「歷程」且允許查詢樹內之任何物件追溯其在原始查詢中之祖先(其「歷程」)。
在一例示性實施例中,提供一種產生查詢歷程之方法。該方法包括:在處理器上執行評估查詢樹資訊及對查詢樹所執行之操作中之至少一者,其中該查詢樹包括一或多個節點;基於查詢樹資訊及操作中之該至少一者來識別一歷程規則;及基於該歷程規則而產生該查詢樹之一歷程。
本文中所描述之圖式僅用於說明之目的且並不意欲以任何之方式限制本發明之範疇。應理解,在全部圖式中,對應之參考數字指示相似或對應之部分及特徵。
根據本發明之一例示性實施例,提供使資料庫查詢樹之歷程的產生自動化的歷程產生系統。如可瞭解,以下描述在性質上僅為例示性且並不意欲限制本發明、應用或使用。應理解,在全部圖式中,對應之參考數字指示相似或對應之部分及特徵。
現轉至圖1,方塊圖說明包括根據本發明之歷程產生系統(LGS)之例示性計算系統100。計算系統100經展示為包括電腦101。如可瞭解,計算系統100可包括任何計算器件,包括(但不限於)桌上型電腦、膝上型電腦、伺服器、攜帶型手持式器件或任何其他電子器件。為了論述之容易,將在電腦101之情形中論述本發明。
電腦101經展示為包括處理器102、耦接至記憶體控制器106之記憶體104、經由區域輸入/輸出控制器112而通信地耦接之一或多個輸入及/或輸出(I/O)器件108、110(或周邊裝置)以及耦接至顯示器116之顯示控制器114。在一例示性實施例中,習知鍵盤122及滑鼠124可耦接至輸入/輸出控制器112。在一例示性實施例中,計算系統100可進一步包括用於耦接至網路120之網路介面118。網路120在電腦101及外部系統(諸如類似地包括本發明之登入產生系統之其他計算系統(未圖示))之間傳輸及接收資料。
在各種實施例中,記憶體104儲存可由處理器102執行之指令。儲存於記憶體104中之指令可包括一或多個獨立程式,該等程式中之每一者包含用於實施邏輯功能之可執行指令之一有序列表。在圖1之實例中,儲存於記憶體104中之指令包括合適之作業系統(OS)126。作業系統126基本上控制其他電腦程式之效能,且提供排程、輸入-輸出控制、檔案及資料管理、記憶體管理及通信控制以及相關服務。
當電腦101處於操作中時,處理器102經組態以執行儲存於記憶體104內之指令、將資料傳達至記憶體104及自記憶體104傳達資料以及依據指令來大體地控制電腦101之操作。處理器102可為任何定製或市售處理器、中央處理單元(CPU)、在與電腦101相關聯之若干處理器當中的輔助處理器、基於半導體之微處理器(呈微晶片或晶片組之形式)、巨集處理器或大體而言用於執行指令之任何器件。
處理器102執行本發明之歷程產生系統128之指令。在各種實施例中,本發明之歷程產生系統128嵌入於某種形式之電腦可讀媒體中,例如,歷程產生系統128儲存於記憶體104(如所示)中、執行自攜帶型儲存器件(例如,CD-ROM、磁片、快閃驅動器等)(未圖示)及/或執行自遠端位置(諸如自中央伺服器(未圖示))。
一般而言,歷程產生系統128產生對(例如)資料庫執行之查詢的歷程。在各種實施例中,可將歷程產生系統128提供於新的或現有查詢計劃或最佳化引擎內。在各種其他實施例中,可將歷程產生系統128實施為如可應用及根據本發明之獨立應用程式、插入式應用程式及/或任何其他類型之應用程式。歷程產生系統128產生可用於系統128內或由其他應用用作(例如)錯誤訊息之上下文資訊或用作為了分析之目的而被寫入至日誌檔案之資料的資訊。日誌檔案可用以產生歷程介面130,(例如)使得歷程資訊可見。
在各種實施例中,歷程產生系統128利用樹操縱常用程式(例如,新增、刪除、移動等)及/或存在於查詢計劃或最佳化引擎內之樹資訊。因此,可以查詢作者所通透之方式來提供查詢歷程資訊。
現轉至圖2,根據一例示性實施例更詳細地展示歷程產生系統128。歷程產生系統128包括一或多個子模組及資料儲存器。如可瞭解,可將子模組實施為軟體、硬體、韌體、其組合及/或提供所描述之功能性之其他合適組件。如可瞭解,子模組及資料儲存器可駐留於一或多個電腦系統上。如可進一步瞭解,圖2中所示之子模組可經組合及/或經進一步分割以類似地產生歷程。在此實例中,歷程產生系統128包括歷程服務模組140及規則資料儲存器142。
歷程服務模組140將操作144a接收作為輸入。可基於開發者與查詢計劃或最佳化引擎(未圖示)之互動而產生操作144a。在一實例中,該操作指示新的查詢樹145之建構。基於操作144a,歷程服務模組140開始歷程服務146且使歷程服務146與特定查詢樹145之計劃相關聯。歷程服務146監視對查詢樹145執行之與查詢相關聯的未來操作144b、查詢樹資訊147及/或操作狀態148。基於操作144b、查詢樹資訊147及/或操作狀態148,歷程服務146與規則資料儲存器142建立介面以開發查詢歷程150。
規則資料儲存器142儲存一或多個歷程規則152。每一歷程規則152可與特定操作144b及/或查詢樹資訊147相關聯。歷程規則152可包括用以俘獲在任何時間點保留於查詢樹145中之節點與原始查詢樹145中之節點之關係及反之亦然的邏輯。在一些狀況下,歷程資訊可能丟失(一些資訊實際上在最終查詢中可為不重要的),而在許多狀況下,在查詢樹之當前狀態下的節點與初始查詢樹145中之節點之間存在多對多關係。
現轉至圖3,歷程服務146包括(例如)歷程初始化模組154及操作監視模組156。歷程初始化模組154將初始操作144a及初始查詢樹145接收作為輸入。基於初始操作144a及查詢樹145,歷程初始化模組154向查詢樹145中之每一節點指派初始歷程160。舉例而言,每一節點之歷程包括節點之容器(container),節點之存在依存於該容器,且最初為對其自身之參照(作為對初始查詢樹之複本內之節點的參照/指標,或作為唯一識別符,該參照/指標及該唯一識別符中之一者被指派給初始查詢樹中之每一節點,及被指派給隨後在計劃過程期間所產生之每一節點)。在各種實施例中,當歷程服務146跨越個別查詢樹操縱操作144b留存資訊時,對歷程服務146之參照被留存於查詢樹155中之每一節點內。
操作監視模組156接著監視對彼特定查詢樹145執行且表示查詢樹145之轉換或操縱的進一步操作144b。操作144b可包括(但不限於)(例如)新增、刪除及移動。通常在將每一轉換或操縱應用於查詢樹145之開始產生操作通知144b。在將操作144b應用於查詢樹145(例如,新增節點、刪除節點、移動節點等)之時或之後,歷程服務模組140基於操作144b及/或查詢數資訊147且進一步基於儲存於規則資料儲存器142中之一或多個規則152來更新與一或多個節點相關聯之歷程150。
舉例而言,操作監視模組156使一或多個操作144b及/或查詢樹資訊147與特定規則152相關聯。自規則資料儲存器142擷取規則152及/或實施規則152之邏輯。接著執行規則152及/或該邏輯以判定適當之歷程150。
在一實例中,當操作144b指示轉換(諸如(但不限於)刪除、交換、新增及/或移動)時,可定義以下規則152。與刪除操作相關聯之規則152將所刪除之節點之歷程轉移至所刪除之節點之父代的歷程。與交換操作相關聯之規則152將目標節點之歷程複製至正被移動之節點。與新增操作相關聯之規則152不提供對歷程之影響。與移動操作相關聯之規則152不提供對歷程之影響。與移動子代操作相關聯之規則152在移動子代節點之前將父代節點之歷程轉移至子代節點。若不存在子代,則將節點之歷程移至父代節點。
在各種實施例中,一些操作144b導致歷程之立即轉移,而其他操作則具有延遲之影響。在操作指示一節點自查詢樹145之某一形式之移除(例如,分離、交換、提取、刪除等)的例子中,彼節點可被重新插入至查詢樹145中在相同轉換內為可能的。因此,歷程150之完成被延遲直至節點之重新插入為止。
舉例而言,當操作144b指定一節點自查詢樹145之某一形式之移除或刪除時,在各種實施例中,應用規則152以判定所移除或所刪除之節點之歷程150的可能之接受者。操作監視模組156接著暫時儲存所移除之節點之此資訊,直至該節點被重新插入至查詢樹145中或該節點被永久地刪除為止。
在轉換完成之後,經由操作狀態148通知操作監視模組156轉換已完成。操作監視模組156接著基於暫時儲存之資訊而完成與轉換相關聯之歷程操縱。操作監視模組156判定操作144b中之任一者是否將任何被移除之節點重新插入回至查詢樹145中。在此狀況下,規則152規定歷程150屬於被重新插入之節點。另一方面,節點未被重新插入至查詢樹145中為可能的。在此狀況下,規則152規定對應之歷程150被轉移至查詢樹中之其他節點及/或應被刪除。
舉例而言,若所移除之節點具有父代節點,則規則152將所移除之節點之歷程150複製至父代節點。否則,若所移除之節點不具有父代,則刪除歷程150。
在各種實施例中,規則152可基於查詢樹資訊而非操作144b。舉例而言,規則152可基於節點之類型或關於節點相對於其自身之資訊。
在上述實例中,在查詢樹155內移動節點對節點之歷程不具有影響;歷程僅與節點一起轉移。然而,在另一實例中,將節點自查詢樹155之一區域移至另一區域可具有界限(此行為在該等界限中不再為可應用的)可為該狀況。
舉例而言,若類型「X」之節點總是存在作為類型「Z」之另一節點之後代(直接或以其他方式),則一特定實施可應用用於查詢歷程之預設「移動」語義(若類型「Z」之祖先不改變)。若類型「Z」之祖先由於移動操作之緣故而應改變,則相關聯之規則152可為將節點之歷程轉移至(例如)父代。在此實例中,用以執行歷程轉移之規則152不僅僅簡單地基於正執行之操作144b且並不限於節點或其所存在之查詢樹155。
如可瞭解,可修改上述規則152以適應查詢計劃或最佳化引擎之各種實施。舉例而言,可將類似之規則應用於不同操作或不同查詢樹資訊。
圖4A至圖4B說明由對各種查詢樹執行之特定操作而產生的例示性歷程。如可瞭解,可基於查詢樹資訊及/或與查詢樹相關聯之操作而產生類似歷程。
圖4A說明包括節點1至8之第一查詢樹200。操作202指示節點4被刪除且節點5被重新附加至節點8。所得歷程206包括正被複製至父代節點2之所刪除之節點的歷程。所刪除之節點208因此包括節點4及節點6。
圖4B說明第二查詢樹210之歷程,該第二查詢樹210包括節點1至6及節點8。操作212指示節點4與一新節點交換且節點6被附加至節點8。所得歷程214包括正被複製至新節點之所刪除之節點4及5的歷程。所刪除之節點216因此包括節點5。
圖4C說明第三查詢樹220之歷程,該第三查詢樹220包括節點1至6、節點8及節點10。操作222指示節點4被提取且未被重新附加。所得歷程224包括正被複製至子代節點5、6及10之節點4的歷程。所刪除之節點226因此包括節點5。
現轉至圖5且繼續參看圖2及圖3,流程圖說明根據一例示性實施例之可由圖2及圖3之歷程產生系統128執行之歷程產生方法。如可鑒於本發明所瞭解,該方法內之操作之次序不限於如圖5中所說明之順序效能,而是可以如可應用及根據本發明之一或多種變化之次序執行。如可瞭解,可新增或自該方法刪除一或多個步驟而不更改該方法之精神。
在一實例中,該方法可在300處開始。在310處監視來自(例如)查詢計劃或最佳化引擎之操作144a。若操作144a指示在310處建構新的查詢樹145,則在320處開始歷程服務146且使其與新的查詢樹145相關聯。然而,若在310處未建構新的查詢樹145,則該方法繼續監視操作144a直至在310處建構新的查詢樹145為止。
一旦開始,歷程服務146即接著在330-350處監視關於相關聯之查詢樹145及/或查詢樹資訊147的所有未來操作144b。舉例而言,若操作144b在330處指示移除操作,則在360處將歷程150自所移除之節點複製至父代節點。接著在370處暫時儲存用於所移除之節點的歷程資訊及節點資訊以用於隨後之評估。
然而,若操作144b在340處指示交換操作,則在380處將目標節點之歷程150複製至正移動之節點。若操作在350處指示移動操作,則在390處判定節點是否具有子代。若節點在390處具有子代,則在400處將父代節點之歷程150複製至每一子代節點之歷程150。若在390處節點不具有任何子代,則在410處將節點之歷程150移至父代節點。
然而,若在330-350處操作不指示移除操作、交換操作或移動操作,則在360處評估操作狀態148。若操作狀態148在360處指示轉換完成,則在420處判定所移除之節點中之任一者是否已被重新插入。若在420處所移除之節點已被重新插入至查詢樹145中,則在430處將節點之暫時儲存之資訊(包括歷程150)複製至重新插入之節點。其後,該方法可在440處結束。
如可瞭解,諸圖中之流程圖及方塊圖說明根據本發明之各種實施例之系統、方法及電腦程式產品之可能實施的架構、功能性及操作。就此而言,在流程圖或方塊圖中之每一區塊可表示程式碼之模組、區段或部分,其包含用於實施指定之邏輯功能的一或多個可執行指令。亦應注意,在一些替代實施中,區塊中所指明之功能可不以圖中所指明之次序發生。舉例而言,取決於所涉及之功能性,連續展示之兩個區塊實際上可實質上同時執行,或該等區塊有時可以相反次序執行。亦應注意,方塊圖及/或流程圖之每一區塊及方塊圖及/或流程圖中之區塊的組合可藉由執行指定功能或動作之基於專用硬體之系統實施,或藉由專用硬體與電腦指令之組合來實施。
作為一實例,本發明之一或多個態樣可包括於具有(例如)電腦可用媒體之製品(例如,一或多個電腦程式產品)中。已在其中體現媒體,例如,用於提供且促進本發明之能力的電腦可讀程式碼構件。製品可作為電腦系統之一部分而被包括或單獨提供。
另外,可提供可由機器讀取、有形地體現可由機器執行以執行本發明之能力之指令的至少一程式的至少一程式儲存器件。
可以一或多種程式設計語言之任何組合撰寫用於進行本發明之操作的電腦程式碼,該一或多種程式設計語言包括諸如Java、Smalltalk、C++或其類似者之物件導向程式設計語言及諸如「C」程式設計語言或類似程式設計語言之習知程序性程式設計語言。程式碼可完全在使用者電腦上執行,部分地在使用者電腦上執行,作為獨立套裝軟體執行,部分地在使用者電腦上執行且部分地在遠端電腦上執行,或完全在遠端電腦或伺服器上執行。在後一種情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者電腦,或可(例如,使用網際網路服務提供者,經由網際網路)連接至外部電腦。
儘管已描述較佳實施例,但熟習此項技術者應瞭解,在現在及將來,可進行在以下申請專利範圍之範疇內之各種改良及增強。此等申請專利範圍應理解為維持對最初描述之本發明的恰當保護。
本文中所使用之術語僅為了描述特定實施例且並不意欲限制本發明。如本文中所使用,單數形式「一」及「該」意欲亦包括複數形式,除非上下文另外清楚地指示。以下申請專利範圍中之所有構件或步驟附加功能元件之對應結構、特徵、材料、動作及等效物意欲包括任何用於結合如具體所主張之其他所主張要素執行功能的結構、材料或動作。已為說明及描述而呈現本發明,但本發明並不意欲為詳盡的或將本發明限制於所揭示之形式。在不背離本發明之範疇及精神的情況下,一般熟習此項技術者將顯而易見許多修改及變化。選擇及描述該等實施例,以便最佳解釋本發明之原理及實際應用,且使其他一般熟習此項技術者能夠理解本發明之具有如適於預期之特定用途之各種修改的各種實施例。
100...計算系統
101...電腦
102...處理器
104...記憶體
106...記憶體控制器
108...輸入及/或輸出(I/O)器件
110...輸入及/或輸出(I/O)器件
112...輸入/輸出控制器
114...顯示控制器
116...顯示器
118...網路介面
120...網路
122...鍵盤
124...滑鼠
126...作業系統(OS)
128...歷程產生系統
130...歷程介面
140...歷程服務模組
142...規則資料儲存器
144a...操作
144b...操作
145...查詢樹
146...歷程服務
147...查詢樹資訊
148...操作狀態
150...查詢歷程
152...歷程規則
154...歷程初始化模組
156...操作監視模組
160...初始歷程
200...第一查詢樹
202...操作
206...所得歷程
208...所刪除之節點
210...第二查詢樹
212...操作
214...所得歷程
216...所刪除之節點
220...第三查詢樹
222...操作
224...所得歷程
226...所刪除之節點
圖1為根據一例示性實施例之說明包括歷程產生系統之計算系統的方塊圖;
圖2及圖3為根據一例示性實施例之說明圖1之歷程產生系統的資料流圖;
圖4A-圖4C說明根據一例示性實施例之各種查詢樹及歷程,其基於各種操作而由圖1之歷程產生系統產生;及
圖5為根據一例示性實施例之說明一種歷程產生方法的流程圖。
(無元件符號說明)

Claims (20)

  1. 一種產生一查詢歷程之方法,其包含:在一處理器上執行,評估一查詢樹及在該查詢樹上執行之一操作,其中該查詢樹包括一或多個節點且該操作包括刪除、交換、新增及移動子代中之至少一者;基於該查詢樹及該操作來識別一歷程規則,其中該歷程規則係一種藉由在該查詢樹上執行該操作來更新該查詢樹之方法;及基於該歷程規則而產生該查詢樹之一歷程,其中該查詢樹之該歷程係該查詢樹當該操作於該查詢樹上執行後之一經修改版本。
  2. 如請求項1之方法,其進一步包含維持儲存一或多個歷程規則之一歷程規則資料儲存器。
  3. 如請求項1之方法,其中當對該查詢樹執行該等操作時執行該評估、該識別及該產生。
  4. 如請求項1之方法,其進一步包含當該操作為一移除型操作時暫時儲存歷程資訊。
  5. 如請求項4之方法,其進一步包含當該操作為一重新插入型操作時將該歷程資訊包括於該歷程中。
  6. 如請求項1之方法,其中該產生該歷程包含執行與該歷程規則相關聯之邏輯以產生該查詢樹之該歷程。
  7. 如請求項1之方法,其中當該操作為刪除時,該相關聯之規則將來自該查詢樹之一所刪除之節點的歷程資訊複 製至該查詢樹之一父代節點。
  8. 如請求項1之方法,其中當該操作為交換時,該相關聯之規則將來自該查詢樹之一目標節點的歷程資訊複製至該查詢樹之一正被交換之節點。
  9. 如請求項1之方法,其中當該操作為移動子代時,判定該查詢樹之該節點是否與一子代節點相關聯,且其中若該節點與一子代節點相關聯,則該相關聯之規則將來自該節點之歷程資訊複製至該子代節點。
  10. 一種用於產生一查詢歷程之系統,其包含:一電腦可讀媒體,其包括:儲存至少一歷程規則之一歷程規則資料儲存器;一歷程服務,其評估執行於一查詢樹上之一操作,其中該查詢樹包括一或多個節點,並且基於該操作及該查詢樹及來自該歷程規則資料儲存器之一歷程規則而產生該查詢樹之一歷程,其中該歷程規則係一種藉由在該查詢樹上執行該操作來更新該查詢樹之方法且其中該查詢樹之該歷程係當該操作於該查詢樹上執行後該查詢樹之一經修改版本;其中該操作包括刪除、交換、新增及移動子代中之至少一者。
  11. 如請求項10之系統,其中當對該查詢樹執行該等操作時,該歷程服務執行該產生。
  12. 如請求項10之系統,其中當該操作為一移除型操作時,該歷程服務暫時儲存歷程資訊。
  13. 如請求項12之系統,其中當該操作為一重新插入型操作時,該歷程服務包括該歷程中之該歷程資訊。
  14. 如請求項10之系統,其中該歷程服務藉由執行與該歷程規則相關聯之邏輯以產生該查詢樹之該歷程而產生該歷程。
  15. 如請求項10之系統,其中當該操作為刪除時,該相關聯之規則將來自該查詢樹之一所刪除之節點的歷程資訊複製至該查詢樹之一父代節點。
  16. 如請求項10之系統,其中當該操作為交換時,該相關聯之規則將來自該查詢樹之一目標節點的歷程資訊複製至該查詢樹之一正被交換之節點。
  17. 如請求項10之系統,其中當該操作為移動子代時,該歷程服務判定該查詢樹之該節點是否與一子代節點相關聯,且其中若該節點與一子代節點相關聯,則該相關聯之規則將來自該節點之歷程資訊複製至該子代節點。
  18. 一種用於產生一查詢歷程之電腦程式產品,該電腦程式產品包含:一電腦可使用媒體,其具有嵌入其中之電腦可使用程式碼,該電腦可使用程式碼包含:經組態以執行以下步驟之電腦可使用程式碼:評估一查詢樹及在該查詢樹上執行之一操作,其中該查詢樹包括一或多個節點且該操作包括刪除、交換、新增及移動子代中之至少一者;基於該操作及該查詢樹來識別一歷程規則,其中該 歷程規則係一種藉由在該查詢樹上執行該操作來更新該查詢樹之方法;及基於該歷程規則而產生該查詢樹之一歷程,其中該查詢樹之該歷程係當該操作於該查詢樹上執行後該查詢樹之一經修改版本。
  19. 如請求項18之電腦程式產品,其中:當該操作為刪除時,該相關聯之規則將來自該查詢樹之一所刪除之節點的歷程資訊複製至該查詢樹之一父代節點;當該操作為交換時,該相關聯之規則將來自該查詢樹之一目標節點的歷程資訊複製至該查詢樹之一正被交換之節點;及當該操作為移動子代時,判定該查詢樹之該節點是否與一子代節點相關聯,且其中若該節點與一子代節點相關聯,則該相關聯之規則將來自該節點之歷程資訊複製至該子代節點。
  20. 如請求項18之電腦程式產品,其中該歷程服務當該操作為一重新插入型操作時將該歷程資訊包括於該歷程中。
TW099141934A 2009-12-07 2010-12-02 自動產生查詢歷程 TWI493368B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/632,278 US20110137922A1 (en) 2009-12-07 2009-12-07 Automatic generation of a query lineage

Publications (2)

Publication Number Publication Date
TW201135490A TW201135490A (en) 2011-10-16
TWI493368B true TWI493368B (zh) 2015-07-21

Family

ID=43585609

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099141934A TWI493368B (zh) 2009-12-07 2010-12-02 自動產生查詢歷程

Country Status (5)

Country Link
US (1) US20110137922A1 (zh)
JP (1) JP5602871B2 (zh)
CN (1) CN102640150A (zh)
TW (1) TWI493368B (zh)
WO (1) WO2011069765A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10025878B1 (en) 2014-11-11 2018-07-17 Google Llc Data lineage analysis
US10210240B2 (en) * 2017-06-30 2019-02-19 Capital One Services, Llc Systems and methods for code parsing and lineage detection
US10223086B2 (en) * 2017-06-30 2019-03-05 Capital One Services, Llc Systems and methods for code parsing and lineage detection
US10872085B2 (en) 2018-11-02 2020-12-22 Microsoft Technology Licensing, Llc Recording lineage in query optimization
WO2020110239A1 (ja) * 2018-11-28 2020-06-04 富士通株式会社 情報処理装置及びリネージュプログラム
US11983178B2 (en) * 2021-04-27 2024-05-14 Capital One Services, Llc Techniques for building data lineages for queries

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5123104A (en) * 1988-04-08 1992-06-16 International Business Machines Corporation Method and apparatus for concurrent modification of an index tree in a transaction processing system utilizing selective indication of structural modification operations
TW571237B (en) * 2002-04-26 2004-01-11 Toshiba Corp Method of generating development environment for developing system chip and medium which stores program therefor
US6738767B1 (en) * 2000-03-20 2004-05-18 International Business Machines Corporation System and method for discovering schematic structure in hypertext documents
US20060282423A1 (en) * 2005-06-10 2006-12-14 Al-Omari Awny K Use of multi-join operator and rules as framework for join tree processing in database systems
US20070276825A1 (en) * 2006-04-28 2007-11-29 Dettinger Richard D Query reuse through recommend parameter flexibility
TW200825950A (en) * 2006-12-01 2008-06-16 Ind Tech Res Inst Method and system for executing correlative services
US20090144229A1 (en) * 2007-11-30 2009-06-04 Microsoft Corporation Static query optimization for linq

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260042B1 (en) * 1998-11-05 2001-07-10 International Business Machines Corporation Quick difference and update for tree structure data
US7117219B1 (en) * 2000-05-05 2006-10-03 Group 1 Software, Inc. Method and apparatus for creating a lineage of a data field in a data flow system
US7171407B2 (en) * 2002-10-03 2007-01-30 International Business Machines Corporation Method for streaming XPath processing with forward and backward axes
US20040193952A1 (en) * 2003-03-27 2004-09-30 Charumathy Narayanan Consistency unit replication in application-defined systems
US7447676B2 (en) * 2003-04-21 2008-11-04 Oracle International Corporation Method and system of collecting execution statistics of query statements
US20050108192A1 (en) * 2003-11-18 2005-05-19 Hua Huang Tree structure
US7580949B2 (en) * 2005-04-14 2009-08-25 International Business Machines Corporation Query conditions on related model entities
US7734619B2 (en) * 2005-05-27 2010-06-08 International Business Machines Corporation Method of presenting lineage diagrams representing query plans
US7966315B2 (en) * 2005-11-15 2011-06-21 Vmware, Inc. Multi-query optimization
US7730032B2 (en) * 2006-01-12 2010-06-01 Oracle International Corporation Efficient queriability of version histories in a repository
US20080288630A1 (en) * 2007-05-18 2008-11-20 Motorola, Inc. Device management
CA2593233A1 (en) * 2007-07-06 2009-01-06 Cognos Incorporated System and method for federated member-based data integration and reporting
US20090043736A1 (en) * 2007-08-08 2009-02-12 Wook-Shin Han Efficient tuple extraction from streaming xml data
US8312418B2 (en) * 2007-12-10 2012-11-13 International Business Machines Corporation Visualization of implicit relationships in a trace query for model driven development
JP5349581B2 (ja) * 2008-04-16 2013-11-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 照会処理視覚化システム、照会処理を視覚化する方法及びコンピュータ・プログラム
US20100145975A1 (en) * 2008-12-04 2010-06-10 Michael Ratiner Expansion of Search Queries Using Information Categorization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5123104A (en) * 1988-04-08 1992-06-16 International Business Machines Corporation Method and apparatus for concurrent modification of an index tree in a transaction processing system utilizing selective indication of structural modification operations
US6738767B1 (en) * 2000-03-20 2004-05-18 International Business Machines Corporation System and method for discovering schematic structure in hypertext documents
TW571237B (en) * 2002-04-26 2004-01-11 Toshiba Corp Method of generating development environment for developing system chip and medium which stores program therefor
US20060282423A1 (en) * 2005-06-10 2006-12-14 Al-Omari Awny K Use of multi-join operator and rules as framework for join tree processing in database systems
US20070276825A1 (en) * 2006-04-28 2007-11-29 Dettinger Richard D Query reuse through recommend parameter flexibility
TW200825950A (en) * 2006-12-01 2008-06-16 Ind Tech Res Inst Method and system for executing correlative services
US20090144229A1 (en) * 2007-11-30 2009-06-04 Microsoft Corporation Static query optimization for linq

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1.A. Das Sarma, M. Theobald, J. Widom, "Exploiting Lineage for Confidence Computation in Uncertain and Probabilistic Databases," in Proc. of ICDE, 2008/4/7 *

Also Published As

Publication number Publication date
JP5602871B2 (ja) 2014-10-08
JP2013513143A (ja) 2013-04-18
WO2011069765A1 (en) 2011-06-16
US20110137922A1 (en) 2011-06-09
TW201135490A (en) 2011-10-16
CN102640150A (zh) 2012-08-15

Similar Documents

Publication Publication Date Title
US8392386B2 (en) Tracking file contents
TWI493368B (zh) 自動產生查詢歷程
JP4929383B2 (ja) オブジェクト複製制御装置およびプログラム
US10877846B2 (en) Performing a closure merge operation
US9274719B2 (en) Snapshot management in hierarchical storage infrastructure
KR20150102091A (ko) 리소스들의 주석들
JP6389648B2 (ja) ライブ更新
US10572247B2 (en) Prototype management system
JP5412995B2 (ja) プログラムモデル検査におけるデータベース制御装置、データベース制御方法、データベース制御プログラム
US7949688B2 (en) Method of recording and backtracking business information model changes
WO2012155844A1 (zh) 自动移除代码的方法及装置
US8612964B2 (en) Migrating unified modeling language models across unified modeling language profiles
JP4848760B2 (ja) リポジトリシステム、リポジトリシステムの管理方法、及びそのプログラム
US9946480B2 (en) Disk image deletion with failure resistant data erasure
JP2008269280A (ja) ソフトウェア開発支援システム、開発支援方法およびプログラム
US10339011B1 (en) Method and system for implementing data lossless synthetic full backups
JP5240086B2 (ja) データ管理プログラム
JP2010061200A (ja) 文書管理システム及び操作履歴表示方法
JP7406012B2 (ja) 設計成果物管理システムおよび設計成果物管理方法
JP5832592B1 (ja) データ管理装置
TWI844400B (zh) 用以提供代碼資訊之電子裝置及其方法
KR102457153B1 (ko) 프로그램에 대한 중간 표현을 관리하는 방법 및 시스템
JP2017091027A (ja) システム開発支援システム
JP2009140443A (ja) ソフトウェア開発支援システム、排他制御方法およびプログラム
JP2010020620A (ja) ワークフロー管理システム、ワークフロー管理方法、及び、ワークフロー管理プログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees