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 6f702d0c8ea64d96f0466c4da8508e1b4f75aa0a..16853ced6f20283fd6f3e1e52da02ea3f2a0000c 100644 (file)
@@ -1927,7 +1927,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.)
    
 
    
@@ -9836,6 +9837,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