PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL C फ़ंक्शन में int8[] सरणी बनाएं

आपको फ़ंक्शन का उपयोग करना चाहिए construct_array या construct_md_array

#include "catalog/pg_type.h"

PG_FUNCTION_INFO_V1(array_four);

Datum
array_four(PG_FUNCTION_ARGS)
{
    Datum       elements[4];
    ArrayType   *array;

    elements[0] = PG_GETARG_DATUM(0);
    elements[1] = PG_GETARG_DATUM(1);
    elements[2] = PG_GETARG_DATUM(2);
    elements[3] = PG_GETARG_DATUM(3);

    array = construct_array(elements, 4, INT8OID, 8, true, 'd');

    PG_RETURN_POINTER(array);
}

दूसरा संस्करण:

Datum
array_four(PG_FUNCTION_ARGS)
{
    Datum       elements[4];
    ArrayType   *array;
    int i;

    for (i = 0; i < 4; i++)
        elements[i] = Int64GetDatum(i);

    array = construct_array(elements, 4, INT8OID, 8, true, 'd');

    PG_RETURN_POINTER(array);
}

पंजीकरण:

CREATE FUNCTION array_four(int, int, int, int)
RETURNS int[]
AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT;

परीक्षण:

postgres=# select array_four(10,20,30,40);
┌───────────────┐
│  array_four   │
╞═══════════════╡
│ {10,20,30,40} │
└───────────────┘
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL चयन क्वेरी में कॉलम की अधिकतम संख्या क्या है

  2. c++ पोस्टग्रेज टाइमस्टैम्प को समय क्षेत्र के बिना time_t . में बदलें

  3. चुनिंदा में PostgreSQL रेगुलर एक्सप्रेशन कैप्चर समूह

  4. SQLAlchemy के साथ परावर्तित तालिका से हटाई गई पंक्तियाँ

  5. Postgres 9.4 के लिए स्थायी रूप से समय क्षेत्र कैसे सेट करें