More compact implementation of the typeof() SQL function.

FossilOrigin-Name: efb4aab0caa4145732a5438cc2a193bc12c455b4007220564d240e75900ea8ad
This commit is contained in:
drh
2017-07-06 13:51:50 +00:00
parent ebaaa67db2
commit 9d8e401c2d
3 changed files with 16 additions and 16 deletions
+6 -6
View File
@@ -1,5 +1,5 @@
C Avoid\sunnecessary\supper-to-lower\scase\sconversion\sfor\sfunction\snames\swhen\nregistering\sthe\sbuilt-in\sfunctions. C More\scompact\simplementation\sof\sthe\stypeof()\sSQL\sfunction.
D 2017-07-06T13:23:26.761 D 2017-07-06T13:51:50.091
F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12 F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 4ebb1d257cac7fb1bcb4ba59278416d410ff1c4bf59447a9c37a415f3516056a F Makefile.msc 4ebb1d257cac7fb1bcb4ba59278416d410ff1c4bf59447a9c37a415f3516056a
@@ -404,7 +404,7 @@ F src/delete.c 3213547e97b676c6fa79948b7a9ede4801ea04a01a2043241deafedf132ecf5d
F src/expr.c cc024ddd19aa37b6672caedab90e2a5ec69a4a1a97da94c2f1a0bd81cf0cd922 F src/expr.c cc024ddd19aa37b6672caedab90e2a5ec69a4a1a97da94c2f1a0bd81cf0cd922
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c 5ff2c895fe087756d8085dc1a9bc229b5670e2a65c3929dd87c71e43649af333 F src/fkey.c 5ff2c895fe087756d8085dc1a9bc229b5670e2a65c3929dd87c71e43649af333
F src/func.c 9d52522cc8ae7f5cdadfe14594262f1618bc1f86083c4cd6da861b4cf5af6174 F src/func.c 7647140a8624c66cc6e34bdf8005a92390253d6272e87c7901dc8065b563d435
F src/global.c 8a6ab6b4d91effb96ffa81b39f0d70c862abca157f8aaa194600a4a8b7923344 F src/global.c 8a6ab6b4d91effb96ffa81b39f0d70c862abca157f8aaa194600a4a8b7923344
F src/hash.c a12580e143f10301ed5166ea4964ae2853d3905a511d4e0c44497245c7ce1f7a F src/hash.c a12580e143f10301ed5166ea4964ae2853d3905a511d4e0c44497245c7ce1f7a
F src/hash.h ab34c5c54a9e9de2e790b24349ba5aab3dbb4fd4 F src/hash.h ab34c5c54a9e9de2e790b24349ba5aab3dbb4fd4
@@ -1628,7 +1628,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 55ecd30304517acd23f89b3450fd6a5e18ac2f79aa24a4ff693f8d71a49f7837 P 06269257647db51fbc9f8cda88abac5db28b6f917a509768af7686dfa2b94511
R f2caa248598afe69c11c79f692296985 R 8d88458ca1178062a686c7622fab862c
U drh U drh
Z 44f64d9a1e77f2b97c5ca936f62c9641 Z 16d02781d00f9c4bbd9708369c77eae3
+1 -1
View File
@@ -1 +1 @@
06269257647db51fbc9f8cda88abac5db28b6f917a509768af7686dfa2b94511 efb4aab0caa4145732a5438cc2a193bc12c455b4007220564d240e75900ea8ad
+9 -9
View File
@@ -76,16 +76,16 @@ static void typeofFunc(
int NotUsed, int NotUsed,
sqlite3_value **argv 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); UNUSED_PARAMETER(NotUsed);
switch( sqlite3_value_type(argv[0]) ){ assert( i>=0 && i<ArraySize(azType) );
case SQLITE_INTEGER: z = "integer"; break; assert( SQLITE_INTEGER==1 );
case SQLITE_TEXT: z = "text"; break; assert( SQLITE_FLOAT==2 );
case SQLITE_FLOAT: z = "real"; break; assert( SQLITE_TEXT==3 );
case SQLITE_BLOB: z = "blob"; break; assert( SQLITE_BLOB==4 );
default: z = "null"; break; assert( SQLITE_NULL==5 );
} sqlite3_result_text(context, azType[i], -1, SQLITE_STATIC);
sqlite3_result_text(context, z, -1, SQLITE_STATIC);
} }