Project

General

Profile

Actions

バグ #15

open

v3.1 debug working

Added by keiji ono 8 months ago. Updated 7 months ago.

Status:
新規
Priority:
通常
Assignee:
-
Start date:
11/17/2025
Due date:
% Done:

0%

Estimated time:

Related issues 1 (1 open0 closed)

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

Actions
Actions #1

Updated by keiji ono 8 months ago

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

Updated by keiji ono 8 months ago

  1. jetelina_delete_flgをcreateApiSelectSentence()で追加するようにした。 postgresはやったのでmysqlも同じようにする -> done 11/18
  2. ivm化されたapiが作成されたら一発目だけtable listに当該tableが表示されるが、それはいいとして、tableを選択した時に「対応するapiがないぜ」と出るのはやめよう -> done 11/19
  3. 複数tableを選択してtest sql/create apiを実行した時に、javascript側でsub query要求が機能していないみたい -> done 11/18
  4. test sql/apiを実行して、別のapiを実行しようとすると前の情報が生きていて選択されたapiの実行ではなくなるみたい -> done 11/19
Actions #3

Updated by keiji ono 8 months ago

  1. api作成時にsub queryにパラメタ設定({..})がある場合はivm化の比較処理はおこなわないようにする -> done 11/19
  2. mongodbの時、sql欄に表示されるコメントにhtml tagが入っている -> done 11/20
  3. sql subqueryにorder/limit/offset... 等がある場合、単純にjetelina_delte_flgの設定をwhere文に追加するとsql syntax errorになる -> done 11/26 postgres/mysql
       select aa, bb from a_table where aa<2 and bb<10 limit 10
       -> 現状では: select aa, bb from a_table where ((jetelina_delete_table=0)and(aa<2 and bb<10) limit 10)
                                                                                                    ^^^^^^^^^^
       sql文としてはこうでなければいけない
         select aa, bb from a_table where ((jetelina_delete_table=0)and(aa<2 and bb<10)) limit 10
                                                                                         ^^^^^^^^^^^
    
       postgresでありえるのは
       join, group by, having, distinct, order by, limit, offset, union, intersect, except...ってとこかな
          withはsql文の先頭にあるっぽいから「where句の後ろ」を対象にする分には無視してもよさそう。
       mysqlもpostgresqlと対象は同じにしよう、とりあえずv3.1では。
       mysql specialが出てきたらv3.*でやろう。
    
      jetelina_delete_flgはユーザが意識的に付けてきたときにはsubqueryに追加しないようにした。ref. _addJetelinaDeleteFlg2Subquery() Postgres/mysql共
      
      joinとかintersectとか複雑なsubqueryを設定したいユーザには、特殊文字"@mydef_start/@mydef_end"を付けてもらおう。その場合、jetelina_delte_flgも付けてもらおう。そうすればユーザ指定のsql文はそのまま実行しますよと。
    
       これらの文字をJetelinaConfig.cnfで”not_include_to_jetelina_delete_flg"にarrayとして定義した。
       ”not_...”は長いが、プログラムでしか使わないし、わかり易い方がいいだろうと言うことで命名。
      他にもあれば後ろにつなげると。
      postgresql/mysqlで共通に使うが、どちらかのスペシャルがあれがどちらかでは使われない文字だろうから単純にarrayに追加しても問題なかろう。
      ユーザ指定の複雑なヤツには特殊文字を付けてもらうことにするが、その定義は"not_include_to_jetelina_delete_flg_user_definition"でやる。
      これらの設定値はJetelinaのチャットボックスからは変更できないこととする。
    
  4. column select後に複数のcolumnをキャンセルしても最初のcolumnしかキャンセルされない。 -> 11/26 done
    functionpanel.js functionPanelFunctions() #1830で最初に見つけたcolumnしか処理していないから
            let t = ut.split(' ');
                   ・
                   ・
              // cancel each item
              $(`${CONTAINERPANEL} span`).filter(".selectedItem").each(function (i, v) {
                if (v.textContent.indexOf(t[1]) != -1) {
                  itemSelect($(this));
                  rejectSelectedItemsArr(v.textContent);
    
    
  5. 連続してapi testするとパラメタ設定要求がされない。前のパラメタデータが残っている? 画面上は残っていない。-> 11/26 done
    jetelinalib.js apiTestAjax() #2170でパラメタをリセットしているから
        }).always(function () {
            // release it for allowing to input new command in the chatbox 
            inprogress = false;
            preferent.apitestparams = [];      <- here
            preferent.apiparams_count = null;        <- here is ok
        });
    
    
Actions #4

Updated by keiji ono 7 months ago

julia/Genie env upgrade

After -- v3.1

[336ed68f] CSV v0.10.15
  [5d742f6a] CSVFiles v1.0.2
  [aaaa29a8] Clustering v0.15.8
  [a93c6f00] DataFrames v1.8.1
  [8bb1440f] DelimitedFiles v1.9.1
  [c43c736e] Genie v5.33.18
  [03cc5b98] GenieSession v1.1.2
  [5c4fdc26] GenieSessionFileSession v1.1.0
  [6d011eab] Inflector v1.1.0
  [c8e1da08] IterTools v1.10.0
  [682c06a0] JSON v1.3.0
  [0f8b85d8] JSON3 v1.14.3
  [194296ae] LibPQ v1.18.0
  [e6f89c97] LoggingExtras v1.2.0
  [739be429] MbedTLS v1.1.9
  [4fe8b98c] Mongoc v0.10.0
  [39abe10b] MySQL v1.4.7
  [91a5bcdd] Plots v1.41.2
  [ce6b1742] RDatasets v0.7.7
  [0cf705f9] Redis v3.0.0
  [295af30f] Revise v3.12.3
  [0aa819cd] SQLite v1.6.1
  [340e8cb6] SearchLight v2.11.1
  [21a827c4] SearchLightSQLite v2.2.2
  [2913bbd2] StatsBase v0.34.8
  [bd369af6] Tables v1.12.1
  [ade2ca70] Dates v1.11.0
  [56ddb016] Logging v1.11.0

Before

  [336ed68f] CSV v0.10.15
  [5d742f6a] CSVFiles v1.0.2
  [aaaa29a8] Clustering v0.15.8
⌃ [a93c6f00] DataFrames v1.7.0
  [8bb1440f] DelimitedFiles v1.9.1
⌃ [c43c736e] Genie v5.33.6
  [03cc5b98] GenieSession v1.1.2
  [5c4fdc26] GenieSessionFileSession v1.1.0
  [6d011eab] Inflector v1.1.0
  [c8e1da08] IterTools v1.10.0
  [682c06a0] JSON v0.21.4
⌃ [0f8b85d8] JSON3 v1.14.1
  [194296ae] LibPQ v1.18.0
  [e6f89c97] LoggingExtras v1.1.0
  [739be429] MbedTLS v1.1.9
⌃ [4fe8b98c] Mongoc v0.9.2
  [39abe10b] MySQL v1.4.7
⌃ [91a5bcdd] Plots v1.40.9
  [ce6b1742] RDatasets v0.7.7
  [0cf705f9] Redis v3.0.0
⌃ [295af30f] Revise v3.7.2
  [0aa819cd] SQLite v1.6.1
  [340e8cb6] SearchLight v2.11.1
  [21a827c4] SearchLightSQLite v2.2.2
⌃ [2913bbd2] StatsBase v0.34.4
⌃ [bd369af6] Tables v1.12.0
  [ade2ca70] Dates
  [56ddb016] Logging

Actions #5

Updated by keiji ono 7 months ago

julia up grade 1.11.6 -> 1.11.7

1.12.*はRedis, Genie, CSVFiles等々が未対応みたいなのでダメ。 <- repl実行でダメ出しされる

Actions #6

Updated by keiji ono 7 months ago

demo siteへの実装中に書きエラーが発生している.
julia version 1.11.7

>bin/repl
ERROR: LoadError: failed to find source of parent package: "TimeZones" 
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] explicit_manifest_uuid_path(project_file::String, pkg::Base.PkgId)
    @ Base ./loading.jl:1029
  [3] manifest_uuid_path(env::String, pkg::Base.PkgId)
    @ Base ./loading.jl:730
  [4] locate_package_env(pkg::Base.PkgId, stopenv::Nothing)
    @ Base ./loading.jl:463
  [5] locate_package(pkg::Base.PkgId, stopenv::Nothing)
    @ Base ./loading.jl:510
  [6] locate_package
    @ ./loading.jl:510 [inlined]
  [7] _precompilepkgs(pkgs::Vector{String}, internal_call::Bool, strict::Bool, warn_loaded::Bool, timing::Bool, _from_loading::Bool, configs::Vector{Pair{Cmd, Base.CacheFlags}}, io::IOContext{IO}, fancyprint::Bool, ignore_loaded::Bool)
    @ Base.Precompilation ./precompilation.jl:878
  [8] precompilepkgs(pkgs::Vector{String}; internal_call::Bool, strict::Bool, warn_loaded::Bool, timing::Bool, _from_loading::Bool, configs::Pair{Cmd, Base.CacheFlags}, io::Base.TTY, fancyprint::Bool, ignore_loaded::Bool)
    @ Base.Precompilation ./precompilation.jl:411
  [9] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:2558
 [10] __require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:2388
 [11] #invoke_in_world#3
    @ ./essentials.jl:1089 [inlined]
 [12] invoke_in_world
    @ ./essentials.jl:1086 [inlined]
 [13] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:2375
 [14] macro expansion
    @ ./loading.jl:2314 [inlined]
 [15] macro expansion
    @ ./lock.jl:273 [inlined]
 [16] __require(into::Module, mod::Symbol)
    @ Base ./loading.jl:2271
 [17] #invoke_in_world#3
    @ ./essentials.jl:1089 [inlined]
 [18] invoke_in_world
    @ ./essentials.jl:1086 [inlined]
 [19] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:2260
