自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(383)
  • 资源 (1)
  • 收藏
  • 关注

原创 GBase 8c执行计划关键字(一)

优化器决定使用两步的规划:最底层的规划节点访问一个索引,找出匹配索引条件的行的位置,然后上层规划节点真实地从表中抓取出那些行。使用两层规划的原因是,上层规划节点在读取索引标识出来的行位置之前,会先将它们按照物理位置排序,这样可以最小化独立抓取的开销。使用简单索引搜索,该方式表的数据行是以索引顺序抓取的,这样就令读取它们的开销更大,但是这里的行少得可怜,因此对行位置的额外排序并不值得。如果在WHERE里面使用的好几个字段上都有索引,那么优化器可能会使用索引的AND或OR的组合。使用位图索引抓取数据页。

2022-10-27 14:38:33 370

原创 GBase 8c libpq控制函数

数据库连接控制函数控制与数据库服务器链接的事情。一个应用程序一次可以与多个服务器建立链接,如一个客户端链接多个数据库的场景。每个链接都是用一个从函数PQconnectdb、PQconnectdbParams或PQsetdbLogin获得的PGconn对象表示。注意,这些函数总是返回一个非空的对象指针,除非内存分配失败,会返回一个空的指针。链接建立的接口保存在PGconn对象中,可以调用PQstatus函数来检查一下返回值看看连接是否成功。

2022-10-26 14:40:57 230

原创 GBase 8c ODBC函数(七)

使用参数的当前值,执行一条准备好的语句。对于一次只执行一条SQL语句,SQLExecDirect是最快的执行方式。语句句柄,通过SQLAllocHandle获得。要执行的SQL语句。不支持一次执行多条语句。SQLExecDirect 参数。StatementText的长度。

2022-10-26 14:27:43 211

原创 GBase 8c ODBC函数(六)

连接句柄,通过SQLAllocHandle获得。关闭一个与特定连接句柄相关的连接。SQLDisconnect 参数。

2022-10-26 14:02:40 208

原创 GBase 8c ODBC函数(五)

在驱动程序和数据源之间建立连接。连接上数据源之后,可以通过连接句柄访问到所有有关连接数据源的信息,包括程序运行状态、事务处理状态和错误信息。连接句柄,通过SQLAllocHandle获得。Authentication的长度。SQLConnect 参数。ServerName的长度。UserName的长度。数据源中数据库用户密码。数据源中数据库用户名。要连接数据源的名称。

2022-10-26 14:01:26 527

原创 GBase 8c ODBC函数(四)

输出参数:缓冲区指针,存放*CharacterAttributePtr中字符 类型数据的字节总数,对于非字符类型,忽略BufferLength 的值。输出参数:一个缓冲区指针,返回FieldIdentifier字段值。ColumnNumber行FieldIdentifier字段的值。输出参数:指向一个整型缓冲区的指针,返回IRD中。IRD中ColumnNumber行的字段。SQLColAttribute 参数。要检索字段的列号,起始为1,依次递增。返回结果集中一列的描述符信息。

2022-10-26 13:55:53 279

原创 GBase 8c ODBC函数(三)

ParameterValuePtr指向缓冲区的长度,以字节为单位。缓冲区的长度或指示器指针。若为空值,则未使用任何长度或指示器值。将一条SQL语句中的一个参数标志和一个缓冲区绑定起来。SQLBindParameter 参数。列的十进制数字或相应参数标记的表达式。列的大小或相应参数标记的表达式。参数序号,起始为1,依次递增。指向存储参数数据缓冲区的指针。参数的SQL数据类型。

2022-10-26 13:52:19 258

原创 GBase 8c ODBC接口函数(二)

输出参数:指向与列绑定的数据缓冲区的指针。SQLFetch函数返回这个缓冲区中的数据。如果此参数为一个空指针,则StrLen_or_IndPtr是一个有效值。要绑定结果集的列号。起始列号为0,以递增的顺序计算列号, 第0列是书签列。若未设置书签页,则起始列号为1。输出参数:缓冲区的长度或指示器指针。若为空值,则未使用任何长度或指示器值。TargetValuePtr指向缓冲区的长度,以字节为单位。将应用程序数据缓冲区绑定到结果集的列中。缓冲区中C数据类型的标识符。SQLBindCol 参数。

2022-10-26 11:25:44 191

原创 GBase 8c ODBC函数(一)

分配环境、连接、语句或描述符的句柄,它替代了ODBC 2.x函数SQLAllocEnv、SQLAllocConnect及SQLAllocStmt。申请句柄顺序为,先申请环境句柄,再申请连接句柄,最后申请语句句柄,后申请的句柄都要依赖它前面申请的句柄。输出参数:一个缓冲区的指针,此缓冲区以新分配的数据结构存放返回的句柄。由SQLAllocHandle分配的句柄类型。SQLAllocHandle 参数。将要分配的新句柄的类型。

