Project

General

Profile

Actions

作業 #26

open

IVMに関連するtableは直接dropできない

Added by keiji ono 3 months ago. Updated 2 months ago.

Status:
新規
Priority:
通常
Assignee:
-
Start date:
04/16/2026
Due date:
% Done:

0%

Estimated time:

Description

ex.
ftestとftest2からjv3というivm tableが作成され、jv3に対するAPIがjs3の場合
ftest/ftest2 -> jv3 <-js3

ftest,ftest2はjv3がある限りdropできない。
jv3をdropするにはjs3をdeleteしないといけない。
js3 delete -> jv3 drop then ftest,ftest2 drop able

これでいいのか?


Related issues 1 (1 open0 closed)

Related to 機能 #11: v3.1のivm機能実装新規10/20/2025

Actions
Actions #1

Updated by keiji ono 3 months ago

  • Related to 機能 #11: v3.1のivm機能実装 added
Actions #2

Updated by keiji ono 3 months ago

ivm tableと関連するtableがdropできないので、ivm tableはtable listに残してdropできるようにしておく。
該当するAPIを削除するとivm tableがdropされるのはそのまま。
これで、関連tableがdropできないときに対応できる。
ivm table/該当apiの削除でJetelinaJvmnizedJsApiListが更新されないので要対応。

Actions #3

Updated by keiji ono 3 months ago

API削除の処理で
ApiSqlListManager.delteApiFromList()内で以下の処理をして当該リストの更新を行っている。

    # postgresql special
    if j_config.JC["dbtype"] == "postgresql" 
        # delete apis from js* vs jv* matching file as well 
        #===
            Tips:
                wanted to do this here, because as much as synchrolize with the above
        ===#
        deleteJvApiFromMatchingList(apis)
    end

同じ処理をにApiSqlListManger.deleteTableFromList()に追加する。
 # postgresql special
    if j_config.JC["dbtype"] == "postgresql" 
        # delete apis from js* vs jv* matching file as well 
        deleteJvApiFromMatchingList(tablename)
    end

Actions #4

Updated by keiji ono 2 months ago

結局、ivm tableを直接dropさせるのはいろいろと手がかかるので従来どおりapiを削除することで同時にdropする方法にもどる。
ただし、"ivm table対象api”ということでコマンドで表示を変えることにする。

  1. "show ivm api" command
  2. jsjvmatchingfile = JetelinaJvmnizedJsApiList 開いてjs->jvのリストを取得
    ApiSqlListManager.jsjvmaching2DataFrame() -> Df_JsJvListがすでにあるのでこれを使おう
  3. 表示中のAPI LISTから当該APIの背景色を変更
  4. "close *"で背景色をもとに戻す

背景色はactieItemと同じにしている。これだと明示中にapiを開くことができない。これでもいいのだろうか?
ivm apiを表示するとき(e.g. show imv api)では、背景色を".imvItem"にした。
これでivm明示中にapiを開くことができる。
.ivmItemの背景色を元に戻すには"close all","refresh","clean up"などでやれるが、個別にapi名を指定しての"close"では聞かない。

理由:
  背景色が異なる→選択されている、apiはselectedItemArrに格納されている。これはfunctionpanel.jsで宣言されている。
  .imvItem はjetelinalib.jsで設定されるのでselectedItemArrに格納できない。そのため”個別にapi名を指定してのclose”ができない。
  じゃあselect...をjetelina.lib.jsで宣言するようにすればいいじゃんという説もあるが、まあどうしてもというならそうしよう。

Actions #5

Updated by keiji ono 2 months ago

本件はまあ終了だな

Actions

Also available in: Atom PDF