diff --git a/src/bin/admin/scripts/mysql/dhcpdb_create.mysql b/src/bin/admin/scripts/mysql/dhcpdb_create.mysql index cdcc46ac7a..ad85cb59df 100755 --- a/src/bin/admin/scripts/mysql/dhcpdb_create.mysql +++ b/src/bin/admin/scripts/mysql/dhcpdb_create.mysql @@ -265,8 +265,8 @@ ALTER TABLE lease6 # by the expiration time. One of the applications is to retrieve all # expired leases. However, these indexes can be also used to retrieve # leases in a given state regardless of the expiration time. -CREATE INDEX lease4_by_state_expire ON lease4 (state, expire); -CREATE INDEX lease6_by_state_expire ON lease6 (state, expire); +CREATE INDEX lease4_by_state_expire ON lease4 (state ASC, expire ASC); +CREATE INDEX lease6_by_state_expire ON lease6 (state ASC, expire ASC); # Create table holding mapping of the lease states to their names. # This is not used in queries from the DHCP server but rather in diff --git a/src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh.in b/src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh.in index ae18cb83a1..a63626d314 100755 --- a/src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh.in +++ b/src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh.in @@ -28,8 +28,8 @@ ALTER TABLE lease6 # by the expiration time. One of the applications is to retrieve all # expired leases. However, these indexes can be also used to retrieve # leases in a given state regardless of the expiration time. -CREATE INDEX lease4_by_state_expire ON lease4 (state, expire); -CREATE INDEX lease6_by_state_expire ON lease6 (state, expire); +CREATE INDEX lease4_by_state_expire ON lease4 (state ASC, expire ASC); +CREATE INDEX lease6_by_state_expire ON lease6 (state ASC, expire ASC); # Create table holding mapping of the lease states to their names. # This is not used in queries from the DHCP server but rather in diff --git a/src/lib/dhcpsrv/mysql_lease_mgr.cc b/src/lib/dhcpsrv/mysql_lease_mgr.cc index 7308ce3d48..4a7826800f 100755 --- a/src/lib/dhcpsrv/mysql_lease_mgr.cc +++ b/src/lib/dhcpsrv/mysql_lease_mgr.cc @@ -143,7 +143,7 @@ TaggedStatement tagged_statements[] = { "state " "FROM lease4 " "WHERE state != ? AND expire < ? " - "ORDER BY expire " + "ORDER BY expire ASC " "LIMIT ?"}, {MySqlLeaseMgr::GET_LEASE6_ADDR, "SELECT address, duid, valid_lifetime, " @@ -182,7 +182,7 @@ TaggedStatement tagged_statements[] = { "state " "FROM lease6 " "WHERE state != ? AND expire < ? " - "ORDER BY expire " + "ORDER BY expire ASC " "LIMIT ?"}, {MySqlLeaseMgr::GET_VERSION, "SELECT version, minor FROM schema_version"}, diff --git a/src/lib/dhcpsrv/tests/schema_mysql_copy.h b/src/lib/dhcpsrv/tests/schema_mysql_copy.h index ba32dd7212..f21ccee7ff 100755 --- a/src/lib/dhcpsrv/tests/schema_mysql_copy.h +++ b/src/lib/dhcpsrv/tests/schema_mysql_copy.h @@ -220,8 +220,8 @@ const char* create_statement[] = { "ALTER TABLE lease6 " "ADD COLUMN state INT UNSIGNED DEFAULT 0", - "CREATE INDEX lease4_by_state_expire ON lease4 (state, expire)", - "CREATE INDEX lease6_by_state_expire ON lease6 (state, expire)", + "CREATE INDEX lease4_by_state_expire ON lease4 (state ASC, expire ASC)", + "CREATE INDEX lease6_by_state_expire ON lease6 (state ASC, expire ASC)", // Production schema includes the lease_state table and // lease_hwaddr_source tables which map to the values in lease4