@@ -64,6 +64,8 @@ typedef void* (*form_record_t) (void *ctx, size_t *size);
6464typedef void (* deform_record_t ) (void * data , size_t size );
6565
6666
67+ int querytext_max_size = 1000 ;
68+
6769HTAB * stat_htab = NULL ;
6870HTAB * queries_htab = NULL ;
6971HTAB * qtexts_htab = NULL ;
@@ -934,7 +936,7 @@ aqo_qtext_store(uint64 queryid, const char *query_string)
934936
935937 Assert (!LWLockHeldByMe (& aqo_state -> qtexts_lock ));
936938
937- if (query_string == NULL )
939+ if (query_string == NULL || querytext_max_size == 0 )
938940 return false;
939941
940942 dsa_init ();
@@ -969,7 +971,7 @@ aqo_qtext_store(uint64 queryid, const char *query_string)
969971 }
970972
971973 entry -> queryid = queryid ;
972- size = size > max_size ? max_size : size ;
974+ size = size > querytext_max_size ? querytext_max_size : size ;
973975 entry -> qtext_dp = dsa_allocate (qtext_dsa , size );
974976 Assert (DsaPointerIsValid (entry -> qtext_dp ));
975977 strptr = (char * ) dsa_get_address (qtext_dsa , entry -> qtext_dp );
@@ -1641,7 +1643,7 @@ aqo_queries(PG_FUNCTION_ARGS)
16411643 while ((entry = hash_seq_search (& hash_seq )) != NULL )
16421644 {
16431645 memset (nulls , 0 , AQ_TOTAL_NCOLS + 1 );
1644-
1646+
16451647 values [AQ_QUERYID ] = Int64GetDatum (entry -> queryid );
16461648 values [AQ_FS ] = Int64GetDatum (entry -> fs );
16471649 values [AQ_LEARN_AQO ] = BoolGetDatum (entry -> learn_aqo );
0 commit comments