2022-10-26 11:24:06 266

原创 GBase 8c匿名块语法格式

本文简介GBase 8c匿名块语法格式

2022-10-26 09:50:20 95

原创 GBase 8c BULK COLLECT INTO子句

将存储过程内语句返回的值存储到变量内,BULK COLLECT INTO允许将部分或全部返回值暂存到数组内部。

2022-10-26 09:46:45 107

原创 GBase 8c变量作用域

变量的作用域表示变量在代码块中的可访问性和可用性。只有在它的作用域内,变量才有效。

2022-10-25 16:28:33 145

原创 GBase 8c 基本语句

尽量不要在存储过程中调用包含密码的SQL语句,因为存储在数据库中的存储过程文本可能被其他有权限的用户看到导致密码信息被泄漏。如果存储过程中包含其他敏感信息也需要配置存储过程的访问权限,保证敏感信息不会泄漏。在编写PL/SQL过程中,会定义一些变量,给变量赋值,调用其他存储过程等。PL/SQL中的基本语句,包括定义变量、赋值语句、调用语句以及返回语句。

2022-10-25 16:27:28 120

原创 GBase 8c PL/SQL语法结构

PL/SQL块中可以包含子块,子块可以位于PL/SQL中任何部分。

2022-10-25 16:20:07 89

原创 GBase 8c PL/SQL块

匿名块(Anonymous Block)一般用于不频繁执行的脚本或不重复进行的活动。它们在一个会话中执行,并不被存储。存储在数据库中的存储过程、函数、操作符和高级包等。当在数据库上建立好后,可以在其他程序中调用它们。

2022-10-25 16:16:04 98

原创 GBase 8c集合类型的使用

在存储过程中紧跟AS关键字后面定义集合类型。在使用集合之前,需要自定义一个集合类型。

2022-10-25 15:18:05 78

原创 GBase 8c数据类型的使用

GBase 8c支持使用圆括号来访问数组元素,且还支持一些特有的函数,如extend、count、first、last、prior、exists、 trim、next、delete来访问数组的内容。在存储过程中紧跟AS关键字后面定义数组类型。在使用数组之前,需要自定义一个数组类型。

2022-10-25 15:16:47 314

原创 GBase 8c数据类型转换

数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GBase 8c提供的类型转换函 数,例如CAST进行数据类型强转。GBase 8c数据库常见的隐式类型转换,请参见下表。原数据不能超出合法日期范围。原数据不能超出合法日期范围。原数据必须由数字组成。原数据必须由数字组成。原数据必须由数字组成。表1 隐式类型转换表。

2022-10-25 15:14:58 333

原创 GBase 8c数据类型

数据类型是一组值的集合以及定义在这个值集上的一组操作。GBase 8c数据库是由表的集合组成的,而各表中的列定义了该表,每一列都属于一种数据类型, GBase 8c根据数据类型有相应函数对其内容进行操作,例如GBase 8c可对数值型 数据进行加、减、乘、除操作。

2022-10-25 15:13:30 161

原创 GBase 8c存储过程

PL/pgSQL语言函数节所提到的PL/pgSQL语言创建的函数与存储过程的应用方法相通。下面各节中,除非特别声明,否则内容通用于存储过程和PL/pgSQL语言函数。存储过程是SQL和PL/SQL的组合。存储过程使执行商业规则的代码可以从应用程序中移动到数据库。从而,代码存储一次能够被多个程序使用。商业规则和业务逻辑可以通过程序存储在GBase 8c中,这个程序就是存储过程。存储过程的创建及调用办法请参考 CREATE PROCEDURE。

2022-10-25 15:10:39 251

原创 GBase 8c日志管理(三)

默认的Java日志记录框架将其配置存储在名为logging.properties的文件中。Java会在Java安装目录的文件夹中安装全局配置文件。logging.properties文件也可以创建并与单个项目一起存储。GBase 8c数据库中日志管理的方式之二:对接应用程序使用的JdkLogger日志框架。指定处理程序为文件。指定默认全局日志级别。指定日志输出管控标准。

2022-10-21 10:30:10 177

原创 GBase 8c日志管理(二)

若采用Log4j2实现SLF4J,需要添加如下jar包:log4j-api-*.jar、log4j-core-*.jar、log4j-slf4j18-impl-*.jar、slf4j-api-*-alpha1.jar(*区分版本),和配 置文件:log4j2.xml。此方式支持日志管控。SLF4J可通过文件中的相关配置实现强大的日志管控功能,建议使用此方式进行日志管理。可采用Log4j或Log4j2来实现SLF4J。GBase 8c数据库中日志管理的方式之一:对接应用程序的SLF4J日志框架。

