Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  sqljson.pgc   Sprache: unbekannt

 
Spracherkennung für: .pgc vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

#include <stdio.h>

EXEC SQL INCLUDE sqlca;
exec sql include ../regression;

EXEC SQL WHENEVER SQLERROR sqlprint;

int
main ()
{
EXEC SQL BEGIN DECLARE SECTION;
  char json[1024];
  bool is_json[8];
EXEC SQL END DECLARE SECTION;

  ECPGdebug (1, stderr);

  EXEC SQL CONNECT TO REGRESSDB1;
  EXEC SQL SET AUTOCOMMIT = ON;

  EXEC SQL SELECT JSON_OBJECT(RETURNING text) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_OBJECT(RETURNING text FORMAT JSON) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_ARRAY(RETURNING jsonb) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_ARRAY(RETURNING jsonb FORMAT JSON) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_OBJECT(11, '1': NULL WITH UNIQUE) INTO :json;
  // error

  EXEC SQL SELECT JSON_OBJECT(11, '2': NULL, 1: '2' ABSENT ON NULL WITHOUT UNIQUE KEYS) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_OBJECT(11, '2': NULL ABSENT ON NULL WITHOUT UNIQUE RETURNING jsonb) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON(NULL) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON('{ "a" : 1 } ' FORMAT JSON) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON('{ "a" : 1 } ' FORMAT JSON ENCODING UTF8) INTO :json;
  // error

  EXEC SQL SELECT JSON('   1   '::jsonb) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON('   1   '::json WITH UNIQUE KEYS) INTO json;
  // error

  EXEC SQL SELECT JSON('{"a": 1, "a": 2}') INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON('{"a": 1, "a": 2}' WITH UNIQUE KEYS) INTO :json;
  // error

  EXEC SQL SELECT JSON_SCALAR(NULL) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SCALAR(NULL::int) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SCALAR(123.45) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SCALAR(true) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SCALAR(' 123.45') INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SCALAR('2020-06-07 01:02:03'::timestamp) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SCALAR('{}'::jsonb) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SERIALIZE(NULL) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SERIALIZE(JSON('{ "a" : 1 } ')) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SERIALIZE('{ "a" : 1 } ') INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SERIALIZE('1' FORMAT JSON) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING varchar) INTO :json;
  printf("Found json=%s\n", json);

  EXEC SQL SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING jsonb);
  // error

  EXEC SQL WITH val (js) AS (VALUES ('{ "a": 1, "b": [{ "a": 1, "b": 0, "a": 2 }] }'))
   SELECT
   js IS JSON "IS JSON",
   js IS NOT JSON "IS NOT JSON",
   js IS JSON VALUE "IS VALUE",
   js IS JSON OBJECT "IS OBJECT",
   js IS JSON ARRAY "IS ARRAY",
   js IS JSON SCALAR "IS SCALAR",
   js IS JSON WITHOUT UNIQUE KEYS "WITHOUT UNIQUE",
   js IS JSON WITH UNIQUE KEYS "WITH UNIQUE"
    INTO :is_json[0], :is_json[1], :is_json[2], :is_json[3], :is_json[4],
    :is_json[5], :is_json[6], :is_json[7]
    FROM val;
   for (int i = 0; i < sizeof(is_json); i++)
    printf("Found is_json[%d]: %s\n", i, is_json[i] ? "true" : "false");

  EXEC SQL DISCONNECT;

  return 0;
}

[Dauer der Verarbeitung: 0.20 Sekunden, vorverarbeitet 2026-08-08]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

letze Version des Elbe Quellennavigators


Jenseits des Üblichen ....

Besucher

Besucher

Statistik
#Sources=434850
#Domains=655579