一、类调用

简介:calcite可以连接各数据源,做查询。可以收口查询权限,查询多引擎需求

二、 获取Connection发送的请求

请求介绍文档:https://calcite.apache.org/avatica/docs/json_reference.html#closeconnectionrequest

第一个请求:openConnection
Connection connection = DriverManager.getConnection(url, properties);
{"request":"openConnection","connectionId":"17810271-59a0-4ae1-a764-073be9048ebd","info":{"password":"自定义密码","appId":"651544823162880","user":"自定义账号"}}
{"response":"openConnection","rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-aa:5888"}}
第二个请求:connectionSync
{"request":"connectionSync",
"connectionId":"17810271-59a0-4ae1-a764-073be9048ebd",
"connProps":{"connProps":"connPropsImpl","autoCommit":null,"readOnly":null,"transactionIsolation":null,"catalog":null,"schema":null,"dirty":true}
}
{"response":"connectionSync",
"connProps":{"connProps":"connPropsImpl","autoCommit":null,"readOnly":null,"transactionIsolation":null,"catalog":null,"schema":null,"dirty":false},
"rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-服务器:5888"}
}

Statement pS = connection.createStatement();

{"request":"createStatement","connectionId":"17810271-59a0-4ae1-a764-073be9048ebd"}
{"response":"createStatement",
"connectionId":"56965299-f5ba-4424-bb6e-b57f1f703658",
"statementId":1473,
"rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-服务器:5888"}
}
pS.executeQuery(sql);
{"request":"prepareAndExecute",
"connectionId":"17810271-59a0-4ae1-a764-073be9048ebd",
"statementId":1479,
"sql":"SELECT * FROM dw.dwd_表名 limit 10",
"maxRowsInFirstFrame":-1,
"maxRowCount":-1
}
{
"response": "executeResults",
"missingStatement": false,
"rpcMetadata": {
"response": "rpcMetadata",
"serverAddress": "tx-bj-服务器:5888"
},
"results": [{
"response": "resultSet",
"connectionId": "17810271-59a0-4ae1-a764-073be9048ebd",
"statementId": 1479,
"ownStatement": true,
"signature": {
"columns": [{
"ordinal": 0,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "md5_log",
"columnName": "md5_log",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}, {
"ordinal": 1,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "biz_type",
"columnName": "biz_type",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}, {
"ordinal": 2,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "client_type",
"columnName": "client_type",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}, {
"ordinal": 3,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "biz_name",
"columnName": "biz_name",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}, {
"ordinal": 4,
"autoIncrement": false,
"caseSensitive": false,
"searchable": true,
"currency": false,
"nullable": 2,
"signed": false,
"displaySize": 2147483647,
"label": "env",
"columnName": "env",
"schemaName": "",
"precision": 2147483647,
"scale": 0,
"tableName": "",
"catalogName": "",
"type": {
"type": "scalar",
"id": 12,
"name": "varchar",
"rep": "STRING"
},
"readOnly": true,
"writable": false,
"definitelyWritable": false,
"columnClassName": "java.lang.String"
}],
"sql": null,
"parameters": [],
"cursorFactory": {
"style": "LIST",
"clazz": null,
"fieldNames": null
},
"statementType": null
},
"firstFrame": {
"offset": 0,
"done": true,
"rows": [
["fb7e61aea7190331d8cebc9d35162327", "7", "1", "gggggg", "0", "2.1.4", "1656791999000", "1656791999213", "12333333333333", "-1", "7983397615961344", "7983397615961344", "113.110.110.110", "阿萨德", "南方", "仓储", "联通"],
["f5d24107070b403b83fdd4a92cd5de33", "1", "5", "hhhhhh", "1", "2.0.5", "1656792000000", "1656792000357", "45666666666666", "-1", "-1", "-1", "110.110.110.241", "中国", "是是是", "", "阿萨德"]
]
},
"updateCount": -1,
"rpcMetadata": {
"response": "rpcMetadata",
"serverAddress": "tx-bj-服务器"
}
}]
}
pS.close();
{"request":"closeStatement","connectionId":"17810271-59a0-4ae1-a764-073be9048ebd","statementId":1479}
{"response":"closeStatement",
"rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-bdg-服务器:5888"}}
 
connection.close();
{"request":"closeConnection","connectionId":"17810271-59a0-4ae1-a764-073be9048ebd"}
{"response":"closeConnection",
"rpcMetadata":{"response":"rpcMetadata","serverAddress":"tx-bj-服务器:5888"}}

