虚拟索引名 */……// 获得创建索引的表的oid……// 对该创建索引的语句进行语法解析……// 新建虚拟索引,该虚拟索引的结构体类型hypoIndex定于位于文件openGauss-server/src/include/dbmind/hypopg_index.h,与索引...
虚拟索引名 */……// 获得创建索引的表的oid……// 对该创建索引的语句进行语法解析……// 新建虚拟索引,该虚拟索引的结构体类型hypoIndex定于位于文件openGauss-server/src/include/dbmind/hypopg_index.h,与索引...
华为openGauss数据库源码解析——Page操作
以keystr为用户加密密钥对...该函数是一个openGauss的存储过程函数,通过用户输入的密文(注明文加密生成的密文)和密钥进行数据的解密操作。通过存储过程的入参解析出需要解密的密文和密钥,并进行脱敏的decode操作。
openGauss采用了多种加密解密技术来提升数据在各个环节的安全性。
其中LIMIT_INITIAL表示处理Limit算子初始化,LIMIT_RESCAN表示重新执行子节点计划,LIMIT_EMPTY表示Limit算子是空集,LIMIT_INWINDOW表示处理窗口函数(在窗口函数内前向和后向移动),LIMIT_SUBPLANEOF表示处理子...
(2) 计算表达式结果。(3) 判断结果中itemIsDone[resind]参数并生成最后的元组。ExecTargetList函数的执行流程如图7-19所示。图7-19 ExecTargetList函数执行流程ExecProject函数的作用是进行投影操作,投影操作是...
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的...
此函数主要根据判断nodeTag所归属的DDL操作类型,进入不同的审计执行逻辑。在每个工作线程初始化阶段把审计模块加载至线程中,其审计的执行原理是把审计函数赋给SQL生命周期不同阶段的Hook(钩子),当线程执行至SQL...
一、事务 事务的定义 事务是数据库操作的执行单位,需要满足最基本的ACID(原子性、一致性、隔离性、持久性)属性。...本章主要介绍openGauss事务模块是如何实现数据库事务的基本属性,使用户数据不丢不错、修改不乱
本系列文章主要目的是记录个人的源码学习过程并总结成文档方便后续翻看,同时也记录OG社区(也可能涉及部分postgres)存在问题的发现场景、定位过程和问题根因做一些分析和讨论。下定决心写这篇文章主要是受到了很多...
审计机制和审计追踪机制能够对用户的日常行为进行记录和分析,实现规避风险、提高安全性。
ACLMASK_ALL表示需要满足待检查权限mode中的所有权限,ACLMASK_ANY表示只需满足待检查权限mode中的一种权限即可。数据库通过查询数据库对象的访问控制列表检查用户对数据库对象的访问权限,数据库对象的ACL保存在...
本章openGauss数据库源码解析系列文章——AI技术部分最后一章,包括“指标采集、预测与异常检测”、“AI查询时间预测”、“DeepSQL”等相关内容的介绍,全文...
函数ExecGrant_Relation用来处理表对象权限的授予或回收操作,入参为InternalGrant类型的变量,存储着授权或回收操作的操作对象信息、被授权者信息和权限信息。将参数avail_goptions传入函数restrict_and_check_...
权限管理是安全管理重要的一环,openGauss权限管理基于访问控制列表(access control list,ACL)实现。
角色的授予或回收通过调用GrantRole函数来实现,该函数只有一个类型为GrantRoleStmt结构的参数。授予角色时,grantee_roles中的角色将被添加到granted_roles,通过调用函数AddRoleMems实现;回收角色时,将grantee_...
角色删除的执行流程为:首先判断当前操作者是否有权限执行该操作,若没有则报错退出;然后检查待删除的角色是否存在,若不存在,则根据missing_ok选择返回ERROR或NOTICE提示信息;再通过扫描系统表pg_authid和pg_...
分布式技术专题+面试解析+相关的手写和学习的笔记pdf还有更多Java笔记分享如下:lay_index | 无 | 结果集 | 显示所有创建的虚拟索引信息 || hypopg_drop_index | 索引的oid | 无 | 删除指定的虚拟索引 || hypopg_...
opengauss安全认证源码解析 一.安全认证概览 opengauss作为安全数据库,可能面临隐私泄露、信息篡改、数据丢失等风险。 为了防止恶意攻击者访问、窃取、篡改和破坏数据库中的数据,阻止未经授权用户通过一些系统的...
在 o ...
本文主要围绕列存储进行学习。列存储是一种数据库表的物理存储格式,与传统的行存储相对。在传统的行存储中,一行数据的各个列值都存储在一起,而在列存储中,表的各个列会被分别存储在不同的数据块中,这样有助于...
hash join 算子的核心思想是通过哈希表将两个表的数据进行分组和关联,以加速连接操作。函数之间的调用关系确保了哈希表的正确构建、匹配和处理。这个算法对于大规模数据连接操作能够提供高效的性能。