Exemplo n.º 1
0
        public void GlobalSetup()
        {
            _conn = BenchmarkEnvironment.OpenConnection();
            _autoPreparingConn = new NpgsqlConnection(new NpgsqlConnectionStringBuilder(BenchmarkEnvironment.ConnectionString)
            {
                MaxAutoPrepare = 10
            }.ToString());
            _autoPreparingConn.Open();

            foreach (var conn in new[] { _conn, _autoPreparingConn })
            {
                using (var cmd = new NpgsqlCommand {
                    Connection = conn
                })
                {
                    for (var i = 0; i < 100; i++)
                    {
                        cmd.CommandText = $@"
CREATE TEMP TABLE table{i} (id INT PRIMARY KEY, data INT);
INSERT INTO table{i} (id, data) VALUES (1, {i});
";
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            _query       = Queries[TablesToJoin];
            _preparedCmd = new NpgsqlCommand(_query, _conn);
            _preparedCmd.Prepare();
        }
Exemplo n.º 2
0
        public void Setup()
        {
            var conn = BenchmarkEnvironment.OpenConnection();

            Command = new NpgsqlCommand($"SELECT generate_series(1, {NumRows})", conn);
            Command.Prepare();
        }
Exemplo n.º 3
0
 public GetFieldValue()
 {
     _conn   = BenchmarkEnvironment.OpenConnection();
     _cmd    = new NpgsqlCommand("SELECT 0, 'str'", _conn);
     _reader = _cmd.ExecuteReader();
     _reader.Read();
 }
Exemplo n.º 4
0
        public UnixDomainSocket()
        {
            _tcpipConn = BenchmarkEnvironment.OpenConnection();
            _tcpipCmd  = new NpgsqlCommand("SELECT @p", _tcpipConn);
            _tcpipCmd.Parameters.AddWithValue("p", new string('x', 10000));

            var port = new NpgsqlConnectionStringBuilder(BenchmarkEnvironment.ConnectionString).Port;
            var candidateDirectories = new[] { "/var/run/postgresql", "/tmp" };
            var dir = candidateDirectories.FirstOrDefault(d => File.Exists(Path.Combine(d, $".s.PGSQL.{port}")));

            if (dir == null)
            {
                throw new Exception("No PostgreSQL unix domain socket was found");
            }

            var connString = new NpgsqlConnectionStringBuilder(BenchmarkEnvironment.ConnectionString)
            {
                Host = dir
            }.ToString();

            _unixConn = new NpgsqlConnection(connString);
            _unixConn.Open();
            _unixCmd = new NpgsqlCommand("SELECT @p", _unixConn);
            _unixCmd.Parameters.AddWithValue("p", new string('x', 10000));
        }
Exemplo n.º 5
0
 void GlobalSetupImpl <T>(T initializationValue)
 {
     _conn = BenchmarkEnvironment.OpenConnection();
     _cmd  = new NpgsqlCommand("SELECT @p1;", _conn);
     _cmd.Parameters.AddWithValue("@p1", Enumerable.Repeat(initializationValue, NumArrayElements).ToArray());
     _reader = _cmd.ExecuteReader();
     _reader.Read();
 }
Exemplo n.º 6
0
        public void Setup()
        {
            _conn = BenchmarkEnvironment.OpenConnection();
            using (var cmd = new NpgsqlCommand("CREATE TEMP TABLE data (i1 INT, i2 INT, i3 INT, i4 INT, i5 INT, i6 INT, i7 INT, i8 INT, i9 INT, i10 INT)", _conn))
                cmd.ExecuteNonQuery();

            _truncateCmd = new NpgsqlCommand("TRUNCATE data", _conn);
            _truncateCmd.Prepare();
        }
Exemplo n.º 7
0
        public CommandExecuteBenchmarks()
        {
            var conn = BenchmarkEnvironment.OpenConnection();

            _executeNonQueryCmd          = new NpgsqlCommand("SET lock_timeout = 1000", conn);
            _executeNonQueryWithParamCmd = new NpgsqlCommand("SET lock_timeout = 1000", conn);
            _executeNonQueryWithParamCmd.Parameters.AddWithValue("not_used", DBNull.Value);
            _executeNonQueryPreparedCmd = new NpgsqlCommand("SET lock_timeout = 1000", conn);
            _executeNonQueryPreparedCmd.Prepare();
            _executeScalarCmd = new NpgsqlCommand("SELECT 1", conn);
            _executeReaderCmd = new NpgsqlCommand("SELECT 1", conn);
        }
Exemplo n.º 8
0
        public void Setup()
        {
            _conn = BenchmarkEnvironment.OpenConnection();
            using (var cmd = new NpgsqlCommand("CREATE TEMP TABLE data (i1 INT, i2 INT, i3 INT, i4 INT, i5 INT, i6 INT, i7 INT, i8 INT, i9 INT, i10 INT)", _conn))
                cmd.ExecuteNonQuery();

            using (var cmd = new NpgsqlCommand("INSERT INTO data VALUES (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)", _conn))
                for (var i = 0; i < Rows; i++)
                {
                    cmd.ExecuteNonQuery();
                }
        }
        public void Setup()
        {
            _conn       = BenchmarkEnvironment.OpenConnection();
            _typeMapper = (ConnectorTypeMapper)_conn.TypeMapper;

            if (NumPlugins > 0)
            {
                _typeMapper.UseNodaTime();
            }
            if (NumPlugins > 1)
            {
                _typeMapper.UseNetTopologySuite();
            }
        }
Exemplo n.º 10
0
        public Prepare()
        {
            // Create tables and data
            using (var conn = BenchmarkEnvironment.OpenConnection())
                using (var cmd = new NpgsqlCommand {
                    Connection = conn
                })
                {
                    for (var i = 0; i < TablesToJoinValues.Max(); i++)
                    {
                        cmd.CommandText = $@"
DROP TABLE IF EXISTS table{i};
CREATE TABLE table{i} (id INT PRIMARY KEY, data INT);
INSERT INTO table{i} (id, data) VALUES (1, {i});
";
                        cmd.ExecuteNonQuery();
                    }
                }
        }
Exemplo n.º 11
0
        public void Setup()
        {
            var intArray = new int[NumElements];

            for (var i = 0; i < NumElements; i++)
            {
                intArray[i] = 666;
            }
            _intConn = BenchmarkEnvironment.OpenConnection();
            _intCmd  = new NpgsqlCommand("SELECT @p1", _intConn);
            _intCmd.Parameters.AddWithValue("p1", intArray);
            _intReader = _intCmd.ExecuteReader();
            _intReader.Read();

            var nullableIntArray = new int?[NumElements];

            for (var i = 0; i < NumElements; i++)
            {
                nullableIntArray[i] = AllNulls ? (int?)null : 666;
            }
            _nullableIntConn = BenchmarkEnvironment.OpenConnection();
            _nullableIntCmd  = new NpgsqlCommand("SELECT @p1", _nullableIntConn);
            _nullableIntCmd.Parameters.AddWithValue("p1", nullableIntArray);
            _nullableIntReader = _nullableIntCmd.ExecuteReader();
            _nullableIntReader.Read();

            var stringArray = new string?[NumElements];

            for (var i = 0; i < NumElements; i++)
            {
                stringArray[i] = AllNulls ? null : "666";
            }
            _stringConn = BenchmarkEnvironment.OpenConnection();
            _stringCmd  = new NpgsqlCommand("SELECT @p1", _stringConn);
            _stringCmd.Parameters.AddWithValue("p1", stringArray);
            _stringReader = _stringCmd.ExecuteReader();
            _stringReader.Read();
        }
Exemplo n.º 12
0
 public Commit()
 {
     _conn = BenchmarkEnvironment.OpenConnection();
     _cmd  = new NpgsqlCommand("SELECT 1", _conn);
 }
Exemplo n.º 13
0
 public void GlobalSetup()
 {
     _conn = BenchmarkEnvironment.OpenConnection();
     _cmd  = new NpgsqlCommand(Queries[NumColumns], _conn);
 }