小编sea*_*eas的帖子

如何在Expect脚本中返回生成的进程退出代码?

我使用expect来运行测试脚本.测试通过退出代码返回成功/失败.但期望返回等效的退出代码.如何让期望返回正确的退出状态?

我的测试是用psql(postgresql命令处理器)运行的sql脚本.由于psql不允许将数据库密码指定为命令行参数,因此期望脚本执行此操作.

所以,我的期望脚本看起来像:

spawn $SPAWN_CMD
expect {
        -re "Enter password for new role:" {
                send "$PWPROMPT\n"
                exp_continue
        } -re "Enter it again:" {
                send "$PWPROMPT\n"
                exp_continue
        } -re "Password(.*)" {
                send "$PASSWORD\n"
                exp_continue
        } -re "Password(.*):" {
                send "$PASSWORD\n"
                exp_continue
        } eof
}
Run Code Online (Sandbox Code Playgroud)

linux shell scripting expect

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

如何在PostgreSQL事务中获得实时?

据我所知now()在整个PostgreSQL事务中返回相同的时间?但是如何获得实时

另外,我感兴趣的是是否有任何配置参数来限制事务的持续时间,以便在此期限到期后事务会立即失败或以其他方式禁止以下查询?

sql database postgresql transactions

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

什么是PocoCapsule当前状态?

什么是PocoCapsule当前状态?它在不断发展吗?它是否与其他产品分开?关于IoC for C++的整体想法是什么?如果PocoCapsule没有发展,是因为IoC被认为对C++没用,不安全,其他模式出现或其他什么?

据我所知,实现IoC for C++的产品有2-3种,可能更少,PocoCapsule是最成熟的产品.

我在当前版本中看到了几个缺点(因为我从谷歌代码看到它是1.1):

  1. 没有单独的命名空
  2. 头文件必须在INCLUDE文件夹中正确 - 最好将它们放在子文件夹中.
  3. 生成工具依赖于Java.
  4. 默认情况下不构建静态链接库.
  5. 如果我不需要重新配置功能,则无法从setup.xml生成源代码以进行编译并与我的应用程序链接.

有没有人有同样的想法?有人在这份清单上工作吗?开始工作有什么障碍,比如专利吗?

c++ inversion-of-control

10
推荐指数
1
解决办法
1376
查看次数

PostgreSQL函数中是否存在psql变量的转义语法?

我编写PSQL脚本并使用变量(对于psql --variable key = value命令行语法).

这适用于顶级范围,如select*from:key,但我使用脚本创建函数,并在其中需要变量值.

所以,语法就好

create function foo() returns void as
$$
declare
begin
    grant select on my_table to group :user;
end;
$$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)

失败于:用户.

据我所知,psql变量是一个普通的宏替换功能,但它不处理函数体.这种情况有没有逃避语法?周围:带有$$的用户有关替换的工作,但psql在$$时失败.

除了独立的宏处理(sed,awk等)之外还有其他方法吗?

sql security postgresql scripting

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

如何使用Ant配置延迟或增量构建?

Java编译器提供了增量构建,因此也是javac ant任务.但大多数其他流程却没有.

考虑到构建过程,它们将一些文件集(源)转换为另一组文件(目标).

我可以在这里区分两个案例:

  1. Transformator 无法获取源文件的子集,只能获取整个集合.在这里我们只能进行延迟构建 - 如果没有修改源文件 - 我们跳过处理.
  2. Transformator 可以获取源文件的子集并生成部分结果 - 增量构建.

什么是ant内部,第三方扩展或其他工具来实现延迟和增量构建?你能提供一些广泛的构建文件示例吗?

我感兴趣的是特别适用于GWT编译器.

ant build-automation gwt build-process

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

如何在CPack中更改包目标文件夹?

我有一个带有多个add_subdirectory宏的根CMakeLists.txt的多模块CMake项目.

据我所知,CPack/CMake的默认设置是在项目根文件夹中创建包,其中根CMakeLists.txt所在的位置.我想创建一个单独的安装模块,有自己的文件夹和创建包吗?这该怎么做?

build-process cmake

6
推荐指数
3
解决办法
3938
查看次数

有没有办法将我的程序与Wine编译的部分联系起来?

我试图在Linux中使用Windows DLL功能.我目前的解决方案是一个单独的wine应用程序的汇编,它使用dll并在dll和主应用程序之间通过IPC传输请求/响应.

这很有效,但与简单的dll调用相比,这是一个真正的开销.

我看到wine编译的程序通常是一个bootstrapping脚本和一些.so,它(根据文件实用程序)是普通的linux动态链接库.

有没有办法将.so直接链接到我的应用程序?有手册吗?

c++ linux gcc wine

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

如何从INSERT/UPDATE规则(触发器)执行的函数返回记录?

为我的数据库执行以下方案:

create sequence data_sequence;

create table data_table
{
    id integer primary key;
    field varchar(100);
};

create view data_view as
select id, field from data_table;

create function data_insert(_new data_view) returns data_view as
$$declare
    _id integer;
    _result data_view%rowtype;
begin
    _id := nextval('data_sequence');
    insert into data_table(id, field) values(_id, _new.field);
    select * into _result from data_view where id = _id;
return _result;
end;
$$
language plpgsql;

create rule insert as on insert to data_view do instead
select data_insert(new);
Run Code Online (Sandbox Code Playgroud)

然后输入psql:

insert into data_view(field) values('abc');
Run Code Online (Sandbox Code Playgroud)

想看到类似的东西: …

sql postgresql triggers stored-procedures plpgsql

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