GBase 8c B兼容库概要说明(一)

原文链接:
https://www.gbase.cn/community/post/4004
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

GBase 8c具有强大且丰富的插件功能,其中支持dolphin Extension Reference,是GBase 8c的MySQL兼容性数据库扩展(dbcompatibility='B',下文称为B兼容库),从关键字、数据类型、常量与宏、函数和操作符、表达式、类型转换、DDL/DML/DCL语法、存储过程/自定义函数、系统视图等方面增强MySQL兼容性。

dolphin插件继承内核原有SQL语法。本文浅浅介绍下对于内核语法新增/修改的内容。

安装及使用限制

Dolphin使用

插件自动安装加载,无须手动安装加载。

(1)安装GBase8c。

(2)创建B库并使用初始用户连接B库即可,Dophin插件默认启用。

create database dbname with DBCOMPATIBILITY='B';
\q
$gsql -d dbname -p 15400 -U gbase
dolphin使用限制
  • 不支持小型化版本。
  • 不支持删除dolphin插件。
  • dolphin插件只能在B兼容性数据库下创建。
  • dolphin插件需要在pg_catalog等schema下创建数据类型、函数等,所以加载dolphin插件需要初始用户权限。GBase8c将在第一次通过初始用户或拥有初始用户权限的用户连接B数据库时自动加载dolphin插件。如果一个B兼容性数据库从来没有被初始用户或拥有初始用户权限的用户连接过,那么它也不会加载dolphin插件。
  • dolphin中所有新增/修改的语法不支持在gsql客户端通过\h查看帮助说明,不支持在gsql客户端自动补齐。
  • dolphin插件的创建会删除数据库存在的插件所需的同名函数和类型以及之前存在的与之依赖的对象。
  • dolphin插件依赖于publicschema,因此不支持使用dropschema的方式删除publicschema。
  • 连接安装有dolphin插件的B兼容性数据库时,会默认修改GUC参数behavior_compat_options,增加display_leading_zero和select_into_return_null选项,以保持兼容性。
关键字语法介绍

SQL里有保留字和非保留字之分。根据标准,保留字决不能用做其他标识符。非保留字只是在特定的环境里有特殊的含义,而在其他环境里是可以用做标识符的。标识符的命名需要遵守如下规范:

  • 标识符需要为字母、下划线、数字(0-9)或美元符号($)。
  • 标识符必须以字母(a-z)或下划线(_)开头。

说明

此命名规范为建议项,非强制项。

特殊情况下可以使用双引号或者反引号(`)规避特殊字符报错。

  • 相比于GBase8c原生语法,dolphin对于关键字的修改主要为:
    新增MEDIUMINT,作为非保留关键字。
    关键字DATE可以作为函数使用。
    新增LAST_DAY,作为保留关键字,用于在语法层面区别GBase8c原有LAST_DAY函数和dolphin中LAST_DAY函数。
    新增GET_FORMAT,作为非保留关键字,用于在语法上识别GET_FORMAT函数。
    新增DAY_HOUR,DAY_MINUTE,DAY_SECOND,DAY_MICROSECOND,HOUR_MINUTE,HOUR_SECOND,HOUR_MICROSECOND,MINUTE_SECOND,MINUTE_MICROSECOND,SECOND_MICROSECOND,作为非保留关键字,用于EXTRACT函数在语法上识别对应单位。
    改变关键字AUTHID等级,由RESERVED_KEYWORD变为COL_NAME_KEYWORD,使其可以作为表名列名使用。
    改变关键字BODY等级,由UNRESERVED_KEYWORD变为RESERVED_KEYWORD。
    新增DUAL,作为保留关键字。

示例

(1)创建具有FIXED(p,s),FIXED,decimal,number类型数据的表。

CREATE TABLE dec_type_t1
(
DEC_COL1 FIXED,
DEC_COL2 FIXED(20,5),
DEC_COL3 DECIMAL,
DEC_COL4 NUMBER
);

(2)查看表结构。

\d dec_type_t1

返回结果为:

Table"public.dec_type_t1"
Column | Type | Modifiers
----------+---------------+-----------
DEC_COL1|numeric(10,0)|
DEC_COL2|numeric(20,5)|
DEC_COL3|numeric(10,0)|
DEC_COL4|numeric|

原文链接:
https://www.gbase.cn/community/post/4004
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

 

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值