小编Chr*_* W.的帖子

在PostgreSQL表已经创建之后,我可以为它添加一个UNIQUE约束吗?

我有下表:

 tickername | tickerbbname  | tickertype
------------+---------------+------------
 USDZAR     | USDZAR Curncy | C
 EURCZK     | EURCZK Curncy | C
 EURPLN     | EURPLN Curncy | C
 USDBRL     | USDBRL Curncy | C
 USDTRY     | USDTRY Curncy | C
 EURHUF     | EURHUF Curncy | C
 USDRUB     | USDRUB Curncy | C
Run Code Online (Sandbox Code Playgroud)

对于任何给定tickername/ tickerbbname对,我不希望任何列都有多个列.我已经创建了表并且其中包含大量数据(我已经确保它符合唯一标准).然而,随着它变得越来越大,错误的空间越来越大.

有没有办法UNIQUE在这一点上添加约束?

sql database postgresql indexing unique-constraint

165
推荐指数
4
解决办法
16万
查看次数

scala.concurrent.blocking的用例

我遇到了这个scala.concurrent.blocking方法,根据Scala文档,这是......

用于指定可能阻塞的代码段,允许当前的BlockContext调整运行时的行为.正确标记阻塞代码可以提高性能或避免死锁.

我有些疑惑:

  • 生成新线程的因素是什么?
  • 这是否仅适用于scala.concurrent.ExecutionContext.Implicits.global执行上下文或用户创建的执行上下文?
  • 如果我用blocking {... 包装任何可执行文件会发生什么}
  • 我们应该使用这个结构的任何实际用例.

scala scala-2.10

71
推荐指数
1
解决办法
1万
查看次数

Java性能测试

我想在Java应用程序上进行一些计时测试.这就是我目前正在做的事情:

long startTime = System.currentTimeMillis();
doSomething();
long finishTime = System.currentTimeMillis();
System.out.println("That took: " + (finishTime - startTime) + " ms");
Run Code Online (Sandbox Code Playgroud)

像这样的性能测试有什么"错误"吗?什么是更好的方法?

重复:秒表基准可以接受吗?

java performance performance-testing

49
推荐指数
2
解决办法
6万
查看次数

在尝试保存大(ish)整数值时,获取指示数字的错误"超出ActiveRecord :: Type :: Integer且限制为4的范围"

我在我的Ruby应用程序中使用SQLite + ActiveRecord,这是我在尝试向整数字段写入一个大数字时得到的错误:

1428584647765超出ActiveRecord :: Type :: Integer的范围,限制为4

但根据SQLite文档:

该值是有符号整数,存储为1,2,3,4,6或8个字节,具体取决于值的大小.

8个字节是存储整数1428584647765的足够空间,那么为什么ActiveRecord会给我一个错误?为什么它认为这是一个4字节的字段?

ruby sqlite activerecord

28
推荐指数
3
解决办法
2万
查看次数

如何让Capybara在Cucumber功能中执行DELETE请求?

我正在使用Cucumber和Capybara.我需要发出HTTP DELETE请求.以前使用webrat的功能,所以简单的声明就好

visit "/comment/" + comment_id, :delete
Run Code Online (Sandbox Code Playgroud)

工作,但现在我使用Capybara.

做一个GET请求的方法很简单:

get 'path'
Run Code Online (Sandbox Code Playgroud)

并做一个帖子请求:

page.driver.post 'path'
Run Code Online (Sandbox Code Playgroud)

但是我如何模拟DELETE请求呢?

我发现司机Capybara正在使用的是Capybara::RackTest::Driver,如果有任何帮助的话.

我也尝试过:

Capybara.current_session.driver.delete "/comments/" + comment_id
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

integration-testing ruby-on-rails cucumber capybara

22
推荐指数
2
解决办法
7828
查看次数

如何找到播放框架应用程序的绝对路径?

目前我正在一个团队中工作!框架应用程序
我必须实现的下一个用户故事需要一些不同的文件修改,例如将文件移动到定义的目录.

