<commit_before>namespace NServiceBus
{
    using System;
    using System.Data;
    using System.Data.Common;
    using System.Text;

    public abstract partial class SqlDialect
    {
        /// <summary>
        /// Oracle
        /// </summary>
        public partial class Oracle : SqlDialect
        {
            internal override void FillParameter(DbParameter parameter, string paramName, object value)
            {
                parameter.ParameterName = paramName;
                if (value is Guid)
                {
                    parameter.Value = value.ToString();
                }
                else if (value is Version)
                {
                    parameter.DbType = DbType.String;
                    parameter.Value = value.ToString();
                }
                else
                {
                    parameter.Value = value;
                }
            }

            internal override CommandWrapper CreateCommand(DbConnection connection)
            {
                var command = connection.CreateCommand();

                var bindByNameProperty = command.GetType().GetProperty("BindByName");
                bindByNameProperty.SetValue(command, true);

                return new CommandWrapper(command, this);
            }

            internal override void ValidateTablePrefix(string tablePrefix)
            {
                if (tablePrefix.Length > 25)<commit_msg>Optimized BindByName access for Oracle<commit_after>namespace NServiceBus
{
    using System;
    using System.Data;
    using System.Data.Common;
    using System.Reflection;
    using System.Text;

    public abstract partial class SqlDialect
    {
        /// <summary>
        /// Oracle
        /// </summary>
        public partial class Oracle : SqlDialect
        {
            volatile PropertyInfo bindByNameProperty;

            internal override void FillParameter(DbParameter parameter, string paramName, object value)
            {
                parameter.ParameterName = paramName;
                if (value is Guid)
                {
                    parameter.Value = value.ToString();
                }
                else if (value is Version)
                {
                    parameter.DbType = DbType.String;
                    parameter.Value = value.ToString();
                }
                else
                {
                    parameter.Value = value;
                }
            }

            internal override CommandWrapper CreateCommand(DbConnection connection)
            {
                var command = connection.CreateCommand();

                if (bindByNameProperty == null)
                {
                    bindByNameProperty = command.GetType().GetProperty("BindByName");
                }
                bindByNameProperty.SetValue(command, true);

                return new CommandWrapper(command, this);
            }

            internal override void ValidateTablePrefix(string tablePrefix)
            {
                if (tablePrefix.Length > 25)
{'fraction_non_alphanumeric': 0.06958510290754655, 'fraction_numerical': 0.0013067624959163672, 'mean_word_length': 1.3320639756283321, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4815344', 'n_tokens_mistral': 692, 'n_tokens_neox': 641, 'n_words': 164}