The situation here is the inability of Rsql server to serializethe query’s response. The cause of the failure is that the size of the bufferRsql uses for the serialization procedure is just not large enough to fit allthe data. In their query,Fiberhome requires all instances ofclass oltGlobalCfg. They have just one instance of this class (a kind ofsystem configuration structure) Analyzing the class we found that it’s huge.Moreover it has a complicated structure. The largestfIEld onuApMacInfo is an array of structures. This structure of the classrequires even more buffer size,so Rsql Failed to serialize the whole instanceof the class,but was able to return a partial request.
To resolve this,our recommendation is to increase the buffersize. The size can be specifIEd as one of sqlServer constructor parameters. Thedefault value is 64K,but we recommend specifying at least 256K. Here is theirRsql initialization procedure (from db_common/src/sqlintf.cpp):
int start_sqlsvr(int isMst)
{
int iPort = SERVER_PORT + (isMst?0:1000);
server = new sqlServer(&engine,iPort);
server->start();
return 0;
}
Please add another parameter to the constructor call,like thefollowing:
And,of course,re-build their application.
总结以上是内存溢出为你收集整理的xsql---Buffer too small for record data全部内容,希望文章能够帮你解决xsql---Buffer too small for record data所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)