using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZKLT.Hadoop.Model;
namespace ZKLT.Hadoop.Interface
{
public interface ITableService
{
///
/// 同步结构
///
/// 数据源
/// 数据表
/// 是否成功
public bool InitStruct(HDP_Source source, HDP_Table table);
///
/// 删除结构
///
/// 源
/// 表
/// 是否成功
public bool RemoveStruct(HDP_Source source, string tableKey);
///
/// 插入数据
///
/// 数据源
/// 数据表
/// 数据
/// 是否成功
public bool Insert(HDP_Source source, HDP_Table table, JContainer? row);
///
/// 更新
///
/// 数据源
/// 数据表
/// 条件
/// 数据
/// 是否成功
public bool Update(HDP_Source source, HDP_Table table, JContainer? where, JContainer? row);
///
/// 删除
///
/// 数据源
/// 数据表
/// 条件
/// 数据
/// 是否成功
public bool Delete(HDP_Source source, HDP_Table table, JContainer? where, JContainer? row);
///
/// 查询单个
///
/// 数据源
/// 数据表
/// 条件
/// 数据
/// 结果
public T? QuerySingle(HDP_Source source, HDP_Table table, JContainer? where, JContainer? row, string[]? col);
///
/// 查询列表
///
/// 返回类型
/// 数据源
/// 数据表
/// 条件
/// 数据
/// 结果集
public T[] Query(HDP_Source source, HDP_Table table, JContainer? where, JContainer? row,
JContainer? order, string[]? col);
///
/// 查询列表
///
/// 返回类型
/// 数据源
/// 数据表
/// 条件
/// 数据
/// 结果集
public HDP_Page QueryPage(HDP_Source source, HDP_Table table, int pageIndex, int pageSize, JContainer? where, JContainer? row, JContainer? order, string[]? col);
///
/// 判断数据源是否存在表
///
/// 数据源
/// 表名
/// 是否存在
public bool DbExistTable(HDP_Source source, string tableName);
///
/// 查询数据列
///
/// 数据源
/// 表名
/// 列
public HDP_Column[] DbGetColumns(HDP_Source source, string tableName);
}
}