More compact implementation of the typeof() SQL function.
FossilOrigin-Name: efb4aab0caa4145732a5438cc2a193bc12c455b4007220564d240e75900ea8ad
This commit is contained in:
+9
-9
@@ -76,16 +76,16 @@ static void typeofFunc(
|
||||
int NotUsed,
|
||||
sqlite3_value **argv
|
||||
){
|
||||
const char *z = 0;
|
||||
static const char *azType[] = { "integer", "real", "text", "blob", "null" };
|
||||
int i = sqlite3_value_type(argv[0]) - 1;
|
||||
UNUSED_PARAMETER(NotUsed);
|
||||
switch( sqlite3_value_type(argv[0]) ){
|
||||
case SQLITE_INTEGER: z = "integer"; break;
|
||||
case SQLITE_TEXT: z = "text"; break;
|
||||
case SQLITE_FLOAT: z = "real"; break;
|
||||
case SQLITE_BLOB: z = "blob"; break;
|
||||
default: z = "null"; break;
|
||||
}
|
||||
sqlite3_result_text(context, z, -1, SQLITE_STATIC);
|
||||
assert( i>=0 && i<ArraySize(azType) );
|
||||
assert( SQLITE_INTEGER==1 );
|
||||
assert( SQLITE_FLOAT==2 );
|
||||
assert( SQLITE_TEXT==3 );
|
||||
assert( SQLITE_BLOB==4 );
|
||||
assert( SQLITE_NULL==5 );
|
||||
sqlite3_result_text(context, azType[i], -1, SQLITE_STATIC);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user