mirror of
https://github.com/brianc/node-postgres.git
synced 2025-12-08 20:16:25 +00:00
moved all buffers into external file
This commit is contained in:
parent
ad8b6b018c
commit
2fc0d1124a
@ -7,15 +7,8 @@ var PARSE = function(buffer) {
|
||||
var authOkBuffer = buffers.authenticationOk();
|
||||
var paramStatusBuffer = buffers.parameterStatus('client_encoding', 'UTF8');
|
||||
var readyForQueryBuffer = buffers.readyForQuery();
|
||||
|
||||
var backendKeyDataBuffer = new BufferList()
|
||||
.addInt32(1)
|
||||
.addInt32(2)
|
||||
.join(true,'K');
|
||||
|
||||
var commandCompleteBuffer = new BufferList()
|
||||
.addCString("SELECT 3")
|
||||
.join(true,'C');
|
||||
var backendKeyDataBuffer = buffers.backendKeyData(1,2);
|
||||
var commandCompleteBuffer = buffers.commandComplete("SELECT 3");
|
||||
|
||||
var addRow = function(bufferList, name, offset) {
|
||||
return bufferList.addCString(name) //field name
|
||||
@ -27,30 +20,42 @@ var addRow = function(bufferList, name, offset) {
|
||||
.addInt16(0) //format code, 0 => text
|
||||
};
|
||||
|
||||
var row1 = {
|
||||
name: 'id',
|
||||
tableID: 1,
|
||||
attributeNumber: 2,
|
||||
dataTypeID: 3,
|
||||
dataTypeSize: 4,
|
||||
typeModifier: 5,
|
||||
formatCode: 0
|
||||
};
|
||||
var oneRowDescBuff = new buffers.rowDescription([row1]);
|
||||
row1.name = 'bang';
|
||||
|
||||
var oneRowDescBuff = new BufferList()
|
||||
.addInt16(1);
|
||||
oneRowDescBuff = addRow(oneRowDescBuff, 'id', 1)
|
||||
.join(true,'T');
|
||||
|
||||
var twoRowDesc = new BufferList()
|
||||
.addInt16(2);
|
||||
twoRowDesc = addRow(twoRowDesc, 'bang', 1);
|
||||
twoRowDesc = addRow(twoRowDesc, 'whoah', 10);
|
||||
twoRowBuf = twoRowDesc.join(true, 'T');
|
||||
|
||||
var twoRowBuf = new buffers.rowDescription([row1,{
|
||||
name: 'whoah',
|
||||
tableID: 10,
|
||||
attributeNumber: 11,
|
||||
dataTypeID: 12,
|
||||
dataTypeSize: 13,
|
||||
typeModifier: 14,
|
||||
formatCode: 0
|
||||
}])
|
||||
|
||||
|
||||
var emptyRowFieldBuf = new BufferList()
|
||||
.addInt16(0)
|
||||
.join(true, 'D');
|
||||
|
||||
var emptyRowFieldBuf = buffers.dataRow();
|
||||
|
||||
var oneFieldBuf = new BufferList()
|
||||
.addInt16(1) //number of fields
|
||||
.addInt32(5) //length of bytes of fields
|
||||
.addCString('test')
|
||||
.join(true, 'D');
|
||||
|
||||
var oneFieldBuf = buffers.dataRow(['test\0']);
|
||||
|
||||
|
||||
var expectedAuthenticationOkayMessage = {
|
||||
|
||||
@ -18,7 +18,55 @@ buffers.parameterStatus = function(name, value) {
|
||||
.addCString(name)
|
||||
.addCString(value)
|
||||
.join(true, 'S');
|
||||
|
||||
};
|
||||
|
||||
buffers.backendKeyData = function(processID, secretKey) {
|
||||
return new BufferList()
|
||||
.addInt32(processID)
|
||||
.addInt32(secretKey)
|
||||
.join(true, 'K');
|
||||
};
|
||||
|
||||
buffers.commandComplete = function(string) {
|
||||
return new BufferList()
|
||||
.addCString(string)
|
||||
.join(true, 'C');
|
||||
};
|
||||
|
||||
buffers.rowDescription = function(fields) {
|
||||
fields = fields || [];
|
||||
var buf = new BufferList();
|
||||
buf.addInt16(fields.length);
|
||||
fields.forEach(function(field) {
|
||||
buf.addCString(field.name)
|
||||
.addInt32(field.tableID || 0)
|
||||
.addInt16(field.attributeNumber || 0)
|
||||
.addInt32(field.dataTypeID || 0)
|
||||
.addInt16(field.dataTypeSize || 0)
|
||||
.addInt32(field.typeModifier || 0)
|
||||
.addInt16(field.formatCode || 0)
|
||||
});
|
||||
return buf.join(true, 'T');
|
||||
};
|
||||
|
||||
buffers.dataRow = function(columns) {
|
||||
columns = columns || [];
|
||||
var buf = new BufferList();
|
||||
buf.addInt16(columns.length);
|
||||
columns.forEach(function(col) {
|
||||
if(col == null) {
|
||||
buf.writeInt32(-1);
|
||||
} else {
|
||||
var strBuf = new Buffer(col, 'utf8');
|
||||
buf.addInt32(strBuf.length);
|
||||
buf.add(strBuf);
|
||||
}
|
||||
});
|
||||
return buf.join(true, 'D');
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = buffers;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user