小编Top*_*her的帖子

PostgreSQL/Clojure的驱动程序问题

我试图访问Clojure内的Postgres数据库.我发现了大量使用DB的项目示例,如下所示设置数据库:

(def db
    {:classname "org.postgresql.Driver"
     :subprotocol "postgresql"
     :subname "//localhost/testdb"
     :username "postgres"
     :password "postgres"})
Run Code Online (Sandbox Code Playgroud)

我然后尝试访问数据库,如下所示:

(sql/with-connection db
    (sql/with-query-results recs ["select * from asdf"]
        (doseq [rec recs]
            (println rec))))
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

No suitable driver found for jdbc:postgresql://localhost/testdb
  [Thrown class java.sql.SQLException]
Run Code Online (Sandbox Code Playgroud)

我假设问题在于:classname "org.postgresql.Driver",但我不确定解决方案是什么.我想我需要提供这个驱动程序,但我不确定从哪里获取它或在哪里放它.postgresql.org上有一个下载- 我应该下载吗?或者我可以在项目设置中放置一些lein内容作为依赖项下载吗?一旦我拥有它,它会去哪里?


编辑(响应@mtnygard):我在我的project.clj中有这个:

(defproject hello-www "1.0.0-SNAPSHOT"
    :dependencies [[org.clojure/clojure "1.2.1"]
                   [postgresql/postgresql "8.4-702.jdbc4"]
                   ...]
Run Code Online (Sandbox Code Playgroud)

我的postgres版本是8.4:

[/media/data/dev/clojure/hello-www (postgres *)]$ postgres --version
postgres (PostgreSQL) 8.4.8
Run Code Online (Sandbox Code Playgroud)

java postgresql jdbc clojure

8
推荐指数
1
解决办法
3238
查看次数

强迫嬉皮士扩大尊重资本化

我想停止嬉皮扩展给我完成与我已经提供的大小写不匹配的完成.例子:

start with "hippie1", "Hippie2", and "HIPPIE3"

"H" completes to "Hippie2" and "HIPPIE3", but not "hippie1"
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以实现这一目标?

emacs

3
推荐指数
1
解决办法
316
查看次数

"git rebase --interactive"在尝试重新排序时默默地丢弃提交

我注意到我在运行时默默地丢失了提交git rebase --interactive,因此我在一个简单的仓库中重新创建了这个问题进行测试.

我有四个提交,我想重新排序其中两个.这是我的开始提交:

55d4ca6 1  <-- origin/master  
d70d325 2  
b613c5b 3  
2bd1177 4  <-- master
Run Code Online (Sandbox Code Playgroud)

每次提交都独立于其他提交; 他们都操纵不同的文件.我想重新排序提交以切换提交2和3.我将要执行此操作git rebase --interactive origin/master.正如预期的那样,运行该命令会按顺序在vim窗口中提交我的提交:

pick d70d325 2  
pick b613c5b 3  
pick 2bd1177 4
Run Code Online (Sandbox Code Playgroud)

我要交换提交2和3,所以我在vim中对它们进行重新排序,如下所示:

pick b613c5b 3  
pick d70d325 2  
pick 2bd1177 4
Run Code Online (Sandbox Code Playgroud)

我希望交换这两个提交,如下所示:

55d4ca6 1
bf330a8 3  
5c6f9af 2  
7cb8db1 4
Run Code Online (Sandbox Code Playgroud)

实际上,我的一个提交已经完全消失了,我的回购留下了这个:

55d4ca6 1  
7de7fb0 3  
10fc3a7 4
Run Code Online (Sandbox Code Playgroud)

我使用rebase --interactive不正确吗?或者这是Git中的错误?

我正在使用最新的Window Git版本(1.9.5.msysgit.0).在过去的几个月里,我已经注意到了这个问题.

编辑1:用文本替换vim和gitk图像.如果你想看到我所看到的确切内容,请查看原始问题修订版.

git msysgit git-rebase

3
推荐指数
1
解决办法
256
查看次数

标签 统计

clojure ×1

emacs ×1

git ×1

git-rebase ×1

java ×1

jdbc ×1

msysgit ×1

postgresql ×1