This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit eb2e20d2be2463b6776c07e3312b4a843638228e
Author: Norio Akagi (norakagi) <[email protected]>
AuthorDate: Thu Oct 28 14:36:43 2021 -0700

    Update the type cast description for integer/float values
---
 docs/src/dev/future/equality_proposal.asciidoc | 36 +++++++++++++++++++-------
 1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/docs/src/dev/future/equality_proposal.asciidoc 
b/docs/src/dev/future/equality_proposal.asciidoc
index dee44d6..16d5808 100644
--- a/docs/src/dev/future/equality_proposal.asciidoc
+++ b/docs/src/dev/future/equality_proposal.asciidoc
@@ -384,20 +384,38 @@ Also note that TinkerPop is Java based and we have 
Double.NaN and Float.NaN, ±D
 === Types
 First we need to define which data types the TinkerPop query execution runtime 
needs to handle. It is JVM based so as a primitive type, we are using the 
following types:
 
-* Byte: 8-bit signed two's complement integer
 * Boolean: true or false
-* Short: 16-bit signed two's complement integer
-* Integer: 32-bit signed two's complement integer.
-* Long: 64-bit signed two's complement integer.
-* Float: 
https://en.wikipedia.org/wiki/Single-precision_floating-point_format[single-precision
 32-bit IEEE 754 floating point]
-* Double: 
https://en.wikipedia.org/wiki/Double-precision_floating-point_format[double-precision
 64-bit IEEE 754 floating point]
-* BigInteger
-* BigDecimal
+* Integer
+  ** int8
+  ** int16 (short)
+  ** int32
+  ** int64 (long)
+  ** uint8 (byte)
+  ** uint16
+  ** uint32
+  ** uint64
+  ** BigInt
+* Float
+  ** float32
+  ** float64 (double)
+  *** In Double and Float, we have a concept of INFINITY / 
https://en.wikipedia.org/wiki/Signed_zero[signed-zero], and NaN.
+  ** BigFloat
 * String / Char
 * UUID
 * Date
 
-Note that in Double or Float, we have a concept of INFINITY / 
https://en.wikipedia.org/wiki/Signed_zero[signed-zero], and NaN.
+Graph providers may not support all of these types depending on the 
architecture and implementation. Therefore TinkerPop must provide a way for 
Graph providers to override the behavior while it has its own default behavior. 
Also when some types are not supported Graph providers needs to map unsupported 
types into supported types internally. This mapping can be done in either 
information-preserving manner or non-preserving manner. Graph providers must 
tell which mapping they support throu [...]
+
+* Which atomic types are supported
+  ** Boolean, Integer, Float, String, UUID and Date
+  ** TinkerPop by default supports all of them
+* Which integer types are supported
+  ** int8, int16, int32, int64, uint8, uint16, uint32, uint64, BigInt
+  ** TinkerPop by default supports uint8 (byte), int16 (short), int32 (int), 
int64 (long) and BigInt
+* Which float types are supported
+  ** float32, float64 and BigFloat
+  ** TinkerPop by defualt supports all as float, double, and BigDecimal in Java
+
 In addition to these, there are composite types as follows:
 
 * Vertex

Reply via email to