Calcite 获取jdbc连接流程的更多相关文章

  1. 单例模式获取JDBC连接

    package com.jdbc.test; import java.io.IOException; import java.io.InputStream; import java.sql.Conne ...

  2. JDBC连接流程

    ConectionFactory cf = new ConectionFactory();//创建数据库连接Connection con = cf.getConection();//打开水数据库的连接 ...

  3. 获取OlapConnection连接

    目录: 1.获取org.olap4j.OlapConnection对象 2.获取mondrian.olap.Connection对象 一.org.olap4j.OlapConnection对象 说明: ...

  4. JDBC连接抽象方法的使用例子

    package com.zdlt.auth.api.base.datasource; import java.sql.*; import java.util.ArrayList; import jav ...

  5. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  6. JDBC连接MySQL数据库及示例

      JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一 ...

  7. JAVA采用JDBC连接操作数据库详解

    JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...

  8. jdbc连接sql数据库

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  9. Java使用JDBC连接Hive

    最近一段时间,处理过一个问题,那就是hive jdbc的连接问题,其实也不是大问题,就是url写的不对,导致无法连接.问题在于HiveServer2增加了别的安全验证,导致正常的情况下,传递的参数无法 ...

  10. 线程池-连接池-JDBC实例-JDBC连接池技术

    线程池和连接池   线程池的原理:     来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客 ...

随机推荐

  1. vue父组件向子组件传递一个对象,使用一个对象绑定多个 prop

    如果你想要将一个对象的所有属性都当作 props 传入,你可以使用没有参数的 v-bind,即只使用 v-bind 而非 :prop-name.例如,这里有一个 post 对象: export def ...

  2. Mybatis【12】-- Mybatis多条件怎么查询?

    很多时候,我们需要传入多个参数给sql语句接收,但是如果这些参数整体不是一个对象,那么我们应该怎么做呢?这里有两种解决方案,仅供参考. 1.将多个参数封装成为Map 测试接口,我们传入一个Map,里面 ...

  3. GIT 使用SSH 方式提交代码

    1.需求 一般情况下,我们在提交代码的时候,使用 HTTP的方式提交代码,这种方式有一个问题,提交时需要输入账号和密码,这个就不是很安全,git 提供了 SSH的方式. 下面就实际操作一下如何使用ss ...

  4. ClickHouse 物化视图学习总结

    物化视图 物化视图源表--基础数据源 创建源表,因为我们的目标涉及报告聚合数据而不是单条记录,所以我们可以解析它,将信息传递给物化视图,并丢弃实际传入的数据.这符合我们的目标并节省了存储空间,因此我们 ...

  5. ksmbd 条件竞争漏洞挖掘:思路与案例

    ksmbd 条件竞争漏洞挖掘:思路与案例 ksmbd 条件竞争漏洞挖掘:思路与案例.drawio 本文介绍从代码审计的角度分析.挖掘条件竞争.UAF 漏洞思路,并以 ksmbd 为实例介绍审计的过程和 ...

  6. 实用干货分享 - Oracle数据库RPM部署指南

    下载依赖和Oracle19c版本的RPM包 http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-dat ...

  7. TS 原理详细解读(7)绑定1-符号

    在上一节主要介绍了语法树的解析生成.就好比电脑已经听到了"你真聪明"这句话,现在要让电脑开始思考这句话的含义--是真聪明还是假聪明. 这是一个非常的复杂的过程,接下来将有连续几节内 ...

  8. 【C#】【平时作业】习题-11-ADO.NET

    选择题 1.下列ASP.NET语句(B)正确地创建了一个与mySQL数据库和服务器的连接. A.SqlConnection con1 = new Connection("Data Sourc ...

  9. MySQL 8.0 相对于 MySQL 5.7

    MySQL 8.0 相对于 MySQL 5.7,有很多新特性,比如:快速加列.原子 DDL.不可见索引.额外端口.角色管理等.这一节内容,就不讲这些新特性了,只来聊聊最近在工作学习过程中遇到的几处细节 ...

  10. k8s calico-node错误日志 listen tcp: lookup localhost on 8.8.4.4:53: no such host

    项目场景:K8s搭建 问题描述:查看pods状态,发现 calico-node异常[root@k8s-master ~]# kubectl get pods --all-namespacesNAMES ...