in expression starting at /home/jetelina/Jetelina/Jetelina/bootstrap.jl:3

答え:
 juliaのバージョンを変更したため環境設定が必要だった。

replではなくjuliaで起動してpkgモードに入る。

↓このようにJetelina projectが読み込まれていない
(@v1.11) pkg> st
Status `~/.julia/environments/v1.11/Project.toml` (empty project)

↓Project.tomlのある場所なら"."でいい。そうでなければパス指定が必要。
(@v1.11) pkg> activate .
  Activating project at `~/Jetelina/Jetelina`

↓Project.tomlを読み込めればこうなる
(Jetelina) pkg> st
Project Jetelina v0.1.0
Status `~/Jetelina/Jetelina/Project.toml`
  [336ed68f] CSV v0.10.15
  [5d742f6a] CSVFiles v1.0.2
  [aaaa29a8] Clustering v0.15.8
    ・
    ・

↓そうしたら、パッケージやらリポジトリやらのupdateをする。
(Jetelina) pkg> up

これでいけそう。

v1.12.2ではPkgのupdateでwarningが出ているので、今回はv1.11.7でやろう。( ー`дー´)キリッ

Actions #7

Updated by keiji ono 7 months ago

新しいバージョンを入れたところでinitialize画面でpostgres選択→接続テストでエラーが出る。

[ Info: 2025-12-03 01:28:54 POST /getconfigdata 200
┌ Error: 2025-12-03 01:29:24 ConfigManager.configParamUpdate() error: KeyError("pg_password")
└ @ Jetelina.InitConfigManager.ConfigManager ~/Jetelina/Jetelina/app/resources/ConfigManager.jl:309

ubuntuの端末の問題っぽい。要は遅っそくなっていたから。

Actions #8

Updated by keiji ono 7 months ago

デモサーバにimvを入れてテストすると下記エラーが発生中。psqlではmaterialized tableが作成できることを確認済。

┌ Info: 2025-12-04 03:02:19 PgIVMController.createIVMtable() with jv11 error : LibPQ.Errors.UndefinedFunction("ERROR:  function create_immv(unknown, unknown) does not exist\nLINE 1: select create_immv('jv11','select ftest.ftest_jt_id,ftest2.f...\n               ^\nHINT:  No function matches the given name and argument types. You might need to add explicit type casts.\n")
└ @ Jetelina.JLog /home/jetelina/Jetelina/Jetelina/Jetelina/app/resources/JLog.jl:71

pg_ivmのバージョンが違って、最新ではcreate_immv()->pgivm.create_immv()とする必要があるらしい。 <- PgIVMController.jl #124

dev env
 pg_ivm  | 1.7        | 1.7                  | pg_catalog | incremental view maintenance on PostgreSQL

demo env
pg_ivm  | 1.13    | pg_catalog | incremental view maintenance on PostgreSQL

Actions

Also available in: Atom PDF