因为我们在不同的平台上工作,所以我并不总是确定应用程序是否具有正确的路径.所以我想使用app目录的绝对路径.

我如何获得游戏的绝对路径!应用程序吗?有方法吗?

java scala playframework

20
推荐指数
3
解决办法
2万
查看次数

带有WHERE id IN(SELECT ...)的mysqldump产生表"未锁定"错误

我有2个数据库,用〜100,000行从表中缺少field_collection_itemdb1,我想通过出口来维修db2.

我实现这一目标的计划是:

  1. item_idin 识别缺失的项目db2,导出item_ids 列表.
  2. item_ids导入db1到新表中missing_field_collection_item
  3. 使用以下mysqldump来提取数据:

    mysqldump -u USER -pPASS DATABASE --no-create-info --tables field_collection_item --where ="item_id IN(SELECT item_id FROM missing_field_collection_item);"

但是这会给出错误:

Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ * FROM `field_collection_item` WHERE item_id IN (SELECT item_id FROM missing_field_collection_item);': Table 'missing_field_collection_item' was not locked with LOCK TABLES (1100)
Run Code Online (Sandbox Code Playgroud)

我更愿意这样做而不进行更改,db2但是它并不是绝对必要的,如果事实证明这样做的唯一现实方法是删除我不想要的行然后在没有where子句的情况下转储.

UPDATE

我发现上面的工作只是通过添加--single-transaction,似乎关闭锁定.这应该是安全的,因为db2不是活的,但是我不自信我理解任何副作用,所以我不会接受这个作为没有第二意见的答案.

mysql mysqldump where-clause

19
推荐指数
2
解决办法
5246
查看次数

如何在Haskell中组合monad?

特别是,我需要能够将CGI monad与IO monad结合起来,但是如何将IO monad与Maybe monad相结合的示例可能会更好......

monads haskell functional-programming monad-transformers

18
推荐指数
3
解决办法
5581
查看次数

使用NO堆栈跟踪获取"ArrayIndexOutOfBoundsException:null"

在我们的日志文件中,我们发现以下内容

[2012-09-24 00:09:32.590 +0000UTC] ERROR host server1 [] [] somepackage.someclass [] [Unknown] [V3rAqPaDvvAAAAExEXhdWGyh] [pjsQwTGHzxcAAAE5j4YdGvWV] "ThreadName"  Some error happened:  java.lang.ArrayIndexOutOfBoundsException: null
Run Code Online (Sandbox Code Playgroud)

只有这一行,没有异常堆栈跟踪.

try发生此异常的块是执行使用javassist创建的动态生成的Java字节码.

我想知道两件事:

  1. java.lang.ArrayIndexOutOfBoundsException日期null
  2. 丢失的堆栈跟踪,尽管logger.error("message", theException)catch块内部使用日志挂钩调用,这通常会导致在日志文件中打印完整的堆栈跟踪.

我的问题:

  1. 什么样的代码可以导致日志输出"java.lang.ArrayIndexOutOfBoundsException:null".我尝试用没有运气的测试程序重现这个.我总是得到像"java.lang.ArrayIndexOutOfBoundsException:Index:3"或类似的东西.

  2. 丢失堆栈跟踪的原因可能是此代码是在运行时动态生成的,因此logger/JVM不会"知道"堆栈跟踪或相关的行号吗?

我们目前正在调试和调查以获取更多信息,但也许这听起来很熟悉.

java logging bytecode logback stack-trace

18
推荐指数
2
解决办法
9720
查看次数

安装并运行Apache Tomcat,但localhost:8080在浏览器中显示空白页面

我正在使用Fedora 16,并且已经使用该tomcat6软件包安装了Apache Tomcat .

在终端我已经启动了Tomcat:

[rajani@localhost ~]$ sudo service tomcat6 start
[sudo] password for rajani: 
Redirecting to /bin/systemctl  start tomcat6.service
[rajani@localhost ~]$ 
Run Code Online (Sandbox Code Playgroud)

但如果我浏览http://localhost:8080它只是显示一个空白页面.请给我解决方案.

tomcat

16
推荐指数
2
解决办法
4万
查看次数