本文整理汇总了C#中Npgsql.NpgsqlConnector.Query方法的典型用法代码示例。如果您正苦于以下问题:C# NpgsqlConnector.Query方法的具体用法?C# NpgsqlConnector.Query怎么用?C# NpgsqlConnector.Query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Npgsql.NpgsqlConnector
的用法示例。
在下文中一共展示了NpgsqlConnector.Query方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExecuteBlindSuppressTimeout
internal static void ExecuteBlindSuppressTimeout(NpgsqlConnector connector, NpgsqlQuery query)
{
// Block the notification thread before writing anything to the wire.
using (var blocker = connector.BlockNotificationThread())
{
// Write the Query message to the wire.
connector.Query(query);
// Flush, and wait for and discard all responses.
connector.ProcessAndDiscardBackendResponses();
}
}
示例2: ExecuteBlind
private static void ExecuteBlind(NpgsqlConnector connector, NpgsqlQuery query, int timeout)
{
// Block the notification thread before writing anything to the wire.
using (var blocker = connector.BlockNotificationThread())
{
// Set statement timeout as needed.
connector.SetBackendCommandTimeout(timeout);
// Write the Query message to the wire.
connector.Query(query);
// Flush, and wait for and discard all responses.
connector.ProcessAndDiscardBackendResponses();
}
}
示例3: TestNotify
public void TestNotify(NpgsqlConnector context)
{
//ZA Hnotifytest CNOTIFY Z
//Qlisten notifytest;notify notifytest;
Stream stm = context.Stream;
string uuidString = "uuid" + Guid.NewGuid().ToString("N");
PGUtil.WriteString("Qlisten " + uuidString + ";notify " + uuidString + ";", stm);
Queue<byte> buffer = new Queue<byte>();
byte[] convertBuffer = new byte[36];
for (;;)
{
int newByte = stm.ReadByte();
if (newByte == -1)
{
throw new EndOfStreamException();
}
buffer.Enqueue((byte) newByte);
if (buffer.Count > 35)
{
buffer.CopyTo(convertBuffer, 0);
if (ENCODING_UTF8.GetString(convertBuffer) == uuidString)
{
for (;;)
{
switch (stm.ReadByte())
{
case -1:
throw new EndOfStreamException();
case 'Z':
//context.Query(new NpgsqlCommand("UNLISTEN *", context));
using(NpgsqlCommand cmd = new NpgsqlCommand("UNLISTEN *", context))
{
context.Query(cmd);
}
return;
}
}
}
else
{
buffer.Dequeue();
}
}
}
}
示例4: ExecuteSetStatementTimeoutBlind
/// <summary>
/// Special adaptation of ExecuteBlind() that sets statement_timeout.
/// This exists to prevent Connector.SetBackendCommandTimeout() from calling Command.ExecuteBlind(),
/// which will cause an endless recursive loop.
/// </summary>
/// <param name="connector"></param>
/// <param name="timeout">Timeout in seconds.</param>
internal static void ExecuteSetStatementTimeoutBlind(NpgsqlConnector connector, int timeout)
{
NpgsqlQuery query;
// Optimize for a few common timeout values.
switch (timeout)
{
case 10 :
query = NpgsqlQuery.SetStmtTimeout10Sec;
break;
case 20 :
query = NpgsqlQuery.SetStmtTimeout20Sec;
break;
case 30 :
query = NpgsqlQuery.SetStmtTimeout30Sec;
break;
case 60 :
query = NpgsqlQuery.SetStmtTimeout60Sec;
break;
case 90 :
query = NpgsqlQuery.SetStmtTimeout90Sec;
break;
case 120 :
query = NpgsqlQuery.SetStmtTimeout120Sec;
break;
default :
query = new NpgsqlQuery(string.Format("SET statement_timeout = {0}", timeout * 1000));
break;
}
// Write the Query message to the wire.
connector.Query(query);
// Flush, and wait for and discard all responses.
connector.ProcessAndDiscardBackendResponses();
}
示例5: ExecuteSetStatementTimeoutBlind
/// <summary>
/// Special adaptation of ExecuteBlind() that sets statement_timeout.
/// This exists to prevent Connector.SetBackendCommandTimeout() from calling Command.ExecuteBlind(),
/// which will cause an endless recursive loop.
/// </summary>
/// <param name="connector"></param>
/// <param name="timeout">Timeout in seconds.</param>
internal static void ExecuteSetStatementTimeoutBlind(NpgsqlConnector connector, int timeout)
{
NpgsqlQuery query;
// Bypass cpmmand parsing overhead and send command verbatim.
query = NpgsqlQuery.Create(connector.BackendProtocolVersion, string.Format("SET statement_timeout = {0}", timeout * 1000));
// Write the Query message to the wire.
connector.Query(query);
// Flush, and wait for and discard all responses.
connector.ProcessAndDiscardBackendResponses();
}