小编Sup*_*ron的帖子

PostgreSQL 更新并返回

假设我有一个名为tPostgres 的表:

   id   | group_name | state
-----------------------------
   1    |   group1   |   0
   2    |   group1   |   0
   3    |   group1   |   0
Run Code Online (Sandbox Code Playgroud)

我需要state按 ID 更新行,同时还返回一些内容:

  • 旧状态
  • 同一组中剩余的行数state= 0

我有一个查询来执行此操作,如下所示:

UPDATE t AS updated SET state = 1
FROM t as original
WHERE 
    updated.id = original.id AND
    updated.id = :some_id
RETURNING
    updated.state AS new_state,
    original.state AS old_state,
    (
        SELECT COUNT(*) FROM t 
        WHERE 
            group_name = updated.group_name AND
            state = 0
    ) as remaining_count;
Run Code Online (Sandbox Code Playgroud)

然而,似乎其中的子查询是在更新完成 …

sql postgresql

5
推荐指数
1
解决办法
4801
查看次数

gcc:设备上没有剩余空间?

我试图在Ubuntu 10中使用简单的gcc命令制作一些C代码,但由于某种原因,我一直收到错误:

Cannot create temporary file in /tmp/: No space left on device
Run Code Online (Sandbox Code Playgroud)

但问题是,磁盘上有足够的空间.这是df -h的输出:

Filesystem            Size  Used Avail Use% Mounted on
/                     3.7G  2.4G  1.1G  70% /
devtmpfs              312M  112K  312M   1% /dev
none                  312M   24K  312M   1% /dev/shm
none                  312M   80K  312M   1% /var/run
none                  312M     0  312M   0% /var/lock
none                  312M     0  312M   0% /lib/init/rw
Run Code Online (Sandbox Code Playgroud)

和df -i一样,如果你想知道inode:

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/                     240960  195198   45762   82% /
devtmpfs               79775     609   79166    1% /dev
none …
Run Code Online (Sandbox Code Playgroud)

memory ubuntu gcc compilation

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

Perl Hash引用

所以我正在尝试编写一个子程序,它接受一个哈希参数,并为它添加几个键值对(通过引用).到目前为止,我有这个:

addParams(\%params);

sub addParams
{
    my(%params) = %{$_[0]}; #First argument (as a hash)

    $params{"test"} = "testing";
}
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,它似乎没有添加"测试"键.我是Perl的新手,但这不是你通过引用传递哈希的方式吗?先谢谢.

parameters perl hash reference subroutine

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

Java同步对象?

我在java中有一个类,它读取UDP数据包并将它们放在一个对象中(基本上是无限循环).然后,可以在多个单独的线程中访问此对象,但显然,由于它是在同一时间填充的,因此所有这些getter/setter都采用同步方法.问题是,现在这些getter有这样的代码:

public synchronized SomeObject exampleGetter() {
    if(this.isReceiving)
        return oldCachedObject;
    else
        return currentObject;
}
Run Code Online (Sandbox Code Playgroud)

显然,这不是最好的处理方式,所以我应该如何编写方法(许多不同的方法),将对象完全锁定到一个线程并阻塞其他线程(包括创建对象的线程)第一名)?我看了一下synchronized块,但是我对于"锁定对象"有什么影响感到困惑,是那个在给定时间可以访问块的对象?任何意见,将不胜感激.谢谢!

java concurrency multithreading synchronization thread-safety

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

能够处理文件移动的版本控制系统?

我正在为我的软件公司寻找一个新的版本控制系统,这个系统相当小.到目前为止,我一直在使用CVS,但我有点关于重组文件结构的OCD,因此,我似乎总是在我的所有代码的版本1(因为更改目录名称会引发CVS的版本控制窗户).是否有更多针对开发阶段的版本控制系统(项目目录树不断变化)或者我是否需要扣下并开始编写自己的版本控制系统?基本上,我需要它来基于物理文件路径之外的其他东西来跟踪文件的版本,这样移动不会影响文件版本信息.任何建议将不胜感激.谢谢!

干杯,Lukas Rezek

svn versioning git cvs version-control

2
推荐指数
1
解决办法
326
查看次数

Neo4J和Laravel 4型号

我即将开始一个新的Web项目,我决定使用Laravel 4.但是,由于我需要存储的数据结构,我还决定使用Neo4J作为数据库.现在,我已经安装了一个用于处理Neo4J的Laravel软件包,可以在这里找到,我可以使用用例来访问Neo4J数据库.

但是,我现在完全不知道如何为这个新数据库编写Eloquent模型,以及如何使用Laravel Auth类.我曾经使用没有ORM的Codeigniter,所以我理解模型结构,但我不知道如何使用Eloquent ORM和Neo4J,或者如何破解我的模型和身份验证,以便他们不使用ORM.我的猜测是我可能不得不编写自己的查询而不依赖于Laravel查询构建器或Eloquent,但我不知道如何启动此过程或如何编写包含这些查询的模型.

我已经阅读了我在Laravel站点上可以找到的所有内容,但是与身份验证和数据库访问有关的任何内容都假定为非图形数据库.如果有人有任何关于阅读内容或在哪里寻找更多信息的提示,我会很感激.

php neo4j laravel laravel-4

2
推荐指数
1
解决办法
1373
查看次数