Returned type bigint does not match expected type integer in column 3











up vote
0
down vote

favorite












Below is my table structure for sold_quantity (Migration File)



alter table public.invoice_item add column sold_quantity int4 default 1;


Below is the function for execution



CREATE OR REPLACE FUNCTION sold_quantity()
RETURNS TABLE(
invoiceid BIGINT,
itemid BIGINT,
sum_sold_quantity INT)
AS $$
BEGIN
RETURN QUERY SELECT
invoice_id as invoiceid, item_id as itemid, sum(sold_quantity) as
sum_sold_quantity
FROM
invoice_item
WHERE
status='sold'
GROUP BY
invoice_id, item_id;
END; $$


What is the wrong in my code, Please help me solve this Error



Returned type bigint does not match expected type integer in column 3










share|improve this question


























    up vote
    0
    down vote

    favorite












    Below is my table structure for sold_quantity (Migration File)



    alter table public.invoice_item add column sold_quantity int4 default 1;


    Below is the function for execution



    CREATE OR REPLACE FUNCTION sold_quantity()
    RETURNS TABLE(
    invoiceid BIGINT,
    itemid BIGINT,
    sum_sold_quantity INT)
    AS $$
    BEGIN
    RETURN QUERY SELECT
    invoice_id as invoiceid, item_id as itemid, sum(sold_quantity) as
    sum_sold_quantity
    FROM
    invoice_item
    WHERE
    status='sold'
    GROUP BY
    invoice_id, item_id;
    END; $$


    What is the wrong in my code, Please help me solve this Error



    Returned type bigint does not match expected type integer in column 3










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Below is my table structure for sold_quantity (Migration File)



      alter table public.invoice_item add column sold_quantity int4 default 1;


      Below is the function for execution



      CREATE OR REPLACE FUNCTION sold_quantity()
      RETURNS TABLE(
      invoiceid BIGINT,
      itemid BIGINT,
      sum_sold_quantity INT)
      AS $$
      BEGIN
      RETURN QUERY SELECT
      invoice_id as invoiceid, item_id as itemid, sum(sold_quantity) as
      sum_sold_quantity
      FROM
      invoice_item
      WHERE
      status='sold'
      GROUP BY
      invoice_id, item_id;
      END; $$


      What is the wrong in my code, Please help me solve this Error



      Returned type bigint does not match expected type integer in column 3










      share|improve this question













      Below is my table structure for sold_quantity (Migration File)



      alter table public.invoice_item add column sold_quantity int4 default 1;


      Below is the function for execution



      CREATE OR REPLACE FUNCTION sold_quantity()
      RETURNS TABLE(
      invoiceid BIGINT,
      itemid BIGINT,
      sum_sold_quantity INT)
      AS $$
      BEGIN
      RETURN QUERY SELECT
      invoice_id as invoiceid, item_id as itemid, sum(sold_quantity) as
      sum_sold_quantity
      FROM
      invoice_item
      WHERE
      status='sold'
      GROUP BY
      invoice_id, item_id;
      END; $$


      What is the wrong in my code, Please help me solve this Error



      Returned type bigint does not match expected type integer in column 3







      postgresql function types postgresql-9.5






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 22 at 7:45









      Gagan Mesala

      207




      207
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          sum() returns a bigint, not necessarily the type of the column that is being summed.



          If you are 100% sure your sum never exceeds the range for an integer, you can fix this using a cast in your query: sum(sold_quantity)::int as sum_sold_quantity



          But it would be better to adjust the signature of the function:



          CREATE OR REPLACE FUNCTION sold_quantity()
          RETURNS TABLE(
          invoiceid BIGINT,
          itemid BIGINT,
          sum_sold_quantity BIGINT)





          share|improve this answer





















          • Thanks It worked
            – Gagan Mesala
            Nov 22 at 9:23











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53426089%2freturned-type-bigint-does-not-match-expected-type-integer-in-column-3%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote



          accepted










          sum() returns a bigint, not necessarily the type of the column that is being summed.



          If you are 100% sure your sum never exceeds the range for an integer, you can fix this using a cast in your query: sum(sold_quantity)::int as sum_sold_quantity



          But it would be better to adjust the signature of the function:



          CREATE OR REPLACE FUNCTION sold_quantity()
          RETURNS TABLE(
          invoiceid BIGINT,
          itemid BIGINT,
          sum_sold_quantity BIGINT)





          share|improve this answer





















          • Thanks It worked
            – Gagan Mesala
            Nov 22 at 9:23















          up vote
          1
          down vote



          accepted










          sum() returns a bigint, not necessarily the type of the column that is being summed.



          If you are 100% sure your sum never exceeds the range for an integer, you can fix this using a cast in your query: sum(sold_quantity)::int as sum_sold_quantity



          But it would be better to adjust the signature of the function:



          CREATE OR REPLACE FUNCTION sold_quantity()
          RETURNS TABLE(
          invoiceid BIGINT,
          itemid BIGINT,
          sum_sold_quantity BIGINT)





          share|improve this answer





















          • Thanks It worked
            – Gagan Mesala
            Nov 22 at 9:23













          up vote
          1
          down vote



          accepted







          up vote
          1
          down vote



          accepted






          sum() returns a bigint, not necessarily the type of the column that is being summed.



          If you are 100% sure your sum never exceeds the range for an integer, you can fix this using a cast in your query: sum(sold_quantity)::int as sum_sold_quantity



          But it would be better to adjust the signature of the function:



          CREATE OR REPLACE FUNCTION sold_quantity()
          RETURNS TABLE(
          invoiceid BIGINT,
          itemid BIGINT,
          sum_sold_quantity BIGINT)





          share|improve this answer












          sum() returns a bigint, not necessarily the type of the column that is being summed.



          If you are 100% sure your sum never exceeds the range for an integer, you can fix this using a cast in your query: sum(sold_quantity)::int as sum_sold_quantity



          But it would be better to adjust the signature of the function:



          CREATE OR REPLACE FUNCTION sold_quantity()
          RETURNS TABLE(
          invoiceid BIGINT,
          itemid BIGINT,
          sum_sold_quantity BIGINT)






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 22 at 7:58









          a_horse_with_no_name

          290k46441536




          290k46441536












          • Thanks It worked
            – Gagan Mesala
            Nov 22 at 9:23


















          • Thanks It worked
            – Gagan Mesala
            Nov 22 at 9:23
















          Thanks It worked
          – Gagan Mesala
          Nov 22 at 9:23




          Thanks It worked
          – Gagan Mesala
          Nov 22 at 9:23


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53426089%2freturned-type-bigint-does-not-match-expected-type-integer-in-column-3%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Sphinx de Gizeh

          Dijon

          Get global maximum slope