我正在尝试从 Go 1.5.3 迁移到 Go 1.6,对于某些包,当我尝试为 1.6 构建它们时,我遇到“不允许导入周期”错误。
例如,为了构建我得到的 golint 工具:
import cycle not allowed
package github.com/golang/lint/golint
imports flag
imports errors
imports runtime
imports runtime/internal/atomic
imports runtime
Run Code Online (Sandbox Code Playgroud)
我的本地环境是否存在任何问题,或者有什么方法可以解决这个问题?
go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/radek/Projekty/Go"
GORACE=""
GOROOT="/home/radek/Software/Go/go1.6"
GOTOOLDIR="/home/radek/Software/Go/go1.6/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
Run Code Online (Sandbox Code Playgroud) 我们正在使用以下物化视图和基础视图来实现某些报告。从我们的应用程序中完全手动刷新了实例化视图(通过DBMS_SNAPSHOT.REFRESH('“ OVERALL_WEEKLY”','C');)。在此调用之后,视图处于FRESH状态,但是在对基础表执行任何DML操作之后,实例化视图将变为NEEDS_COMPILE状态。查询视图如下。无关紧要的表EBR_CYCLE_TIME和EBR_AREA经常更改。因此,提交刷新不是我们的选择。
有什么办法可以避免NEEDS_COMPILE状态?或者更好是什么导致NEED_COMPILE状态?
CREATE OR REPLACE FORCE VIEW "OTD_WEEKLY" AS
SELECT
otd.WEEK,
otd.SITE_ID,
otd.AREA_ID,
otd.OTD_METRIC AS CT_METRIC,
ROUND(100 * (SUM(otd.SUCCESS) / SUM(otd.CT_TOTAL_COUNT)), 2) AS OTD_VALUE
FROM
(SELECT
FC.MFL_FISCAL_YR_NUM * 100 + FC.MFL_FISCAL_WK_NUM AS WEEK,
r.BUSINESS_UNIT_ID AS PAL2_ID,
a.site_id AS SITE_ID,
a.area_def_id AS AREA_ID,
a.PRIORITY AS PRIORITY,
r.EBR_BUILD_SUBTYPE AS NPI,
r.CORPORATE_TD AS CTD,
ctd.NAME AS OTD_METRIC,
COUNT(r.ebr_number) AS CT_TOTAL_COUNT,
COUNT(
CASE
WHEN (ct.TIME_ELAPSED) > (ct.TARGET * 86400)
THEN NULL
ELSE r.ebr_number
END) AS SUCCESS,
COUNT(
CASE
WHEN (ct.TIME_ELAPSED) > (ct.TARGET * …Run Code Online (Sandbox Code Playgroud)