2022-10-21 10:28:51 157

原创 GBase 8c日志管理(一)

GBase 8c JDBC驱动程序支持使用日志记录,来帮助解决在应用程序中使用JDBC驱动程序时的问题。

2022-10-21 10:27:00 135

原创 GBase 8c获取结果集中的数据

ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用的方法如表1所示,其他方法请参考JDK官方文档。ResultSet 对象的常用方法。按列标获取String型数据。按列名获取String型数据。按列名获取Date型数据。按列标获取int型数据。按列名获取int型数据。按列标获取Date型数据。

2022-10-21 10:25:05 431

原创 GBase 8c 获取结果集光标的位置

对于可滚动的结果集,可能会调用定位方法来改变光标的位置。JDBC驱动程序提供了获取结果集中光标所处位置的方法。获取光标位置的方法如表1所示。获取结果集光标的位置。是否在最后一行之后。

2022-10-21 10:21:24 75

原创 GBase 8c在结果集中定位方法

但对于可滚动的结果集,JDBC驱动程序提供更多的定位方法,使ResultSet指向特定的行。定位方法如表1所示。通过设置为1向前(设置为1,相当于next())或者向后(设置为-1,相当于previous())移动参数指定的行。把ResultSet移动到参数指定的行数。把ResultSet定位到最后一行之后。把ResultSet定位到第一行之前。把ResultSet定位到最后一行。把ResultSet向下移动一行。把ResultSet向上移动一行。把ResultSet定位到第一行。在结果集中定位的方法。

2022-10-21 10:14:40 248

原创 GBase 8c结果集类型

ResultSet.TYPE_SCROLL_SENSITIVE,也不会看到由其他事务在这之后引起的改变。调用ResultSet的refreshRow()方法,可进入数据库并从其中取得当前游标所指记录的最新数据。结果集从数据库中读取了数据之后,即使类型是。

2022-10-21 10:13:24 283

原创 GBase 8c设置结果集类型

不同类型的结果集有各自的应用场景,应用程序需要根据实际情况选择相应的结果集类型。在执行SQL语句过程中,都需要先创建相应的语句对象,而部分创建语句对象的方法提供了设置结果集类型的功能。具体的参数设置如表6-3所示。对象,该对象将生成具有给定类型和并发性的。对象,该对象将生成具有给定类型和并发性的。对象,该对象将生成具有给定类型和并发性的。

2022-10-21 10:12:22 53

原创 GBase 8c分区表

分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储。这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。GBase 8c数据库支持的分区表为范围分区表、间隔分区表、列表分区表、哈希分区表。

2022-10-21 10:10:40 421

原创 GBase 8c局部聚簇

局部聚簇(Partial Cluster Key)是列存下的一种技术。这种技术可以通过min/max稀疏索引较快的实现基表扫描的filter过滤。Partial Cluster Key可以指定多列,但是一般不建议超过2列。

2022-10-21 10:08:58 193

原创 GBase 8c系统表之CREATE_SNAPSHOT

CREATE_SNAPSHOT是DB4AI特性用于创建快照的接口函数。通过语法CREATE SNAPSHOT调用。快照存储的模式名字,默认值是当前用户或者PUBLIC。定义数据获取的SQL命令。

2022-10-18 16:46:42 153

原创 GBase 8c 系统表之DB4AI.SNAPSHOT

初始快照的ID,通过db4ai.create_snapshot()从操作数据构建。SNAPSHOT表记录当前用户通过特性DB4AI.SNAPSHOT存储的快照。记录如何从其根快照生成到此快照的SQL语句的完整列表。CSS模式下快照的矩阵ID,否则为NULL。TRUE,当且仅当快照当前已发布。TRUE,当且仅当快照当前已存档。快照的名称,包括版本后缀。创建此快照的用户的名称。快照创建日期的时间戳。导出快照视图的模式。此快照中的数据行数。

2022-10-18 16:45:04 251

原创 GBase 8c订阅(一)

订阅是逻辑复制的下游端。订阅被定义在其中的节点被称为订阅者。一个订阅会定义到另一个数据库的连接以及它想要订阅的发布集合(一个或者多个)。如果需要,一个订阅者节点可以有多个订阅。可以在一对发布者-订阅者之间定义多个订阅,在这种情况下要确保被订阅的发布对象不会重叠。订阅者数据库的行为与任何其他GBase 8c实例相同,并且可以被用作其他数据库的发布者,只需要定义它自己的发布。每一个订阅都将通过一个复制槽接收更改。预先存在的表的初始数据暂时不支持同步。

