SCM_RIGHTS
时间: 2024-03-15 17:40:22 浏览: 13
SCM_RIGHTS是一种UNIX域套接字(UNIX domain socket)的控制消息类型,用于在进程之间传递文件描述符。它是Socket Control Message(SCM)机制的一部分,允许进程在不同的域套接字之间传递额外的信息。
在UNIX系统中,每个打开的文件都有一个唯一的文件描述符,它是对该文件的引用。通过使用SCM_RIGHTS消息类型,进程可以将一个文件描述符发送给另一个进程,使得接收进程可以使用该文件描述符来访问相同的文件或资源。
SCM_RIGHTS消息类型的使用需要一对相关的套接字,一个用于发送方,一个用于接收方。发送方使用sendmsg函数将文件描述符附加到消息中,并通过UNIX域套接字将消息发送给接收方。接收方使用recvmsg函数接收消息,并从中提取文件描述符。
SCM_RIGHTS的使用场景包括进程间通信、传递打开的文件、传递网络套接字等。它提供了一种灵活而高效的机制,使得进程可以共享和传递资源。
相关问题
Bitnami Redmine(windows版)的configuration.yml 文件下没有找到scm_subversion_repository,scm_username和scm_password配置信息?
在 Bitnami Redmine (Windows 版本) 中,配置 Subversion 仓库的信息需要通过 Redmine 安装目录下的 `config/configuration.yml` 文件来进行配置。在该文件中,你需要添加以下类似的配置:
```
production:
scm_subversion_command: C:\Program Files\TortoiseSVN\bin\svn.exe
scm_subversion_arguments: --no-auth-cache --non-interactive
scm_subversion_repository: svn://svn.example.com/myrepo
scm_username: myusername
scm_password: mypassword
```
其中,`scm_subversion_command` 和 `scm_subversion_arguments` 配置用于指定 Subversion 命令的路径和参数,`scm_subversion_repository` 配置用于指定 Subversion 仓库的 URL,`scm_username` 和 `scm_password` 配置用于指定访问 Subversion 仓库所需要的用户名和密码。
如果在 `config/configuration.yml` 文件中没有找到这些配置项,你可以手动添加它们。请注意确保文件格式的正确性,例如缩进和冒号的使用等。同时,修改配置后需要重启 Redmine 服务才能生效。
请帮我看看这个sql语句是否正确,并改正:select a.ebeln, a.ebelp, a.art, a.kdauf, a.zbw, a.size1, a.txz01, a.menge, b.quantity, (a.menge - b.quantity) as OWE_MATERIAL, ( select sum(THIS_PLAN_QTY) as HAVE_PLAN , a.ebeln , a.ebelp , a.kdauf from SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c , SCM_PROCESS_PURCHASE_ORDER_D a group by c.order_no , c.order_seq , c.sales_order , a.ebeln , a.ebelp , a.kdauf having c.order_no = a.ebeln And c.order_seq = a.ebelp And c.sales_order = a.kdauf ) , ( select a.menge - t.HAVE_PLAN as OWN_PLAY from (select sum(THIS_PLAN_QTY) as HAVE_PLAN , c.order_no , c.order_seq , c.sales_order from SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c , SCM_PROCESS_PURCHASE_ORDER_D a group by c.order_no , c.order_seq , c.sales_order , a.ebeln , a.ebelp , a.kdauf having c.order_no = a.ebeln And c.order_seq = a.ebelp And c.sales_order = a.kdauf ) t , SCM_PROCESS_PURCHASE_ORDER_D a where a.ebeln = t.order_no and a.ebelp = t.order_seq and a.menge = t.sales_order ) , d.scan_qty, (d.quantity - d.scan_qty) as OWN_PRODUCE, e.scan_qty, (e.quantity - e.scan_qty) as OWE_SHIP from SCM_PROCESS_PURCHASE_ORDER_D a left join MMS_INOUT_BILL_M b On a.ebeln = b.purchase_order_number And a.ebelp = b.purchase_order_seq And a.kdauf = b.sales_order left join SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c on a.ebeln = c.order_no And a.ebelp = c.order_seq And a.kdauf = c.sales_order left join SCM_PROCESS_OUTPUT d on a.ebeln = d.order_no And a.ebelp = d.order_seq And a.kdauf = d.sales_order left join SCM_OUTSOURCE_SHIP e on a.ebeln = e.qr_code and a.ebelp = e.order_no and a.kdauf = e.order_seq where a.art = 'IE7181' Order by a.ebeln desc, a.ebelp;
这个 SQL 语句比较复杂,但是有一些问题需要修改:
- 在子查询中,需要将 select 子句中的 a.ebeln, a.ebelp, a.kdauf 与 group by 子句中的字段保持一致,否则会出现错误。
- 子查询中的第一个 SELECT 子句需要加上 WHERE 子句,限制查询条件。
- 子查询中的第二个 SELECT 子句中的 a.menge 应该改为 t.sales_order。
- 在最后的 SELECT 子句中,d.scan_qty 与 e.scan_qty 都没有明确指定表名,可能会出现错误。
以下是修改后的 SQL 语句:
```
SELECT
a.ebeln,
a.ebelp,
a.art,
a.kdauf,
a.zbw,
a.size1,
a.txz01,
a.menge,
b.quantity,
(a.menge - b.quantity) AS OWE_MATERIAL,
(
SELECT
SUM(c.THIS_PLAN_QTY) AS HAVE_PLAN,
a.ebeln,
a.ebelp,
a.kdauf
FROM
SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c,
SCM_PROCESS_PURCHASE_ORDER_D a
WHERE
c.order_no = a.ebeln
AND c.order_seq = a.ebelp
AND c.sales_order = a.kdauf
AND a.art = 'IE7181'
GROUP BY
c.order_no,
c.order_seq,
c.sales_order,
a.ebeln,
a.ebelp,
a.kdauf
),
(
SELECT
a.menge - t.sales_order AS OWN_PLAY
FROM
(
SELECT
SUM(c.THIS_PLAN_QTY) AS HAVE_PLAN,
c.order_no,
c.order_seq,
c.sales_order
FROM
SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c,
SCM_PROCESS_PURCHASE_ORDER_D a
WHERE
c.order_no = a.ebeln
AND c.order_seq = a.ebelp
AND c.sales_order = a.kdauf
AND a.art = 'IE7181'
GROUP BY
c.order_no,
c.order_seq,
c.sales_order,
a.ebeln,
a.ebelp,
a.kdauf
) t,
SCM_PROCESS_PURCHASE_ORDER_D a
WHERE
a.ebeln = t.order_no
AND a.ebelp = t.order_seq
AND a.kdauf = t.sales_order
AND a.art = 'IE7181'
),
d.scan_qty,
(d.quantity - d.scan_qty) AS OWN_PRODUCE,
e.scan_qty,
(e.quantity - e.scan_qty) AS OWE_SHIP
FROM
SCM_PROCESS_PURCHASE_ORDER_D a
LEFT JOIN MMS_INOUT_BILL_M b ON a.ebeln = b.purchase_order_number AND a.ebelp = b.purchase_order_seq AND a.kdauf = b.sales_order
LEFT JOIN SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c ON a.ebeln = c.order_no AND a.ebelp = c.order_seq AND a.kdauf = c.sales_order
LEFT JOIN SCM_PROCESS_OUTPUT d ON a.ebeln = d.order_no AND a.ebelp = d.order_seq AND a.kdauf = d.sales_order
LEFT JOIN SCM_OUTSOURCE_SHIP e ON a.ebeln = e.qr_code AND a.ebelp = e.order_no AND a.kdauf = e.order_seq
WHERE
a.art = 'IE7181'
ORDER BY
a.ebeln DESC,
a.ebelp;
```