com.hundsun.lightdb.unisql.golang.IGoParser Maven / Gradle / Ivy
package com.hundsun.lightdb.unisql.golang;
import jnr.ffi.Pointer;
import jnr.ffi.annotations.Encoding;
/**
* go转换器
*
* @author gaobo48919
* @date 2023/08/31
* @since 23.1.0.0
*/
public interface IGoParser {
/**
* 转换sql
*
* @param sourceSQL 源sql
* @param sourceDialect 源方言
* @param targetDialect 目标方言
* @return {@link Pointer}
* @since 23.1.0.0
*/
Pointer Transform(@Encoding("UTF-8") String sourceSQL,
@Encoding("UTF-8") String sourceDialect,
@Encoding("UTF-8") String targetDialect);
/**
* 转换sql
*
* @param variableParameterJson 源sql、源方言、目标方言和一些可变参数
* @return {@link Pointer}
* @since 23.4.0.0
*/
Pointer TransformPro(@Encoding("UTF-8") String variableParameterJson);
/**
* 释放native的内存地址
*
* @param pointer 内存地址
* @since 23.1.0.0
*/
void FreePointer(Pointer pointer);
/**
* 设置go gc参数
*
* @param n 参数值
* @since 23.2.0.0
*/
void SetGoGc(long n);
/**
* 设置go memlimit参数
*
* @param n 参数值
* @since 23.2.0.0
*/
void SetGoMemLimit(long n);
/**
* 设置全局静态参数
*
* @param globalStaticParameter 全局静态参数Json
* @since 23.4.0.0
*/
void SetGlobalStaticParameter(@Encoding("UTF-8") String globalStaticParameter);
/**
* 根据DML 获取执行前的DQL和执行后的DQL
*
* @param variableParameterJson 源sql、源方言、目标方言和一些可变参数
* @return {@link Pointer}
* @since 24.1.0.0
*/
Pointer GetDqlByDml(@Encoding("UTF-8") String variableParameterJson);
/**
* 设置统一SQL表元数据
* @param variableParameterJson
* @return
*/
Pointer InitTableMetas(@Encoding("UTF-8") String variableParameterJson);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy