mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-07-17 01:46:18 +08:00
Update ClickHouse
This commit is contained in:
parent
80df87d48c
commit
fdc58ee457
@ -16,16 +16,16 @@ namespace OrmTest
|
|||||||
/// Account have permission to create database
|
/// Account have permission to create database
|
||||||
/// 用有建库权限的数据库账号
|
/// 用有建库权限的数据库账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string ConnectionString = "PORT=5432;DATABASE=SqlSugar4xTest;HOST=localhost;PASSWORD=haosql;USER ID=postgres";
|
public static string ConnectionString = "Database=default;Username=default;Password=;Host=localhost;Port=8123;Compression=False;UseSession=False;Timeout=120";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Account have permission to create database
|
/// Account have permission to create database
|
||||||
/// 用有建库权限的数据库账号
|
/// 用有建库权限的数据库账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string ConnectionString2 = "PORT=5432;DATABASE=SqlSugar4xTest2;HOST=localhost;PASSWORD=haosql;USER ID=postgres";
|
public static string ConnectionString2 = ConnectionString;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Account have permission to create database
|
/// Account have permission to create database
|
||||||
/// 用有建库权限的数据库账号
|
/// 用有建库权限的数据库账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string ConnectionString3 = "PORT=5432;DATABASE=SqlSugar4xTest3;HOST=localhost;PASSWORD=haosql;USER ID=postgres";
|
public static string ConnectionString3 = ConnectionString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,10 +68,10 @@ namespace OrmTest
|
|||||||
});
|
});
|
||||||
|
|
||||||
//If no exist create datebase
|
//If no exist create datebase
|
||||||
db.DbMaintenance.CreateDatabase();
|
// db.DbMaintenance.CreateDatabase();
|
||||||
|
|
||||||
//Use db query
|
//Use db query
|
||||||
var dt = db.Ado.GetDataTable("select 1");
|
var dt = db.Ado.GetDataTable("SELECT * FROM system.tables");
|
||||||
|
|
||||||
//Create tables
|
//Create tables
|
||||||
db.CodeFirst.InitTables(typeof(OrderItem),typeof(Order));
|
db.CodeFirst.InitTables(typeof(OrderItem),typeof(Order));
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using OrmTest;
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace ClickHouseTest
|
namespace ClickHouseTest
|
||||||
{
|
{
|
||||||
@ -6,8 +7,27 @@ namespace ClickHouseTest
|
|||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
Demo0_SqlSugarClient
|
//Demo
|
||||||
Console.WriteLine("Hello World!");
|
Demo0_SqlSugarClient.Init();
|
||||||
|
Demo1_Queryable.Init();
|
||||||
|
Demo2_Updateable.Init();
|
||||||
|
Demo3_Insertable.Init();
|
||||||
|
Demo4_Deleteable.Init();
|
||||||
|
Demo5_SqlQueryable.Init();
|
||||||
|
Demo6_Queue.Init();
|
||||||
|
Demo7_Ado.Init();
|
||||||
|
Demo8_Saveable.Init();
|
||||||
|
Demo9_EntityMain.Init();
|
||||||
|
DemoA_DbMain.Init();
|
||||||
|
DemoB_Aop.Init();
|
||||||
|
DemoC_GobalFilter.Init();
|
||||||
|
DemoD_DbFirst.Init(); ;
|
||||||
|
DemoE_CodeFirst.Init();
|
||||||
|
DemoF_Utilities.Init();
|
||||||
|
DemoG_SimpleClient.Init();
|
||||||
|
|
||||||
|
Console.WriteLine("all successfully.");
|
||||||
|
Console.ReadKey();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,10 +37,13 @@ namespace SqlSugar.ClickHouse
|
|||||||
base._DbConnection = value;
|
base._DbConnection = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override void BeginTran()
|
||||||
|
{
|
||||||
|
//No Support
|
||||||
|
}
|
||||||
public override void BeginTran(string transactionName)
|
public override void BeginTran(string transactionName)
|
||||||
{
|
{
|
||||||
base.BeginTran();
|
//No Support
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Only SqlServer
|
/// Only SqlServer
|
||||||
@ -49,7 +52,15 @@ namespace SqlSugar.ClickHouse
|
|||||||
/// <param name="transactionName"></param>
|
/// <param name="transactionName"></param>
|
||||||
public override void BeginTran(IsolationLevel iso, string transactionName)
|
public override void BeginTran(IsolationLevel iso, string transactionName)
|
||||||
{
|
{
|
||||||
base.BeginTran(iso);
|
//No Support
|
||||||
|
}
|
||||||
|
public override void CommitTran()
|
||||||
|
{
|
||||||
|
//No Support
|
||||||
|
}
|
||||||
|
public override void RollbackTran()
|
||||||
|
{
|
||||||
|
//No Support
|
||||||
}
|
}
|
||||||
public override IDataAdapter GetAdapter()
|
public override IDataAdapter GetAdapter()
|
||||||
{
|
{
|
||||||
|
@ -61,63 +61,31 @@ namespace SqlSugar.ClickHouse
|
|||||||
}
|
}
|
||||||
public static List<KeyValuePair<string, CSharpDataType>> MappingTypesConst = new List<KeyValuePair<string, CSharpDataType>>(){
|
public static List<KeyValuePair<string, CSharpDataType>> MappingTypesConst = new List<KeyValuePair<string, CSharpDataType>>(){
|
||||||
|
|
||||||
new KeyValuePair<string, CSharpDataType>("int2",CSharpDataType.@short),
|
new KeyValuePair<string, CSharpDataType>("Int32",CSharpDataType.@int),
|
||||||
new KeyValuePair<string, CSharpDataType>("smallint",CSharpDataType.@short),
|
new KeyValuePair<string, CSharpDataType>("Int16",CSharpDataType.@short),
|
||||||
new KeyValuePair<string, CSharpDataType>("int4",CSharpDataType.@int),
|
new KeyValuePair<string, CSharpDataType>("Int64",CSharpDataType.@long),
|
||||||
new KeyValuePair<string, CSharpDataType>("integer",CSharpDataType.@int),
|
new KeyValuePair<string, CSharpDataType>("UInt32",CSharpDataType.@int),
|
||||||
new KeyValuePair<string, CSharpDataType>("int8",CSharpDataType.@long),
|
new KeyValuePair<string, CSharpDataType>("UInt16",CSharpDataType.@short),
|
||||||
new KeyValuePair<string, CSharpDataType>("bigint",CSharpDataType.@long),
|
new KeyValuePair<string, CSharpDataType>("UInt64",CSharpDataType.@long),
|
||||||
new KeyValuePair<string, CSharpDataType>("float4",CSharpDataType.@float),
|
new KeyValuePair<string, CSharpDataType>("Int8",CSharpDataType.@int),
|
||||||
new KeyValuePair<string, CSharpDataType>("real",CSharpDataType.@float),
|
new KeyValuePair<string, CSharpDataType>("UInt8",CSharpDataType.@int),
|
||||||
new KeyValuePair<string, CSharpDataType>("float8",CSharpDataType.@double),
|
new KeyValuePair<string, CSharpDataType>("Decimal128(19)",CSharpDataType.@decimal),
|
||||||
new KeyValuePair<string, CSharpDataType>("double precision",CSharpDataType.@int),
|
new KeyValuePair<string, CSharpDataType>("Decimal",CSharpDataType.@decimal),
|
||||||
new KeyValuePair<string, CSharpDataType>("numeric",CSharpDataType.@decimal),
|
new KeyValuePair<string, CSharpDataType>("Decimal32",CSharpDataType.@decimal),
|
||||||
new KeyValuePair<string, CSharpDataType>("decimal",CSharpDataType.@decimal),
|
new KeyValuePair<string, CSharpDataType>("Decimal64",CSharpDataType.@decimal),
|
||||||
new KeyValuePair<string, CSharpDataType>("path",CSharpDataType.@decimal),
|
new KeyValuePair<string, CSharpDataType>("Decimal128",CSharpDataType.@decimal),
|
||||||
new KeyValuePair<string, CSharpDataType>("point",CSharpDataType.@decimal),
|
new KeyValuePair<string, CSharpDataType>("Decimal256",CSharpDataType.@decimal),
|
||||||
new KeyValuePair<string, CSharpDataType>("polygon",CSharpDataType.@decimal),
|
new KeyValuePair<string, CSharpDataType>("Boolean",CSharpDataType.@bool),
|
||||||
|
new KeyValuePair<string, CSharpDataType>("String",CSharpDataType.@string),
|
||||||
new KeyValuePair<string, CSharpDataType>("boolean",CSharpDataType.@bool),
|
new KeyValuePair<string, CSharpDataType>("Fixedstring",CSharpDataType.@string),
|
||||||
new KeyValuePair<string, CSharpDataType>("bool",CSharpDataType.@bool),
|
new KeyValuePair<string, CSharpDataType>("UUID",CSharpDataType.Guid),
|
||||||
new KeyValuePair<string, CSharpDataType>("box",CSharpDataType.@bool),
|
new KeyValuePair<string, CSharpDataType>("DateTime('Asia/Shanghai')",CSharpDataType.DateTime),
|
||||||
new KeyValuePair<string, CSharpDataType>("bytea",CSharpDataType.@bool),
|
new KeyValuePair<string, CSharpDataType>("DateTime",CSharpDataType.DateTime),
|
||||||
|
new KeyValuePair<string, CSharpDataType>("DATE",CSharpDataType.DateTime),
|
||||||
new KeyValuePair<string, CSharpDataType>("varchar",CSharpDataType.@string),
|
new KeyValuePair<string, CSharpDataType>("Datetime64",CSharpDataType.DateTime),
|
||||||
new KeyValuePair<string, CSharpDataType>("character varying",CSharpDataType.@string),
|
new KeyValuePair<string, CSharpDataType>("Datetime64",CSharpDataType.DateTime),
|
||||||
new KeyValuePair<string, CSharpDataType>("geometry",CSharpDataType.@string),
|
new KeyValuePair<string, CSharpDataType>("Float64",CSharpDataType.@double),
|
||||||
new KeyValuePair<string, CSharpDataType>("name",CSharpDataType.@string),
|
new KeyValuePair<string, CSharpDataType>("Float32",CSharpDataType.@float),
|
||||||
new KeyValuePair<string, CSharpDataType>("text",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("char",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("character",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("cidr",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("circle",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("tsquery",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("tsvector",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("txid_snapshot",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("uuid",CSharpDataType.Guid),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("xml",CSharpDataType.@string),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("json",CSharpDataType.@string),
|
|
||||||
|
|
||||||
new KeyValuePair<string, CSharpDataType>("interval",CSharpDataType.@decimal),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("lseg",CSharpDataType.@decimal),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("macaddr",CSharpDataType.@decimal),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("money",CSharpDataType.@decimal),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("timestamp",CSharpDataType.DateTime),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("timestamp with time zone",CSharpDataType.DateTime),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("timestamptz",CSharpDataType.DateTime),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("timestamp without time zone",CSharpDataType.DateTime),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("date",CSharpDataType.DateTime),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("time",CSharpDataType.DateTime),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("time with time zone",CSharpDataType.DateTime),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("timetz",CSharpDataType.DateTime),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("time without time zone",CSharpDataType.DateTime),
|
|
||||||
|
|
||||||
new KeyValuePair<string, CSharpDataType>("bit",CSharpDataType.byteArray),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("bit varying",CSharpDataType.byteArray),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("varbit",CSharpDataType.@byte),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("time",CSharpDataType.TimeSpan),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("public.geometry",CSharpDataType.@object),
|
|
||||||
new KeyValuePair<string, CSharpDataType>("inet",CSharpDataType.@object)
|
|
||||||
};
|
};
|
||||||
public override List<string> StringThrow
|
public override List<string> StringThrow
|
||||||
{
|
{
|
||||||
|
@ -12,7 +12,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return "SELECT datname FROM pg_database";
|
return "SELECT name FROM system.databases where name not in ('system','information_schema','INFORMATION_SCHEMA' )";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
protected override string GetColumnInfosByTableNameSql
|
protected override string GetColumnInfosByTableNameSql
|
||||||
@ -20,33 +20,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
string schema = GetSchema();
|
string schema = GetSchema();
|
||||||
string sql = @"select cast (pclass.oid as int4) as TableId,cast(ptables.tablename as varchar) as TableName,
|
string sql = @"select * from information_schema.columns a where lower(table_name) =lower('{0}')";
|
||||||
pcolumn.column_name as DbColumnName,pcolumn.udt_name as DataType,
|
|
||||||
CASE WHEN pcolumn.numeric_scale >0 THEN pcolumn.numeric_precision ELSE pcolumn.character_maximum_length END as Length,
|
|
||||||
pcolumn.column_default as DefaultValue,
|
|
||||||
pcolumn.numeric_scale as DecimalDigits,
|
|
||||||
pcolumn.numeric_scale as Scale,
|
|
||||||
col_description(pclass.oid, pcolumn.ordinal_position) as ColumnDescription,
|
|
||||||
case when pkey.colname = pcolumn.column_name
|
|
||||||
then true else false end as IsPrimaryKey,
|
|
||||||
case when pcolumn.column_default like 'nextval%'
|
|
||||||
then true else false end as IsIdentity,
|
|
||||||
case when pcolumn.is_nullable = 'YES'
|
|
||||||
then true else false end as IsNullable
|
|
||||||
from (select * from pg_tables where upper(tablename) = upper('{0}') and schemaname='" + schema + @"') ptables inner join pg_class pclass
|
|
||||||
on ptables.tablename = pclass.relname inner join (SELECT *
|
|
||||||
FROM information_schema.columns
|
|
||||||
) pcolumn on pcolumn.table_name = ptables.tablename
|
|
||||||
left join (
|
|
||||||
select pg_class.relname,pg_attribute.attname as colname from
|
|
||||||
pg_constraint inner join pg_class
|
|
||||||
on pg_constraint.conrelid = pg_class.oid
|
|
||||||
inner join pg_attribute on pg_attribute.attrelid = pg_class.oid
|
|
||||||
and pg_attribute.attnum = pg_constraint.conkey[1]
|
|
||||||
inner join pg_type on pg_type.oid = pg_attribute.atttypid
|
|
||||||
where pg_constraint.contype='p'
|
|
||||||
) pkey on pcolumn.table_name = pkey.relname
|
|
||||||
order by ptables.tablename";
|
|
||||||
return sql;
|
return sql;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -55,14 +29,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
var schema = GetSchema();
|
return @"SELECT name FROM system.tables where database not in('INFORMATION_SCHEMA','system','information_schema' )";
|
||||||
return @"select cast(relname as varchar) as Name,
|
|
||||||
cast(obj_description(relfilenode,'pg_class') as varchar) as Description from pg_class c
|
|
||||||
inner join
|
|
||||||
pg_namespace n on n.oid = c.relnamespace and nspname='"+ schema + @"'
|
|
||||||
inner join
|
|
||||||
pg_tables z on z.tablename=c.relname
|
|
||||||
where relkind = 'r' and relname not like 'pg_%' and relname not like 'sql_%' and schemaname='" + schema + "' order by relname";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
protected override string GetViewInfoListSql
|
protected override string GetViewInfoListSql
|
||||||
@ -117,7 +84,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return "CREATE TABLE {0}(\r\n{1} $PrimaryKey)";
|
return "CREATE TABLE {0}(\r\n{1})";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
protected override string CreateTableColumn
|
protected override string CreateTableColumn
|
||||||
@ -222,7 +189,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return "DEFAULT NULL";
|
return " NULL";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
protected override string CreateTableNotNull
|
protected override string CreateTableNotNull
|
||||||
@ -344,24 +311,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
}
|
}
|
||||||
public override bool CreateTable(string tableName, List<DbColumnInfo> columns, bool isCreatePrimaryKey = true)
|
public override bool CreateTable(string tableName, List<DbColumnInfo> columns, bool isCreatePrimaryKey = true)
|
||||||
{
|
{
|
||||||
if (columns.HasValue())
|
|
||||||
{
|
|
||||||
foreach (var item in columns)
|
|
||||||
{
|
|
||||||
if (item.DbColumnName.Equals("GUID", StringComparison.CurrentCultureIgnoreCase) && item.Length == 0)
|
|
||||||
{
|
|
||||||
item.Length = 10;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
string sql = GetCreateTableSql(tableName, columns);
|
string sql = GetCreateTableSql(tableName, columns);
|
||||||
string primaryKeyInfo = null;
|
|
||||||
if (columns.Any(it => it.IsPrimarykey) && isCreatePrimaryKey)
|
|
||||||
{
|
|
||||||
primaryKeyInfo = string.Format(", Primary key({0})", string.Join(",", columns.Where(it => it.IsPrimarykey).Select(it => this.SqlBuilder.GetTranslationColumnName(it.DbColumnName.ToLower()))));
|
|
||||||
|
|
||||||
}
|
|
||||||
sql = sql.Replace("$PrimaryKey", primaryKeyInfo);
|
|
||||||
this.Context.Ado.ExecuteCommand(sql);
|
this.Context.Ado.ExecuteCommand(sql);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -369,6 +319,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
{
|
{
|
||||||
List<string> columnArray = new List<string>();
|
List<string> columnArray = new List<string>();
|
||||||
Check.Exception(columns.IsNullOrEmpty(), "No columns found ");
|
Check.Exception(columns.IsNullOrEmpty(), "No columns found ");
|
||||||
|
var pkName = "";
|
||||||
foreach (var item in columns)
|
foreach (var item in columns)
|
||||||
{
|
{
|
||||||
string columnName = item.DbColumnName;
|
string columnName = item.DbColumnName;
|
||||||
@ -377,28 +328,31 @@ namespace SqlSugar.ClickHouse
|
|||||||
{
|
{
|
||||||
item.Length = 1;
|
item.Length = 1;
|
||||||
}
|
}
|
||||||
//if (dataType == "uuid")
|
string dataSize =item.Length > 0 ? string.Format("({0})", item.Length) : "";
|
||||||
//{
|
|
||||||
// item.Length = 50;
|
|
||||||
// dataType = "varchar";
|
|
||||||
//}
|
|
||||||
string dataSize = item.Length > 0 ? string.Format("({0})", item.Length) : null;
|
|
||||||
if (item.DecimalDigits > 0&&item.Length>0 && dataType == "numeric")
|
if (item.DecimalDigits > 0&&item.Length>0 && dataType == "numeric")
|
||||||
{
|
{
|
||||||
dataSize = $"({item.Length},{item.DecimalDigits})";
|
dataSize = $"({item.Length},{item.DecimalDigits})";
|
||||||
}
|
}
|
||||||
string nullType = item.IsNullable ? this.CreateTableNull : CreateTableNotNull;
|
string nullType = item.IsNullable ? this.CreateTableNull : CreateTableNotNull;
|
||||||
string primaryKey = null;
|
string primaryKey = "";
|
||||||
string addItem = string.Format(this.CreateTableColumn, this.SqlBuilder.GetTranslationColumnName(columnName.ToLower()), dataType, dataSize, nullType, primaryKey, "");
|
string addItem = string.Format(this.CreateTableColumn, this.SqlBuilder.GetTranslationColumnName(columnName.ToLower()), dataType, dataSize, nullType, primaryKey, "");
|
||||||
if (item.IsIdentity)
|
|
||||||
{
|
|
||||||
string length = dataType.Substring(dataType.Length - 1);
|
|
||||||
string identityDataType = "serial" + length;
|
|
||||||
addItem = addItem.Replace(dataType, identityDataType);
|
|
||||||
}
|
|
||||||
columnArray.Add(addItem);
|
columnArray.Add(addItem);
|
||||||
|
if (pkName.IsNullOrEmpty()&&item.IsPrimarykey)
|
||||||
|
{
|
||||||
|
pkName = item.DbColumnName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
string tableString = string.Format(this.CreateTableSql, this.SqlBuilder.GetTranslationTableName(tableName.ToLower()), string.Join(",\r\n", columnArray));
|
string tableString = string.Format(this.CreateTableSql, this.SqlBuilder.GetTranslationTableName(tableName.ToLower()), string.Join(",\r\n", columnArray));
|
||||||
|
if (pkName.HasValue())
|
||||||
|
{
|
||||||
|
pkName = this.SqlBuilder.GetTranslationColumnName(pkName);
|
||||||
|
tableString += $"ENGINE = MergeTree() ORDER BY ( {pkName} ) PRIMARY KEY {pkName} SETTINGS index_granularity = 8192";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pkName = this.SqlBuilder.GetTranslationColumnName(columns.First().DbColumnName);
|
||||||
|
tableString += $"ENGINE = MergeTree() ORDER BY ( {pkName} )";
|
||||||
|
}
|
||||||
return tableString;
|
return tableString;
|
||||||
}
|
}
|
||||||
public override bool IsAnyConstraint(string constraintName)
|
public override bool IsAnyConstraint(string constraintName)
|
||||||
|
@ -7,7 +7,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
public SqlSugarProvider Context { get; set; }
|
public SqlSugarProvider Context { get; set; }
|
||||||
public ClickHouseExpressionContext()
|
public ClickHouseExpressionContext()
|
||||||
{
|
{
|
||||||
base.DbMehtods = new PostgreSQLMethod();
|
base.DbMehtods = new ClickHouseMethod();
|
||||||
}
|
}
|
||||||
public override string SqlTranslationLeft
|
public override string SqlTranslationLeft
|
||||||
{
|
{
|
||||||
@ -131,7 +131,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class PostgreSQLMethod : DefaultDbMethod, IDbMethods
|
public class ClickHouseMethod : DefaultDbMethod, IDbMethods
|
||||||
{
|
{
|
||||||
public override string TrueValue()
|
public override string TrueValue()
|
||||||
{
|
{
|
||||||
|
@ -11,7 +11,7 @@ namespace SqlSugar.ClickHouse
|
|||||||
{
|
{
|
||||||
public static string ToLower(this string value, bool isLower)
|
public static string ToLower(this string value, bool isLower)
|
||||||
{
|
{
|
||||||
return value;
|
return value.ObjToString().ToLower();
|
||||||
}
|
}
|
||||||
public static int ObjToInt(this object thisValue)
|
public static int ObjToInt(this object thisValue)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user