/// <summary>
        /// Get a sql statement and corresponding sql paramaters from the builder
        /// </summary>
        /// <param name="builder">The sql builder to use in order to render sql</param>
        public static QueryParts ToSql(this ISqlString builder)
        {
            var builderResult    = builder.ToSqlString();
            var sql              = builderResult.Sql;
            var queryTeardownSql = builderResult.QueryTeardownSql;

            if (builderResult.TeardownSqlCanBeInlined)
            {
                sql += $";\n\n{queryTeardownSql}";
                queryTeardownSql = null;
            }

            return(new QueryParts(
                       $"{builderResult.QuerySetupSql}\n\n{sql}",
                       queryTeardownSql));
        }