DiegoEmilio01 / IIC3413

Repositorio del curso Implementación de Sistemas de Bases de Datos
16 stars 2 forks source link

Duda con datatypes de los valores en BETWEEN #31

Open SebaHagedorn opened 1 month ago

SebaHagedorn commented 1 month ago

Hola!

Para el funcionamiento del between, se debe habilitar que el high y el low sean el mismo datatype que la columna. El datatype the la columna puedo obtenerlo. Pero aún no he logrado sacar los datatypes de esos valores y solo obtenerlos a través del ctx. Hay alguna forma de sacarlos sin tener que hacer una especie de try except?

Gracias de antemano

cirojas commented 1 month ago

Puedes usar la función auxiliar

Value get_value(IIC3413DBParser::ConstantContext* ctx)

y la clase Value tiene el atributo datatype. Para eso vas a tener que obtener el contexto de las constantes a través del contexto del operador Between. Si en tu definición de gramática del between tienes 2 constantes, puedes acceder a ellas haciendo algo así:

ctx->constant(0); // accede a la primera constante (empezando de izquierda a derecha)
ctx->constant(1); // accede a la segunda constante
SebaHagedorn commented 1 month ago

Gracias!