plugins - SQL Developer 的编辑器扩展

标签 plugins oracle-sqldeveloper jdeveloper

我正在尝试为 Oracle SQL Developer 编写一个(编辑器)扩展。我在查找相关信息时遇到了困难,但我从找到的一些教程和博客文章中将以下内容拼凑在一起:

<?xml version="1.0" encoding="UTF-8"?>
<displays>
    <display enable="true" objectType="SEQUENCE" style="null" type="editor">
        <name><![CDATA[Details]]></name>
        <query>
            <sql>
                <![CDATA[
SELECT 'sequence_name' AS "NAME", sequence_name AS "VALUE" FROM :NAME
UNION
SELECT 'last_value' AS "NAME", CAST(last_value AS text) AS "VALUE" FROM :NAME
UNION
SELECT 'start_value' AS "NAME", CAST(start_value AS text) AS "VALUE" FROM :NAME
UNION
SELECT 'increment_by' AS "NAME", CAST(increment_by AS text) AS "VALUE" FROM :NAME
UNION
SELECT 'max_value' AS "NAME", CAST(max_value AS text) AS "VALUE" FROM :NAME
UNION
SELECT 'min_value' AS "NAME", CAST(min_value AS text) AS "VALUE" FROM :NAME
UNION
SELECT 'cache_value' AS "NAME", CAST(cache_value AS text) AS "VALUE" FROM :NAME
UNION
SELECT 'log_cnt' AS "NAME", CAST(log_cnt AS text) "VALUE" FROM :NAME
UNION
SELECT 'is_cycled' AS "NAME", CAST(is_cycled AS text) AS "VALUE" FROM :NAME
UNION
SELECT 'is_called' AS "NAME", CAST(is_called AS text) AS "VALUE" FROM :NAME
                ]]>
            </sql>
        </query>
        <CustomValues>
            <TYPE>vertical</TYPE>
        </CustomValues>
    </display>
</displays>

这是可行的,因为 Oracle 数据库连接上的序列确实会显示额外的选项卡。但是,它们不会显示 Postgres 数据库连接。为了使序列甚至显示在 SQL Dev 的 pg 数据库中,我必须使用第二个扩展脚本:

<?xml version="1.0" encoding="windows-1252" ?>
<navigator RESOURCE_FILE="oracle.dbtools.raptor.navigator.OracleNavigatorResource" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="navigator.xsd">
    <objectType connType="PostgreSQL" id="SEQUENCE" includesSyns="true" weight="100.0">
        <folder>
            <icon RSKEY="SEQUENCE_FOLDER_ICON"/>
            <label RSKEY="Sequences"/>
            <queries>
                <query minversion="8">
                    <sql constrained="true"><![CDATA[SELECT relname, nspname FROM pg_class JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE relkind = 'S' AND nspname = :SCHEMA]]></sql>
                </query>
                <columns>
                    <column filterable="true" id="SEQUENCENAME" sortable="true">
                        <colName><![CDATA[relname]]></colName>
                    </column>
                    <column filterable="true" id="NAME" sortable="true">
                        <colName><![CDATA[relname]]></colName>
                    </column>
                </columns>
            </queries>
        </folder>
        <node>
            <icon RSKEY="OracleIcons.SEQUENCE"/>
        </node>
    </objectType>
</navigator>

有没有办法指定此扩展仅适用于 Postgres 序列,而不适用于 Oracle 序列?

最佳答案

这里的正确答案似乎是在显示元素中有一个 connType="PostgreSQL" 属性。这限制了它只能用于 Postgres 序列。这是反复试验,我找不到 editor.xsd,而且 Oracle 似乎没有提供它。

关于plugins - SQL Developer 的编辑器扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20890213/

相关文章:

oracle - 将参数附加到表名会删除点运算符

sql - 立即执行并抛出变量错误 ORA-00936 : missing expression

java - 自定义库未部署到 WLS jDeveloper

javascript - 检查表格列是否有空单元格

sql - 使用格式从 sql 开发人员复制查询

java - 甲骨文 MAF : Supports for Web application?

c - 使用 dlopen() 对象时确定调用对象

android - 如何在 Android 上运行外部的、已下载但未安装的应用程序?

javascript - Chart.js 插件注释线阴影

git - MobaXterm 和 GIT 插件