1. 26 Feb, 2009 2 commits
    • marko's avatar
      branches/zip: btr_check_blob_fil_page_type(): Do not report · 6f68a36f
      marko authored
      FIL_PAGE_TYPE mismatch even when purging a BLOB.
      Heavy users may have large data files created with MySQL 5.0 or earlier,
      and they don not want to have the error log flooded with such messages.
      
      This fixes Issue #182.
      6f68a36f
    • vasil's avatar
      branches/zip: · 119d0f4c
      vasil authored
      Apply any necessary patches to the mysql tree at the end of setup.sh
      This step was previously done manually (and sometimes forgotten).
      119d0f4c
  2. 25 Feb, 2009 7 commits
    • vasil's avatar
      branches/zip: · bc707482
      vasil authored
      Do not output the commands that restore the environment because they depend
      on the state of the environment before the test starts executing.
      bc707482
    • vasil's avatar
      branches/zip: · e8ef902d
      vasil authored
      White-space cleanup in the ChangeLog
      e8ef902d
    • marko's avatar
      branches/zip: Correct the initialization of the memory subsystem once · 22bfdb3b
      marko authored
      again, to finally put Issue #181 to rest.
      
      Revert some parts of r4274.  It is best not to call ut_malloc() before
      srv_general_init().
      
      mem_init(): Do not call ut_mem_init().
      
      srv_general_init(): Initialize the memory subsystem in two phases:
      first ut_mem_init(), then mem_init().  This is because os_sync_init()
      and sync_init() depend on ut_mem_init() and mem_init() depends on
      os_sync_init() or sync_init().
      
      srv_parse_data_file_paths_and_sizes(),
      srv_parse_log_group_home_dirs(): Remove the output parameters.  Assign
      to the global variables directly.  Allocate memory with malloc()
      instead of ut_malloc(), because these functions will be called before
      srv_general_init().
      
      srv_free_paths_and_sizes(): New function, for cleaning up after
      srv_parse_data_file_paths_and_sizes() and
      srv_parse_log_group_home_dirs().
      
      rb://92 approved by Sunny Bains
      22bfdb3b
    • vasil's avatar
      branches/zip: · 1491f438
      vasil authored
      Fix Bug synopsis and remove explanation
      1491f438
    • vasil's avatar
      branches/zip: · a6450ac4
      vasil authored
      Make ChangeLog entries for bugs in bugs.mysql.com in the form:
      Fix Bug#12345 bug title
      (for bugs after 1.0.2 was released and the ChangeLog published)
      
      There is no need to bloat the ChangeLog with information that is available
      via bugs.mysql.com.
      
      Discussed with:	Marko
      a6450ac4
    • vasil's avatar
      branches/zip: · b870ca5e
      vasil authored
      Add ChangeLog entry for the fix in r4288.
      b870ca5e
    • vasil's avatar
      branches/zip: Merge revisions 4261:4287 from branches/5.1: · 0ded826c
      vasil authored
        ------------------------------------------------------------------------
        r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two
        changes to the autoinc handling.
        
        1. To fix the immediate problem from the bug report, we must ensure that the
           value written to the table is always less than the max value stored in
           dict_table_t.
        
        2. The second related change is that according to MySQL documentation when
           the offset is greater than the increment, we should ignore the offset.
        
        ------------------------------------------------------------------------
      0ded826c
  3. 24 Feb, 2009 4 commits
  4. 23 Feb, 2009 5 commits
  5. 20 Feb, 2009 6 commits
    • vasil's avatar
      branches/zip: · d15afc73
      vasil authored
      Add a sentence at the top of COPYING.Google to clarify that this license
      does not apply to the whole InnoDB.
      
      Suggested by:	Ken
      d15afc73
    • marko's avatar
      branches/zip: Make innodb_use_sys_malloc=ON the default. · 29b522b2
      marko authored
      Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc)
      to improve branch prediction in the default case.
      
      Approved by Ken over the IM.
      29b522b2
    • vasil's avatar
      branches/zip: · 567771b4
      vasil authored
      Add a ChangeLog entry for a change in r4262.
      567771b4
    • vasil's avatar
      branches/zip: · 19b650ee
      vasil authored
      Merge revisions 4035:4261 from branches/5.1:
      
        ------------------------------------------------------------------------
        r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC
        is only defined for integer columns. This caused an assertion failure when
        we checked for the maximum value of a column type. We now calculate the
        max value for floating-point autoinc columns too.
        
        Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns
        rb://84 and Mantis issue://162
        
        ------------------------------------------------------------------------
        r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1: Add the ULL suffix otherwise there is an overflow.
        
        ------------------------------------------------------------------------
        r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1:
        
        Merge a change from MySQL:
        
          ------------------------------------------------------------
          revno: 2709.20.31
          committer: Timothy Smith <timothy.smith@sun.com>
          branch nick: 51
          timestamp: Fri 2008-12-19 01:28:51 +0100
          message:
            Disable part of innodb-autoinc.test, because the MySQL server asserts when
            compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and
            increment > 1".  This change should be reverted when that bug is fixed (and a
            a few other minor changes to the test as described in comments).
          modified:
            mysql-test/r/innodb-autoinc.result
            mysql-test/t/innodb-autoinc.test
        
        ------------------------------------------------------------------------
        r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb-autoinc.test
        
        branches/5.1:
        
        Merge a change from MySQL:
        
        [looks like the changes to innodb-autoinc.test were made as part of
        the following huge merge, but we are merging only changes to that file]
        
          ------------------------------------------------------------
          revno: 2546.47.1
          committer: Luis Soares <luis.soares@sun.com>
          branch nick: 5.1-rpl
          timestamp: Fri 2009-01-23 13:22:05 +0100
          message:
            merge: 5.1 -> 5.1-rpl
            conflicts:
              Text conflict in client/mysqltest.cc
              Text conflict in mysql-test/include/wait_until_connected_again.inc
              Text conflict in mysql-test/lib/mtr_report.pm
              Text conflict in mysql-test/mysql-test-run.pl
              Text conflict in mysql-test/r/events_bugs.result
              Text conflict in mysql-test/r/log_state.result
              Text conflict in mysql-test/r/myisam_data_pointer_size_func.result
              Text conflict in mysql-test/r/mysqlcheck.result
              Text conflict in mysql-test/r/query_cache.result
              Text conflict in mysql-test/r/status.result
              Text conflict in mysql-test/suite/binlog/r/binlog_index.result
              Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result
              Text conflict in mysql-test/suite/rpl/r/rpl_packet.result
              Text conflict in mysql-test/suite/rpl/t/rpl_packet.test
              Text conflict in mysql-test/t/disabled.def
              Text conflict in mysql-test/t/events_bugs.test
              Text conflict in mysql-test/t/log_state.test
              Text conflict in mysql-test/t/myisam_data_pointer_size_func.test
              Text conflict in mysql-test/t/mysqlcheck.test
              Text conflict in mysql-test/t/query_cache.test
              Text conflict in mysql-test/t/rpl_init_slave_func.test
              Text conflict in mysql-test/t/status.test
          removed:
            mysql-test/suite/parts/r/partition_bit_ndb.result
            mysql-test/suite/parts/t/partition_bit_ndb.test
            mysql-test/suite/parts/t/partition_sessions.test
            mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc
            mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result
            mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result
            mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test
            mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test
            mysql-test/t/log_bin_trust_function_creators_func-master.opt
            mysql-test/t/rpl_init_slave_func-slave.opt
          added:
            mysql-test/include/check_events_off.inc
            mysql-test/include/cleanup_fake_relay_log.inc
            mysql-test/include/have_simple_parser.inc
            mysql-test/include/no_running_event_scheduler.inc
            mysql-test/include/no_running_events.inc
            mysql-test/include/running_event_scheduler.inc
            mysql-test/include/setup_fake_relay_log.inc
            mysql-test/include/wait_condition_sp.inc
            mysql-test/r/fulltext_plugin.result
            mysql-test/r/have_simple_parser.require
            mysql-test/r/innodb_bug38231.result
            mysql-test/r/innodb_bug39438.result
            mysql-test/r/innodb_mysql_rbk.result
            mysql-test/r/partition_innodb_semi_consistent.result
            mysql-test/r/query_cache_28249.result
            mysql-test/r/status2.result
            mysql-test/std_data/bug40482-bin.000001
            mysql-test/suite/binlog/r/binlog_innodb_row.result
            mysql-test/suite/binlog/t/binlog_innodb_row.test
            mysql-test/suite/rpl/r/rpl_binlog_corruption.result
            mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt
            mysql-test/suite/rpl/t/rpl_binlog_corruption.test
            mysql-test/suite/sys_vars/r/tmp_table_size_basic.result
            mysql-test/suite/sys_vars/t/tmp_table_size_basic.test
            mysql-test/t/fulltext_plugin-master.opt
            mysql-test/t/fulltext_plugin.test
            mysql-test/t/innodb_bug38231.test
            mysql-test/t/innodb_bug39438-master.opt
            mysql-test/t/innodb_bug39438.test
            mysql-test/t/innodb_mysql_rbk-master.opt
            mysql-test/t/innodb_mysql_rbk.test
            mysql-test/t/partition_innodb_semi_consistent-master.opt
            mysql-test/t/partition_innodb_semi_consistent.test
            mysql-test/t/query_cache_28249.test
            mysql-test/t/status2.test
          renamed:
            mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result
            mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test
          modified:
            .bzr-mysql/default.conf
            CMakeLists.txt
            client/mysql.cc
            client/mysql_upgrade.c
            client/mysqlcheck.c
            client/mysqltest.cc
            configure.in
            extra/resolve_stack_dump.c
            extra/yassl/include/openssl/ssl.h
            include/config-win.h
            include/m_ctype.h
            include/my_global.h
            mysql-test/extra/binlog_tests/database.test
            mysql-test/extra/rpl_tests/rpl_auto_increment.test
            mysql-test/include/commit.inc
            mysql-test/include/have_32bit.inc
            mysql-test/include/have_64bit.inc
            mysql-test/include/index_merge1.inc
            mysql-test/include/linux_sys_vars.inc
            mysql-test/include/windows_sys_vars.inc
            mysql-test/lib/mtr_report.pm
            mysql-test/mysql-test-run.pl
            mysql-test/r/alter_table.result
            mysql-test/r/commit_1innodb.result
            mysql-test/r/create.result
            mysql-test/r/csv.result
            mysql-test/r/ctype_ucs.result
            mysql-test/r/date_formats.result
            mysql-test/r/events_bugs.result
            mysql-test/r/events_scheduling.result
            mysql-test/r/fulltext.result
            mysql-test/r/func_if.result
            mysql-test/r/func_in.result
            mysql-test/r/func_str.result
            mysql-test/r/func_time.result
            mysql-test/r/grant.result
            mysql-test/r/index_merge_myisam.result
            mysql-test/r/information_schema.result
            mysql-test/r/innodb-autoinc.result
            mysql-test/r/innodb.result
            mysql-test/r/innodb_mysql.result
            mysql-test/r/log_bin_trust_function_creators_func.result
            mysql-test/r/log_state.result
            mysql-test/r/myisampack.result
            mysql-test/r/mysql.result
            mysql-test/r/mysqlcheck.result
            mysql-test/r/partition_datatype.result
            mysql-test/r/partition_mgm.result
            mysql-test/r/partition_pruning.result
            mysql-test/r/query_cache.result
            mysql-test/r/read_buffer_size_basic.result
            mysql-test/r/read_rnd_buffer_size_basic.result
            mysql-test/r/rpl_init_slave_func.result
            mysql-test/r/select.result
            mysql-test/r/status.result
            mysql-test/r/strict.result
            mysql-test/r/temp_table.result
            mysql-test/r/type_bit.result
            mysql-test/r/type_date.result
            mysql-test/r/type_float.result
            mysql-test/r/warnings_engine_disabled.result
            mysql-test/r/xml.result
            mysql-test/suite/binlog/r/binlog_database.result
            mysql-test/suite/binlog/r/binlog_index.result
            mysql-test/suite/binlog/r/binlog_innodb.result
            mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
            mysql-test/suite/binlog/t/binlog_innodb.test
            mysql-test/suite/funcs_1/r/is_columns_is.result
            mysql-test/suite/funcs_1/r/is_engines.result
            mysql-test/suite/funcs_1/r/storedproc.result
            mysql-test/suite/funcs_1/storedproc/param_check.inc
            mysql-test/suite/funcs_2/t/disabled.def
            mysql-test/suite/ndb/t/disabled.def
            mysql-test/suite/parts/r/partition_bit_innodb.result
            mysql-test/suite/parts/r/partition_bit_myisam.result
            mysql-test/suite/parts/r/partition_special_innodb.result
            mysql-test/suite/parts/t/disabled.def
            mysql-test/suite/parts/t/partition_special_innodb.test
            mysql-test/suite/parts/t/partition_value_innodb.test
            mysql-test/suite/parts/t/partition_value_myisam.test
            mysql-test/suite/parts/t/partition_value_ndb.test
            mysql-test/suite/rpl/r/rpl_auto_increment.result
            mysql-test/suite/rpl/r/rpl_packet.result
            mysql-test/suite/rpl/r/rpl_row_create_table.result
            mysql-test/suite/rpl/r/rpl_slave_skip.result
            mysql-test/suite/rpl/r/rpl_trigger.result
            mysql-test/suite/rpl/t/disabled.def
            mysql-test/suite/rpl/t/rpl_packet.test
            mysql-test/suite/rpl/t/rpl_row_create_table.test
            mysql-test/suite/rpl/t/rpl_slave_skip.test
            mysql-test/suite/rpl/t/rpl_trigger.test
            mysql-test/suite/rpl_ndb/t/disabled.def
            mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc
            mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc
            mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result
            mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result
            mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result
            mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result
            mysql-test/t/alter_table.test
            mysql-test/t/create.test
            mysql-test/t/csv.test
            mysql-test/t/ctype_ucs.test
            mysql-test/t/date_formats.test
            mysql-test/t/disabled.def
            mysql-test/t/events_bugs.test
            mysql-test/t/events_scheduling.test
            mysql-test/t/fulltext.test
            mysql-test/t/func_if.test
            mysql-test/t/func_in.test
            mysql-test/t/func_str.test
            mysql-test/t/func_time.test
            mysql-test/t/grant.test
            mysql-test/t/information_schema.test
            mysql-test/t/innodb-autoinc.test
            mysql-test/t/innodb.test
            mysql-test/t/innodb_mysql.test
            mysql-test/t/log_bin_trust_function_creators_func.test
            mysql-test/t/log_state.test
            mysql-test/t/myisam_data_pointer_size_func.test
            mysql-test/t/myisampack.test
            mysql-test/t/mysql.test
            mysql-test/t/mysqlcheck.test
            mysql-test/t/partition_innodb_stmt.test
            mysql-test/t/partition_mgm.test
            mysql-test/t/partition_pruning.test
            mysql-test/t/query_cache.test
            mysql-test/t/rpl_init_slave_func.test
            mysql-test/t/select.test
            mysql-test/t/status.test
            mysql-test/t/strict.test
            mysql-test/t/temp_table.test
            mysql-test/t/type_bit.test
            mysql-test/t/type_date.test
            mysql-test/t/type_float.test
            mysql-test/t/warnings_engine_disabled.test
            mysql-test/t/xml.test
            mysys/my_getopt.c
            mysys/my_init.c
            scripts/mysql_install_db.sh
            sql-common/my_time.c
            sql/field.cc
            sql/field.h
            sql/filesort.cc
            sql/ha_partition.cc
            sql/ha_partition.h
            sql/item.cc
            sql/item_cmpfunc.cc
            sql/item_func.h
            sql/item_strfunc.cc
            sql/item_sum.cc
            sql/item_timefunc.cc
            sql/item_timefunc.h
            sql/log.cc
            sql/log.h
            sql/log_event.cc
            sql/log_event.h
            sql/mysql_priv.h
            sql/mysqld.cc
            sql/opt_range.cc
            sql/partition_info.cc
            sql/repl_failsafe.cc
            sql/rpl_constants.h
            sql/set_var.cc
            sql/slave.cc
            sql/spatial.h
            sql/sql_acl.cc
            sql/sql_base.cc
            sql/sql_binlog.cc
            sql/sql_class.h
            sql/sql_cursor.cc
            sql/sql_delete.cc
            sql/sql_lex.cc
            sql/sql_lex.h
            sql/sql_locale.cc
            sql/sql_parse.cc
            sql/sql_partition.cc
            sql/sql_plugin.cc
            sql/sql_plugin.h
            sql/sql_profile.cc
            sql/sql_repl.cc
            sql/sql_select.cc
            sql/sql_select.h
            sql/sql_show.cc
            sql/sql_table.cc
            sql/sql_trigger.cc
            sql/sql_trigger.h
            sql/table.cc
            sql/table.h
            sql/unireg.cc
            storage/csv/ha_tina.cc
            storage/federated/ha_federated.cc
            storage/heap/ha_heap.cc
            storage/innobase/Makefile.am
            storage/innobase/btr/btr0sea.c
            storage/innobase/buf/buf0lru.c
            storage/innobase/dict/dict0dict.c
            storage/innobase/dict/dict0mem.c
            storage/innobase/handler/ha_innodb.cc
            storage/innobase/handler/ha_innodb.h
            storage/innobase/include/btr0sea.h
            storage/innobase/include/dict0dict.h
            storage/innobase/include/dict0mem.h
            storage/innobase/include/ha_prototypes.h
            storage/innobase/include/lock0lock.h
            storage/innobase/include/row0mysql.h
            storage/innobase/include/sync0sync.ic
            storage/innobase/include/ut0ut.h
            storage/innobase/lock/lock0lock.c
            storage/innobase/os/os0file.c
            storage/innobase/plug.in
            storage/innobase/row/row0mysql.c
            storage/innobase/row/row0sel.c
            storage/innobase/srv/srv0srv.c
            storage/innobase/srv/srv0start.c
            storage/innobase/ut/ut0ut.c
            storage/myisam/ft_boolean_search.c
            strings/ctype.c
            strings/xml.c
            tests/mysql_client_test.c
            win/configure.js
            mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test
        
        ------------------------------------------------------------------------
        r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1: minor non-functional changes.
        ------------------------------------------------------------------------
      19b650ee
    • vasil's avatar
      branches/zip: · 820dd607
      vasil authored
      ChangeLog: Remove include/os0sync.ic from the entry about the google patch,
      this file was modified later to not include Google's code.
      
      820dd607
    • vasil's avatar
      branches/zip: · bb569d2e
      vasil authored
      Cleanup in ChangeLog:
      * Wrap lines at 78 characters
      * Changed files are listed alphabetically
      * White-space cleanup
      bb569d2e
  6. 19 Feb, 2009 2 commits
  7. 18 Feb, 2009 3 commits
  8. 17 Feb, 2009 11 commits
    • marko's avatar
      branches/zip: When assigning lock->recursive = FALSE, also flag · 0f307c65
      marko authored
      lock->writer_thread invalid, so that Valgrind will catch more errors.
      This is related to Issue #175.
      0f307c65
    • marko's avatar
      Minor cleanup of the Google SMP patch. · 1b6e332f
      marko authored
      sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning
      about the return value of os_atomic_increment() being ignored.
      
      rw_lock_create_func(): Properly indent the preprocessor directives.
      
      rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly.
      
      rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning.
      Do not mix statements and variable declarations.
      1b6e332f
    • vasil's avatar
      branches/zip: · 7abbc07d
      vasil authored
      Add the copyright notice to the non C files.
      7abbc07d
    • vasil's avatar
      branches/zip: · 09f12c0e
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 28/28]
      09f12c0e
    • vasil's avatar
      branches/zip: · 8a04bf39
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 27/28]
      8a04bf39
    • vasil's avatar
      branches/zip: · 89de5b70
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 26/28]
      89de5b70
    • vasil's avatar
      branches/zip: · 92ecfa86
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 25/28]
      92ecfa86
    • vasil's avatar
      branches/zip: · 3fbde208
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 24/28]
      3fbde208
    • vasil's avatar
      branches/zip: · 9f50fada
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 23/28]
      9f50fada
    • vasil's avatar
      branches/zip: · dfc3e641
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 22/28]
      dfc3e641
    • vasil's avatar
      branches/zip: · c24503cb
      vasil authored
      * Remove old Innobase copyright lines from C source files
      * Add a reference to the GPLv2 license as recommended by the lawyers
      at Oracle Legal
      
      [Step 21/28]
      c24503cb