Pgjdbc之CopyManager(二)

news/2024/9/18 8:51:47/文章来源:https://www.cnblogs.com/bbban/p/18376603

引入

CopyManager主要用于远程执行数据库的copy命令,主要分为In和Out两方面。

public long copyOut(final String sql, Writer to) 方法开始:

解析

流程

新建一个copyOut,不断读取后端传过来的数据,写到Writer流里。

内部实现
cp = copyOut(sql);

关注一下CopyOperation op = queryExecutor.startCopy(sql, connection.getAutoCommit())的实现:

忽略有关事务的判断部分,关注功能实现:

'Q':Identifies the message as a simple query.

由发送的消息格式可以看出,这部分将该sql以简单查询的格式发出了。

向下看一下:processCopyResults(null, true)部分,该方法在上一篇记录里看过,此部分正常应该进入该判断逻辑中:

与上一篇记录的逻辑一致,剩余的消息在初始化方法中接收,最终执行效果和上篇记录相似:

buf = cp.readFromCopy()

该部分最终的功能执行代码为:

'd':Identifies the message as data.COPY,前后端都可以使用该功能

op.handleCopydata(buf);将该数据放入了op的属性里,该属性:

cp.cancelCopy();

同上篇

总结

同上篇逻辑类似,未细说逻辑

补充


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/786168.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云OSS上传图片报错

此类故障是https的问题,基本设置那里要改成https开头的域名,还有就是插件里也要对应起来 阿里云OSS上传图片时如果出现报错,通常有几种可能的原因及解决方法:权限问题:错误代码 AccessDenied 表示没有足够的权限访问对象或执行操作。 解决方法:登录到阿里云控制台,在RAM…

当网站配置好https协议之后 全站url http怎么跳转到https

如果是apache环境,在站点根目录下 .htaccess 文件里新增以下代码,具体位置请看参考下图:# http跳转到httpsRewriteCond %{SERVER_PORT} !^443$RewriteRule ^(.*)$ https://www.xxxxx.cn/$1 [LR=301] 当网站配置好了 HTTPS 协议之后,为了保证网站的安全性和统一性,通常会将…

windows下安装es与elasticsearch报错

发现网上很少关于windows安装elastic search的文章,所以本人结合一天的报错,解决问题的过程,写一下这篇文章,希望对大家有用,有帮助的话请点一个免费的赞,谢谢。安装es 下载:点击https://www.elastic.co/cn/downloads/elasticsearch --> 点击View past releases --&g…

[2027届]NOIP2024模拟赛#5

lalala%%% Larunatrecy 比赛链接 榜:打得还行吧。 T1 光理解题意就看了10min,理解以后写了写有手就行的暴力。 赛后发现输出 -1 能多拿10分,惨痛错过呜呜呜。 正解的话,我们给每个节点定义两个指标:\(a:\) 即使加入一条入边也依旧存在一种合法的 \(W\)。 \(b:\) 即使加入一…

nRF54H20开发板开箱测评

今天收到了Nordic最新的旗舰级BLE芯片 nRF54H20的开发板,做一个简单的开箱测评。包装简洁使用了牛皮纸盒,十分符合北欧人的环保理念(手动狗头)。 一、nRF54H20开发板概览打开包装之后里面是用防静电袋包装的开发板和NFC天线。 nRF54H20开发板在Nordic开发板家族中的代号是…

zblog免费插件分享前端代码支持一键复制

zblog默认的代码文件在网页前端是不支持一键复制的,这会让访客复制长代码的时候不太方便,甚至有可能会出错,影响体验,下面分享一个非常简单的免费插件,安装之后,前端代码就能一键复制了。 插件使用方法: 1、点击最下方链接下载插件 2、打开zblog后台,在插件管理里面上传…

6-SoftMax回归

https://blog.csdn.net/qq_43799400/article/details/131202148 写代码遇到问题 1、使用data.DataLoader时如果使用多进程num_workers,会报错其原因可能是https://blog.csdn.net/KaelCui/article/details/106184158 2、loss的backward 注意backward只能对标量,而不是对张量。 …

浅谈C#中的值类型和引用类型

1. 值类型常见的值类型:int/long/short/byte/float/double/bool/char/Struct(用户建立的结构体通常是值类型的)/Nullable Types(这是一个特殊的值类型,表示一个正常值或者空,比如int?) 值类型的例子:int a=10; int b=a;Console.WriteLine($"a:{a}");//a:10 Co…

图解Kafka:Kafka架构演化与升级!

了解了 Kafka 架构就掌握了 Kafka 最核心的知识,Kafka 作为业界最知名、最流行的消息系统和流式处理组件,在面试中和日常工作中经常会见到。那么今天,我们就来聊聊 Kafka 的架构演化与升级,并通过图解的方式让你一目了然。 1.Kafka 初印象 Kafka 最初由 LinkedIn 公司开发,…

Nginx配置SSL证书:轻松实现网站的HTTPS加密!

成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问Nginx服务器。一、准备材料 SSL证书绑定的域名已完成DNS解析,即您的域名与主机IP地址相互映射。您可以通过DNS验证证书工具,检测域名DNS解析是否生效。具体操作: 【1】登录数字证书管理服务控制台。 【2】在左侧导航栏…

为什么通过clear_refs可以使进程触发缺页?

平台 ARM64 Linux 6.10 作者 pengdonglin137@163.com 背景 最近在学习Linux的缺页异常时突然奇想,在不进行内存换出的情况下,如何让进程再次触发缺页? 基于对ARMv8的理解,它的MMU的页表项中有个AF位,当AF为0时,当访问到对应的虚拟页时,会触发缺页。如果AF位为0,当访问到…

复选框单选

const lastDataHandle = ref(null); // 上次选择的dataHandle值 const dataHandle: any = ref([]); const dataHandleALLList = [{ label: 无, value: 0 },{ label: 上传照片, value: 1 },{ label: 二维建模, value: 2 }, ]; // 单选 function setLastDataHandle() {lastDataHa…