小编dde*_*any的帖子

如何从已发布的jar-s中删除SuppressFBWarnings注释?

您可能知道,SuppressFBWarnings注释保留在类文件中,但在运行时不需要,因此FindBugs不会成为项目的运行时依赖项.不幸的是,对于使用该项目作为依赖项的Gradle用户,那些重新注释的注释会导致像这样的编译警告:

warning: Cannot find annotation method 'value()' in type
'SuppressFBWarnings': class file for
edu.umd.cs.findbugs.annotations.SuppressFBWarnings not found
Run Code Online (Sandbox Code Playgroud)

请注意,Maven用户不会收到任何警告(使用默认的javac配置).但当然我不能忽视Gradle用户.

所以我似乎必须以某种方式从发布版本中删除这些注释.但我找不到任何现有的解决方案,这很奇怪.其他人如何处理这个问题?

findbugs gradle

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

如何为分区LOB索引指定INITRANS?

我有一个带有BLOB列的分区表.当多个用户从该表中删除每个事务多行时,我们经常遇到ORA-00060死锁,根据trc文件,死锁是由LOB索引分区中的ITL死锁引起的.所以我想重新创建具有比默认值2更高的LOB索引INITRANS的表.我可以为非分区表执行此操作create table ... ( ... lob (...) store as ... ( ... index ... (... initrans 10 ... ) ) ),但是对于分区表,Oracle说"ORA-22879:不能对分区表使用LOB INDEX子句" ".有没有其他方法可以为分区LOB索引设置INITRANS?

(更新:请注意,我不需要更改现有表,我可以从头开始重新创建它.这通常更容易.)

jonearles的编辑如下:

以下是常规方法不起作用的示例:

create table test1(a number, b clob)
partition by range (a) (partition p1 values less than (1));

select * from dba_indexes where owner = user and table_name = 'TEST1';

--ORA-22864: cannot ALTER or DROP LOB indexes
alter index SYS_IL0000111806C00002$$ initrans 3;
Run Code Online (Sandbox Code Playgroud)

有趣的是,指数DDL看起来很奇怪.下面的代码不会运行 - 索引中没有表达式,括号甚至没有关闭.

select dbms_metadata.get_ddl('INDEX', 'SYS_IL0000111806C00002$$') from dual;

  CREATE UNIQUE …
Run Code Online (Sandbox Code Playgroud)

oracle indexing deadlock blob oracle11gr2

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

标签 统计

blob ×1

deadlock ×1

findbugs ×1

gradle ×1

indexing ×1

oracle ×1

oracle11gr2 ×1