附录A: 一般错误和问题
浮点数的精度限制
没有任何一台计算机能够以完美的精度存储所有浮点数(即非整数)。 浮点数据类型(即FLOAT)提供大约7个十进制数字的精度; 双浮点数据类型(即DOUBLE)将其提高到大约15个十进制数字的精度。 所以假设某个计算涉及到比较两个FLOAT数或DOUBLE数是否到精确相等的问题(如==,<=,> =,BETWEEN ... AND ...),则结果有可能和我们的预期不符。 如果GSQL解析器检测到用户可能正在对FLOAT或DOUBLE数进行精确比较,则系统会显示告警和建议信息。 例如,假设对于浮点变量v和v2来说,表达式v == v2会触发以下警告消息:
对于不存在的顶点ID的响应
如果某个查询包含顶点参数(VERTEX或VERTEX <vType>),并且在查询执行期间时给出了一个并不存在的顶点的ID,则系统会显示错误消息,并终止查询。 同时,调用函数将某个单个顶点的ID字符串转换成顶点的时候,系统的响应方式也是类似的:
to_vertex(): 详见"其他方程"章节.
但是,如果参数是一个顶点集(SET <VERTEX>或SET <VERTEX <vType >>),并且在查询执行期间给出了一个或多个不存在的ID,则系统会显示一条警告消息,并继续执行该查询而忽略那些不存在的ID。 因此,如果所有给定的ID都不存在,则该参数将变为一个空集。 调用函数将一组顶点ID转换为一组顶点时,系统的响应方式也是类似的:
to_vertex_set(): 详见"其他方程"章节.
SelectVertex(): 详见"其他方程"章节.
Last updated