]> granicus.if.org Git - postgresql/commitdiff
Fix macro read violation for Maurice.
authorBruce Momjian <bruce@momjian.us>
Tue, 31 Mar 1998 15:53:51 +0000 (15:53 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 31 Mar 1998 15:53:51 +0000 (15:53 +0000)
src/include/c.h
src/test/regress/expected/name.out [new file with mode: 0644]

index c703a2fc4bd610a08621b18ed99928d057a2e6b4..ae330d24050bf063f570c5177c19f57416e5523c 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: c.h,v 1.37 1998/03/20 04:17:34 momjian Exp $
+ * $Id: c.h,v 1.38 1998/03/31 15:53:39 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -703,7 +703,15 @@ typedef struct Exception
  */
 /* we do this so if the macro is used in an if action, it will work */
 #define StrNCpy(dst,src,len)   \
-       (strncpy((dst),(src),(len)),(len > 0) ? *((dst)+(len)-1)='\0' : (dummyret)NULL,(void)(dst))
+( \
+       ((len) > 0) ? \
+       ( \
+               strncpy((dst),(src),(len)-1), \
+               *((dst)+(len)-1)='\0' \
+       ) \
+       : \
+               (dummyret)NULL,(void)(dst) \
+)
 
 /* Get a bit mask of the bits set in non-int32 aligned addresses */
 #define INT_ALIGN_MASK (sizeof(int32) - 1)
diff --git a/src/test/regress/expected/name.out b/src/test/regress/expected/name.out
new file mode 100644 (file)
index 0000000..9d3cdd4
--- /dev/null
@@ -0,0 +1,116 @@
+QUERY: SELECT 'name string'::name = 'name string'::name AS "True";
+True
+----
+t   
+(1 row)
+
+QUERY: SELECT 'name string'::name = 'name string '::name AS "False";
+False
+-----
+f    
+(1 row)
+
+QUERY: CREATE TABLE NAME_TBL(f1 name);
+QUERY: INSERT INTO NAME_TBL(f1) VALUES ('ABCDEFGHIJKLMNOP');
+QUERY: INSERT INTO NAME_TBL(f1) VALUES ('abcdefghijklmnop');
+QUERY: INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
+QUERY: INSERT INTO NAME_TBL(f1) VALUES ('343f%2a');
+QUERY: INSERT INTO NAME_TBL(f1) VALUES ('d34aaasdf');
+QUERY: INSERT INTO NAME_TBL(f1) VALUES ('');
+QUERY: INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
+QUERY: SELECT '' AS seven, NAME_TBL.*;
+seven|f1                             
+-----+-------------------------------
+     |ABCDEFGHIJKLMNOP               
+     |abcdefghijklmnop               
+     |asdfghjkl;                     
+     |343f%2a                        
+     |d34aaasdf                      
+     |                               
+     |1234567890ABCDEFGHIJKLMNOPQRSTU
+(7 rows)
+
+QUERY: SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> 'ABCDEFGHIJKLMNOP';
+six|f1                             
+---+-------------------------------
+   |abcdefghijklmnop               
+   |asdfghjkl;                     
+   |343f%2a                        
+   |d34aaasdf                      
+   |                               
+   |1234567890ABCDEFGHIJKLMNOPQRSTU
+(6 rows)
+
+QUERY: SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = 'ABCDEFGHIJKLMNOP';
+one|f1              
+---+----------------
+   |ABCDEFGHIJKLMNOP
+(1 row)
+
+QUERY: SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 < 'ABCDEFGHIJKLMNOP';
+three|f1                             
+-----+-------------------------------
+     |343f%2a                        
+     |                               
+     |1234567890ABCDEFGHIJKLMNOPQRSTU
+(3 rows)
+
+QUERY: SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 <= 'ABCDEFGHIJKLMNOP';
+four|f1                             
+----+-------------------------------
+    |ABCDEFGHIJKLMNOP               
+    |343f%2a                        
+    |                               
+    |1234567890ABCDEFGHIJKLMNOPQRSTU
+(4 rows)
+
+QUERY: SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 > 'ABCDEFGHIJKLMNOP';
+three|f1              
+-----+----------------
+     |abcdefghijklmnop
+     |asdfghjkl;      
+     |d34aaasdf       
+(3 rows)
+
+QUERY: SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 >= 'ABCDEFGHIJKLMNOP';
+four|f1              
+----+----------------
+    |ABCDEFGHIJKLMNOP
+    |abcdefghijklmnop
+    |asdfghjkl;      
+    |d34aaasdf       
+(4 rows)
+
+QUERY: SELECT '' AS seven, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
+seven|f1                             
+-----+-------------------------------
+     |ABCDEFGHIJKLMNOP               
+     |abcdefghijklmnop               
+     |asdfghjkl;                     
+     |343f%2a                        
+     |d34aaasdf                      
+     |                               
+     |1234567890ABCDEFGHIJKLMNOPQRSTU
+(7 rows)
+
+QUERY: SELECT '' AS zero, c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
+zero|f1
+----+--
+(0 rows)
+
+QUERY: SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]';
+three|f1                             
+-----+-------------------------------
+     |343f%2a                        
+     |d34aaasdf                      
+     |1234567890ABCDEFGHIJKLMNOPQRSTU
+(3 rows)
+
+QUERY: SELECT '' AS two, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*';
+two|f1        
+---+----------
+   |asdfghjkl;
+   |d34aaasdf 
+(2 rows)
+
+QUERY: DROP TABLE NAME_TBL;