2022-10-18 16:43:50 110

原创 GBase 8c 发布(三)

表可以使用ALTER PUBLICATION动态地增加或者移除。ADD TABLE以及DROP TABLE操作都是事务性的,因此一旦该事务提交,该表将以正确的快照开始或者停止复制。Publication通过使用CREATE PUBLICATION命令创建并且可以在之后使用相应的命令进行修改或者删除。每一个发布都可以有多个订阅者。

2022-10-18 16:42:54 48

原创 GBase 8c发布(二)

为了能够复制UPDATE和DELETE操作,被发布的表必须配置有一个“复制标识”,这样在订阅者那一端才能标识对于更新或删除合适的行。默认情况下,复制标识就是主键(如果有主键)。如果表没有合适的键,那么可以设置成复制标识“full”,它表示整个行都成为那个键。如果在发布者端设置了“full”之外的复制标识,在订阅者端也必须设置一个复制标识,它应该由相同的或者少一些的列组成。如果在复制UPDATE或DELETE操作的发布中加入了没有复制标识的表,那么订阅者上后续的UPDATE或DELETE操作将导致错误。

2022-10-18 16:41:46 57

原创 GBase 8c发布(一)

发布可以被定义在任何物理复制的主服务器上。定义有发布的节点被称为发布者。发布是从一个表或者一组表生成的改变的集合,也可以被描述为更改集合或者复制集合。发布与模式不同,不会影响表的访问方式。如果需要,每个表都可以被加入到多个发布。当前,发布只能包含表。对象必须被明确地加入到发布,除非发布是用ALL TABLES创建的。发布可以选择把它们产生的更改限制为INSERT、UPDATE、DELETE的任意组合,类似于触发器如何被特定事件类型触发的方式。默认情况下,所有操作类型都会被复制。

2022-10-18 16:40:30 67

原创 GBase 8c发布订阅

订阅者数据库的行为与任何其他GBase 8c实例相同,并且可以被用作其他数据库的发布者,只需要定义它自己的发布。当订阅者被应用当作只读时,单一的订阅中不会有冲突。在另一方面,如果应用或者对相同表集合的订阅者执行了其他的写动作,冲突可能会发生。订阅者以与发布者相同的顺序应用那些数据,这样在一个订阅中能够保证发布的事务一致性。发布和订阅基于逻辑复制实现,其中有一个或者更多订阅者订阅一个发布者节点上的一个或者更多发布。在一个数据库或者一个数据库的子集中发生更改时,把增量的改变发送给订阅者。

2022-10-18 16:39:04 113

原创 GBase 8c逻辑复制

逻辑复制由两部分组成:逻辑解码和数据复制。逻辑解码会输出以事务为单位组织的逻辑日志。GBase 8c当前只提供逻辑解码功能,因此本章节只涉及逻辑解码的说明。由于逻辑日志是以事务为单位的,在事务提交后才能输出,且逻辑解码是由用户驱动的;因此为了防止事务开始时的xlog被系统回收,或所需的事务信息被VACUUM回收,GBase 8c新增了逻辑复制槽,用于阻塞xlog的回收。逻辑解码为逻辑复制提供事务解码的基础能力,GBase 8c使用SQL函数接口进行逻辑解码。逻辑复制槽,由每个逻辑日志的获取者维护一个。

2022-10-18 16:37:22 179

原创 GBase 8c逻辑解码功能概述

GBase 8c提供了逻辑解码功能,通过反解xlog的方式生成逻辑日志。目标数据库解析逻辑日志以实时进行数据复制。逻辑复制降低了对目标数据库的形态限制,支持异构数据库、同构异形数据库对数据的同步,支持目标库进行数据同步期间的数据可读写,数据同步时延低。支持通过数据迁移工具定期向异构数据库(如Oracle等)进行数据同步,不具备实时数据复制能力。不足以支撑与异构数据库间并网运行实时数据同步的诉求。

2022-10-18 16:36:27 141

原创 GBase 8c 系统表之GS_AUDITING_POLICY

GS_AUDITING_POLICY系统表记录统一审计的主体信息,每条记录对应一个设计策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。策略描述字段,记录策略相关的描述信息,通过COMMENTS关键字体现。行标识符(隐含属性,必须明确选择)。策略名称,需要唯一,不可重复。策略创建或修改的最新时间戳。用来表示策略启动开关。

2022-10-18 16:35:04 92

仿真工具,用于电路构建、软件调试的仿真以及PCB的设计和制作。

仿真工具,用于电路构建、软件调试的仿真以及PCB的设计和制作。

2022-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除