@@ -91,7 +91,15 @@ pub extern "C" fn ExecStatement(
91
91
argc : :: std:: os:: raw:: c_int ,
92
92
) -> i32 {
93
93
STATISTICS . exec_statement ( ) ;
94
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
94
+
95
+ let context = r:: rm:: Context :: new ( ctx) ;
96
+ let argvector = match r:: create_argument ( argv, argc) {
97
+ Ok ( argvector) => argvector,
98
+ Err ( error) => {
99
+ STATISTICS . exec_statement_err ( ) ;
100
+ return error. reply ( & context) ;
101
+ }
102
+ } ;
95
103
96
104
match argvector. len ( ) {
97
105
0 ...2 => {
@@ -166,7 +174,14 @@ pub extern "C" fn QueryStatement(
166
174
argc : :: std:: os:: raw:: c_int ,
167
175
) -> i32 {
168
176
STATISTICS . query_statement ( ) ;
169
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
177
+ let context = r:: rm:: Context :: new ( ctx) ;
178
+ let argvector = match r:: create_argument ( argv, argc) {
179
+ Ok ( argvector) => argvector,
180
+ Err ( error) => {
181
+ STATISTICS . query_statement_err ( ) ;
182
+ return error. reply ( & context) ;
183
+ }
184
+ } ;
170
185
171
186
match argvector. len ( ) {
172
187
0 ...2 => {
@@ -233,7 +248,14 @@ pub extern "C" fn QueryStatementInto(
233
248
argc : :: std:: os:: raw:: c_int ,
234
249
) -> i32 {
235
250
STATISTICS . query_statement_into ( ) ;
236
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
251
+ let context = r:: rm:: Context :: new ( ctx) ;
252
+ let argvector = match r:: create_argument ( argv, argc) {
253
+ Ok ( argvector) => argvector,
254
+ Err ( error) => {
255
+ STATISTICS . query_statement_into_err ( ) ;
256
+ return error. reply ( & context) ;
257
+ }
258
+ } ;
237
259
238
260
match argvector. len ( ) {
239
261
0 ...3 => {
@@ -307,7 +329,15 @@ pub extern "C" fn Exec(
307
329
argc : :: std:: os:: raw:: c_int ,
308
330
) -> i32 {
309
331
STATISTICS . exec ( ) ;
310
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
332
+ let context = r:: rm:: Context :: new ( ctx) ;
333
+ let argvector = match r:: create_argument ( argv, argc) {
334
+ Ok ( argvector) => argvector,
335
+ Err ( error) => {
336
+ STATISTICS . exec_err ( ) ;
337
+ return error. reply ( & context) ;
338
+ }
339
+ } ;
340
+
311
341
match argvector. len ( ) {
312
342
3 => with_ch_and_loopdata (
313
343
context. as_ptr ( ) ,
@@ -384,7 +414,15 @@ pub extern "C" fn Query(
384
414
argc : :: std:: os:: raw:: c_int ,
385
415
) -> i32 {
386
416
STATISTICS . query ( ) ;
387
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
417
+ let context = r:: rm:: Context :: new ( ctx) ;
418
+ let argvector = match r:: create_argument ( argv, argc) {
419
+ Ok ( argvector) => argvector,
420
+ Err ( error) => {
421
+ STATISTICS . query_err ( ) ;
422
+ return error. reply ( & context) ;
423
+ }
424
+ } ;
425
+
388
426
match argvector. len ( ) {
389
427
3 => with_ch_and_loopdata (
390
428
context. as_ptr ( ) ,
@@ -449,7 +487,15 @@ pub extern "C" fn QueryInto(
449
487
argc : :: std:: os:: raw:: c_int ,
450
488
) -> i32 {
451
489
STATISTICS . query_into ( ) ;
452
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
490
+ let context = r:: rm:: Context :: new ( ctx) ;
491
+ let argvector = match r:: create_argument ( argv, argc) {
492
+ Ok ( argvector) => argvector,
493
+ Err ( error) => {
494
+ STATISTICS . query_into_err ( ) ;
495
+ return error. reply ( & context) ;
496
+ }
497
+ } ;
498
+
453
499
match argvector. len ( ) {
454
500
4 => {
455
501
let stream_name = argvector[ 1 ] ;
@@ -521,7 +567,15 @@ pub extern "C" fn CreateStatement(
521
567
) -> i32 {
522
568
STATISTICS . create_statement ( ) ;
523
569
524
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
570
+ let context = r:: rm:: Context :: new ( ctx) ;
571
+ let argvector = match r:: create_argument ( argv, argc) {
572
+ Ok ( argvector) => argvector,
573
+ Err ( error) => {
574
+ STATISTICS . create_statement_err ( ) ;
575
+ return error. reply ( & context) ;
576
+ }
577
+ } ;
578
+
525
579
match argvector. len ( ) {
526
580
4 => {
527
581
with_ch_and_loopdata (
@@ -592,7 +646,15 @@ pub extern "C" fn UpdateStatement(
592
646
argc : :: std:: os:: raw:: c_int ,
593
647
) -> i32 {
594
648
STATISTICS . update_statement ( ) ;
595
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
649
+ let context = r:: rm:: Context :: new ( ctx) ;
650
+ let argvector = match r:: create_argument ( argv, argc) {
651
+ Ok ( argvector) => argvector,
652
+ Err ( error) => {
653
+ STATISTICS . update_statement_err ( ) ;
654
+ return error. reply ( & context) ;
655
+ }
656
+ } ;
657
+
596
658
match argvector. len ( ) {
597
659
4 => {
598
660
with_ch_and_loopdata (
@@ -665,7 +727,16 @@ pub extern "C" fn DeleteStatement(
665
727
argc : :: std:: os:: raw:: c_int ,
666
728
) -> i32 {
667
729
STATISTICS . delete_statement ( ) ;
668
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
730
+
731
+ let context = r:: rm:: Context :: new ( ctx) ;
732
+ let argvector = match r:: create_argument ( argv, argc) {
733
+ Ok ( argvector) => argvector,
734
+ Err ( error) => {
735
+ STATISTICS . delete_statement_err ( ) ;
736
+ return error. reply ( & context) ;
737
+ }
738
+ } ;
739
+
669
740
match argvector. len ( ) {
670
741
3 => with_ch_and_loopdata (
671
742
context. as_ptr ( ) ,
@@ -737,7 +808,14 @@ pub extern "C" fn CreateDB(
737
808
argc : :: std:: os:: raw:: c_int ,
738
809
) -> i32 {
739
810
STATISTICS . create_db ( ) ;
740
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
811
+ let context = r:: rm:: Context :: new ( ctx) ;
812
+ let argvector = match r:: create_argument ( argv, argc) {
813
+ Ok ( argvector) => argvector,
814
+ Err ( error) => {
815
+ STATISTICS . create_db_err ( ) ;
816
+ return error. reply ( & context) ;
817
+ }
818
+ } ;
741
819
742
820
match argvector. len ( ) {
743
821
2 | 3 => {
@@ -895,7 +973,14 @@ pub extern "C" fn MakeCopy(
895
973
) -> i32 {
896
974
debug ! ( "MakeCopy | Start" ) ;
897
975
STATISTICS . copy ( ) ;
898
- let ( context, argvector) = r:: create_argument ( ctx, argv, argc) ;
976
+ let context = r:: rm:: Context :: new ( ctx) ;
977
+ let argvector = match r:: create_argument ( argv, argc) {
978
+ Ok ( argvector) => argvector,
979
+ Err ( error) => {
980
+ STATISTICS . copy_err ( ) ;
981
+ return error. reply ( & context) ;
982
+ }
983
+ } ;
899
984
900
985
match argvector. len ( ) {
901
986
3 => with_ch_and_loopdata (
@@ -985,10 +1070,10 @@ pub extern "C" fn MakeCopy(
985
1070
#[ allow( non_snake_case) ]
986
1071
pub extern "C" fn GetStatistics (
987
1072
ctx : * mut r:: rm:: ffi:: RedisModuleCtx ,
988
- argv : * mut * mut r:: rm:: ffi:: RedisModuleString ,
989
- argc : :: std:: os:: raw:: c_int ,
1073
+ _argv : * mut * mut r:: rm:: ffi:: RedisModuleString ,
1074
+ _argc : :: std:: os:: raw:: c_int ,
990
1075
) -> i32 {
991
- let ( context, _argvector ) = r:: create_argument ( ctx, argv , argc ) ;
1076
+ let context = r:: rm :: Context :: new ( ctx) ;
992
1077
let data = STATISTICS . values ( ) . data ;
993
1078
994
1079
let len = data. len ( ) as c_long ;
0 commit comments