clutch —— Emacs 数据库客户端(MySQL/PostgreSQL/SQLite/Oracle/SQL Server 等)

query console 的 buffer name 是否有 schema! ,还可以看看 *clutch-jdbc-agent-stderr* 是否有报错呢?很可能是获取表名和列也超时了。另外C-c C-s是可以手动刷新 schema,刷新好了之后 buffer name 应该会显示有多少 table([schema 数字t] 这种字样在buffer name)。

query console的buffer name是 *clutch: prod-oracle* [schema 0t]

*clutch-jdbc-agent-stderr*里面没有错误

是不是跟权限有关,我这个用户权限比较低,但是如果用sqldeveloper时,是有提示的。

对,应该是权限的问题,我修改了,现在应该可以了。

可以了。谢谢! :+1:

遇到几个问题,oracle

  1. 用了join后有时候,补全列表里面没有应该有的列名,列表里面有一些错误的列名(感觉像是把其他表名塞进去了)。
  2. 可不可以提供一个自定义支持小写关键字和表名列名呢?大写的看起来不习惯啦。
  3. 如果执行了一条sql, 然后想对这条sql里面内容用ctrl-space选择就不行。

第三个应该可以的吧,只是overlay影响的mark的效果

我mark 以后复制不上呢

奇怪,我这里没问题,这里只是一个overlay。

应该都修了,执行那个我不知道到底什么问题,改了fringe作为标志了,终端fallback 到before-string显示 ;小写的用 (setq clutch-sql-completion-case-style 'lower)

1 个赞

你这效率太高了! :+1:

再报两个问题。

  1. 在join两个表的时候如果用了别名,在用别名点出列名时,提示的列名是两个表列名的并集样。
  2. 日期时间字段格式化时,时区跟sqldeveloper不一样,个人感觉sqldeveloper里面的好一些。比如 select to_date('2024-06-28 19:30:00', 'YYYY-MM-DD HH24:MI:SS') from dual; 在sqldeveloper里面结果是2024-06-28 19:30:00 而clutch的结果是2024-06-28T11:30:00Z

修复了

1 个赞

image 有个乱码,这个没啥影响。

应该是字体的问题,用的 nerd-icons。如果 default font 不是支持 nerd 的 font,可以试试下面这个代码,我一直在用。( NERD-ICONS-FONT 替换成自己的字体)

(let ((ranges '((#xE5FA . #xE6B7)    ;; Seti-UI + Custom
                (#xE700 . #xE8EF)    ;; Devicons
                (#xED00 . #xF2FF)    ;; Font Awesome
                (#xE200 . #xE2A9)    ;; Font Awesome Extension
                (#xF0001 . #xF1AF0)  ;; Material Design Icons
                (#xE300 . #xE3E3)    ;; Weather
                (#xF400 . #xF533)    ;; Octicons
                (#x2665 . #x2665)    ;; Octicons
                (#x26A1 . #x26A1)    ;; Octicons
                (#xE000 . #xE00A)    ;; Pomicons
                (#xEA60 . #xEC1E)))) ;; Codicons
  (dolist (range ranges)
    (set-fontset-font t range NERD-ICONS-FONT)))

可不可以检查一下,如果不支持他个字体,直接显示成文字呢?不过这个对我确实没啥影响。

这个是 nerd-icons 的职责范围了,无 icon 的话有些地方确实不太好表示,这个我再看看吧。

另外,对于有很多列的情况,我认为设计成一页更方便些,Tab可以一直到最后一列,Ctrl-E 可以直接到行尾,iSearch 也可以搜索所以列名,还可以使用水平滚动条。

看了下 nerd-icons 的范围没有根据 nerd icons 的更新而更新,我来提个 pr 给他吧。

@seagle0128 可以帮忙看看 PR 是否有问题,我本地测试无问题,nerd-icons-set-font 指定其他字体也无问题。

1 个赞

很好的建议,我之前想岔了。已经实现了。

1 个赞

我个人建议,尽量减少依赖,依赖 nerd 似乎没多大必要吧?