Exemple #1
0
        private static string CreateTableRowCountUnionSql(IDbConnection db, string schema)
        {
            var sb = StringBuilderCache.Allocate();

            var dialect = db.GetDialectProvider();

            var tableNames = GetTableNames(db, schema);
            var schemaName = dialect.NamingStrategy.GetSchemaName(schema);

            foreach (var tableName in tableNames)
            {
                if (sb.Length > 0)
                {
                    sb.Append(" UNION ");
                }

                // retain *real* table names and skip using naming strategy
                sb.AppendLine($"SELECT {OrmLiteUtils.QuotedLiteral(tableName)}, COUNT(*) FROM {dialect.GetQuotedTableName(tableName, schemaName, useStrategy:false)}");
            }

            var sql = StringBuilderCache.ReturnAndFree(sb);

            return(sql);
        }