doc: add documentation about ecpg Oracle-compatibility mode
authorBruce Momjian
Thu, 14 Jul 2022 20:19:45 +0000 (16:19 -0400)
committerBruce Momjian
Thu, 14 Jul 2022 20:19:45 +0000 (16:19 -0400)
Reported-by: Takeshi Ideriha
Discussion: https://postgr.es/m/TYCPR01MB7041A157067208327D8DAAF9EAA59@TYCPR01MB7041.jpnprd01.prod.outlook.com

Backpatch-through: 11

doc/src/sgml/ecpg.sgml

index 84df3c3868cbb5903a7f8d7596b6c2e6e2ea88f8..22cd565e5fbd01544dce7ba9a7b6ac4f042416e6 100644 (file)
@@ -1822,7 +1822,8 @@ EXEC SQL SELECT b INTO :val :val_ind FROM test1;
 
     The indicator variable val_ind will be zero if
     the value was not null, and it will be negative if the value was
-    null.
+    null.  (See  to enable
+    Oracle-specific behavior.)
    
 
    
@@ -9586,6 +9587,42 @@ risnull(CINTTYPE, (char *) &i);
   
  
 
+  <productname>Oracle</productname> Compatibility Mode
+  
+   ecpg can be run in a so-called Oracle
+   compatibility mode. If this mode is active, it tries to
+   behave as if it were Oracle Pro*C.
+  
+
+  
+   Specifically, this mode changes ecpg in three ways:
+
+   
+    
+     
+      Pad character arrays receiving character string types with
+      trailing spaces to the specified length
+     
+    
+
+    
+     
+      Zero byte terminate these character arrays, and set the indicator
+      variable if truncation occurs
+     
+    
+
+    
+     
+      Set the null indicator to -1 when character
+      arrays receive empty character string types
+     
+    
+   
+  
+
  
   Internals