home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 December / PCWorld_1998-12_cd.iso / software / sybase / ASA / asa60.exe / data1.cab / scripts_files / upgrinit.sql < prev   
Text File  |  1998-07-27  |  4KB  |  164 lines

  1.     
  2.     
  3.     
  4.  
  5. create variable @dbo_userid        int
  6. go
  7. create variable @dbo_exists        char(1)
  8. go
  9. create variable @upper_case_views    char(1)
  10. go
  11. create variable @finished        char(1)
  12. go
  13. create variable @collation_size        smallint
  14. go
  15. create variable @upgrade_type        int
  16. go
  17. create variable @tableid        int
  18. go
  19. create variable @passworddomain        int
  20. go
  21. create variable @version        int
  22. go
  23. create variable @newest_database_version        int
  24. go
  25. create variable @flags            binary(256)
  26. go
  27. set @upper_case_views = 'Y'
  28. go
  29. set @finished = 'N'
  30. go
  31. set @upgrade_type =  0 
  32. go
  33. set @dbo_exists = 'N'
  34. go
  35. set @newest_database_version =  37 
  36. go
  37. set @flags = NULL
  38. go
  39. if exists( select * from SYS.SYSUSERPERM where user_name = 'dbo' ) then
  40.     set @dbo_exists = 'Y';
  41.     select user_id into @dbo_userid from SYS.SYSUSERPERM where user_name = 'dbo';
  42.     if not exists( select * from SYS.SYSTABLE 
  43.             where table_name = 'sysalternates' and creator = @dbo_userid ) then
  44.     set @upper_case_views = 'N';
  45.     end if;
  46. end if
  47. go
  48. select width into @collation_size 
  49. from  SYS.SYSTABLE t, SYS.SYSCOLUMN c 
  50. where table_name = 'SYSCOLLATION' 
  51. and   t.table_id = c.table_id 
  52. and   creator = 0 
  53. and   column_name = 'collation_order'
  54. go
  55. if not exists( select * from SYS.SYSTABLE 
  56.         where table_name = 'SYSPROCEDURE' and creator = 0 ) then
  57.     set @upgrade_type =  101 ;
  58. else
  59.     if not exists( select * from SYS.SYSTABLE 
  60.             where table_name = 'SYSUSERMESSAGES' and creator = 0 ) then
  61.     set @upgrade_type =  2 ;
  62.     end if;
  63. end if
  64. go
  65. if @upgrade_type <>  0  then
  66.     if @dbo_exists = 'Y' then
  67.     set @upgrade_type =  101 ;
  68.     end if;
  69.     set @finished = 'Y';
  70. end if
  71. go
  72. if @finished = 'N' then
  73.     select domain_id into @passworddomain 
  74.     from SYS.SYSCOLUMN c, SYS.SYSTABLE t
  75.     where column_name = 'password' 
  76.     and table_name = 'SYSUSERPERM'
  77.     and c.table_id = t.table_id;
  78.     
  79.     if @passworddomain =  8  then
  80.     set @upgrade_type =  3 ;
  81.     set @finished = 'Y';
  82.     end if;
  83. end if
  84. go
  85. if @finished = 'N' then
  86.     if not exists( select * from SYS.SYSTABLE 
  87.             where table_name = 'SYSREMOTETYPE' and creator = 0 ) then
  88.     set @upgrade_type =  4 ; 
  89.     set @finished = 'Y';
  90.     end if;
  91. end if
  92. go
  93. if @finished = 'N' then
  94.     select table_id into @tableid 
  95.     from SYS.SYSTABLE 
  96.     where table_name = 'SYSCOLPERM' 
  97.     and creator = 0;
  98.     if not exists( select * from SYS.SYSCOLUMN 
  99.             where table_id = @tableid 
  100.             and column_name = 'privilege_type' ) then
  101.     set @upgrade_type =  5 ; 
  102.     set @finished = 'Y';
  103.     end if;
  104. end if
  105. go
  106. if @finished = 'N' then
  107.     select db_property( 'FileVersion' ) into @version;
  108.     if @version >=  33  and
  109.        @version <=  35  then
  110.     if @version =  33  then
  111.         set @upgrade_type =  6 ;
  112.         set @finished = 'Y';
  113.     else
  114.         if exists( select * from SYS.SYSINFO where default_collation 
  115.         in ('SJIS', 'SJIS2', 'EUC_JAPAN', 'EUC_CHINA', 'EUC_TAIWAN', 'EUC_KOREA', 'UTF8' ) ) then
  116.         set @upgrade_type =  7 ;
  117.         set @finished = 'Y';
  118.         end if;
  119.     end if;
  120.     end if;
  121. end if
  122. go
  123. if @finished = 'N' then
  124.     if not exists( select * from SYS.SYSTABLE 
  125.             where table_name = 'SYSTYPEMAP' and creator = 0 ) then
  126.     set @upgrade_type =  8 ;
  127.     set @finished = 'Y';
  128.     end if;
  129. end if
  130. go
  131. if @finished = 'N' then
  132.     if not exists( select * from SYS.SYSTABLE 
  133.             where table_name = 'SYSLOGIN' and creator = 0 ) then
  134.     set @upgrade_type =  9 ;
  135.     set @finished = 'Y';
  136.     end if;
  137. end if
  138. go
  139. if @finished = 'N' then
  140.     if not exists( select * from SYS.SYSTABLE 
  141.             where table_name = 'SYSJAR' and creator = 0 ) then
  142.     set @upgrade_type =  10 ;
  143.     set @finished = 'Y';
  144.     end if;
  145. end if
  146. go
  147. if @finished = 'N' then
  148.     set @upgrade_type =  100 ;
  149.     set @finished = 'Y';
  150. end if
  151. go
  152. drop variable @dbo_userid    
  153. go
  154. drop variable @finished
  155. go
  156. drop variable @tableid
  157. go
  158. drop variable @passworddomain
  159. go
  160. DROP variable @version        
  161. go
  162. DROP variable @dbo_exists        
  163. go
  164.