List:Commits« Previous MessageNext Message »
From:paul Date:October 1 2007 7:52pm
Subject:svn commit - mysqldoc@docsrva: r7933 - in trunk: . refman-5.2 xsl.d
View as plain text  
Author: paul
Date: 2007-10-01 21:52:43 +0200 (Mon, 01 Oct 2007)
New Revision: 7933

Log:
 r30527@arctic:  paul | 2007-10-01 14:52:05 -0500
 Use <function role="capi"> to produce some auto-links to C API sections.


Modified:
   trunk/refman-5.2/apis-c.xml
   trunk/xsl.d/dbk-prep.xsl

Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:30519
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:25158
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:20005
   + 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:30527
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:25158
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:20005


Modified: trunk/refman-5.2/apis-c.xml
===================================================================
--- trunk/refman-5.2/apis-c.xml	2007-10-01 17:04:08 UTC (rev 7932)
+++ trunk/refman-5.2/apis-c.xml	2007-10-01 19:52:43 UTC (rev 7933)
Changed blocks: 1, Lines Added: 72, Lines Deleted: 72; 23381 bytes

@@ -803,307 +803,307 @@
             <entry><emphasis role="bold">Description</emphasis></entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="my-init">my_init()</link></emphasis></entry>
+            <entry><function role="capi">my_init()</function></entry>
             <entry>Initialize global variables, and thread handler in thread-safe programs.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-affected-rows">mysql_affected_rows()</link></emphasis></entry>
+            <entry><function role="capi">mysql_affected_rows()</function></entry>
             <entry>Returns the number of rows changed/deleted/inserted by the last
               <literal>UPDATE</literal>, <literal>DELETE</literal>, or
               <literal>INSERT</literal> query.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-autocommit">mysql_autocommit()</link></emphasis></entry>
+            <entry><function role="capi">mysql_autocommit()</function></entry>
             <entry>Toggles autocommit mode on/off.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-change-user">mysql_change_user()</link></emphasis></entry>
+            <entry><function role="capi">mysql_change_user()</function></entry>
             <entry>Changes user and database on an open connection.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-close">mysql_close()</link></emphasis></entry>
+            <entry><function role="capi">mysql_close()</function></entry>
             <entry>Closes a server connection.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-commit">mysql_commit()</link></emphasis></entry>
+            <entry><function role="capi">mysql_commit()</function></entry>
             <entry>Commits the transaction.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-connect">mysql_connect()</link></emphasis></entry>
+            <entry><function role="capi">mysql_connect()</function></entry>
             <entry>Connects to a MySQL server. This function is deprecated; use
               <literal>mysql_real_connect()</literal> instead.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-create-db">mysql_create_db()</link></emphasis></entry>
+            <entry><function role="capi">mysql_create_db()</function></entry>
             <entry>Creates a database. This function is deprecated; use the SQL statement
               <literal>CREATE DATABASE</literal> instead.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-data-seek">mysql_data_seek()</link></emphasis></entry>
+            <entry><function role="capi">mysql_data_seek()</function></entry>
             <entry>Seeks to an arbitrary row number in a query result set.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-debug">mysql_debug()</link></emphasis></entry>
+            <entry><function role="capi">mysql_debug()</function></entry>
             <entry>Does a <literal>DBUG_PUSH</literal> with the given string.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-drop-db">mysql_drop_db()</link></emphasis></entry>
+            <entry><function role="capi">mysql_drop_db()</function></entry>
             <entry>Drops a database. This function is deprecated; use the SQL statement
               <literal>DROP DATABASE</literal> instead.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-dump-debug-info">mysql_dump_debug_info()</link></emphasis></entry>
+            <entry><function role="capi">mysql_dump_debug_info()</function></entry>
             <entry>Makes the server write debug information to the log.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-eof">mysql_eof()</link></emphasis></entry>
+            <entry><function role="capi">mysql_eof()</function></entry>
             <entry>Determines whether the last row of a result set has been read. This
               function is deprecated; <literal>mysql_errno()</literal>
               or <literal>mysql_error()</literal> may be used instead.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-errno">mysql_errno()</link></emphasis></entry>
+            <entry><function role="capi">mysql_errno()</function></entry>
             <entry>Returns the error number for the most recently invoked MySQL function.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-error">mysql_error()</link></emphasis></entry>
+            <entry><function role="capi">mysql_error()</function></entry>
             <entry>Returns the error message for the most recently invoked MySQL function.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-escape-string">mysql_escape_string()</link></emphasis></entry>
+            <entry><function role="capi">mysql_escape_string()</function></entry>
             <entry>Escapes special characters in a string for use in an SQL statement.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-fetch-field">mysql_fetch_field()</link></emphasis></entry>
+            <entry><function role="capi">mysql_fetch_field()</function></entry>
             <entry>Returns the type of the next table field.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-fetch-field-direct">mysql_fetch_field_direct()</link></emphasis></entry>
+            <entry><function role="capi">mysql_fetch_field_direct()</function></entry>
             <entry>Returns the type of a table field, given a field number.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-fetch-fields">mysql_fetch_fields()</link></emphasis></entry>
+            <entry><function role="capi">mysql_fetch_fields()</function></entry>
             <entry>Returns an array of all field structures.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-fetch-lengths">mysql_fetch_lengths()</link></emphasis></entry>
+            <entry><function role="capi">mysql_fetch_lengths()</function></entry>
             <entry>Returns the lengths of all columns in the current row.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-fetch-row">mysql_fetch_row()</link></emphasis></entry>
+            <entry><function role="capi">mysql_fetch_row()</function></entry>
             <entry>Fetches the next row from the result set.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-field-seek">mysql_field_seek()</link></emphasis></entry>
+            <entry><function role="capi">mysql_field_seek()</function></entry>
             <entry>Puts the column cursor on a specified column.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-field-count">mysql_field_count()</link></emphasis></entry>
+            <entry><function role="capi">mysql_field_count()</function></entry>
             <entry>Returns the number of result columns for the most recent statement.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-field-tell">mysql_field_tell()</link></emphasis></entry>
+            <entry><function role="capi">mysql_field_tell()</function></entry>
             <entry>Returns the position of the field cursor used for the last
               <literal>mysql_fetch_field()</literal>.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-free-result">mysql_free_result()</link></emphasis></entry>
+            <entry><function role="capi">mysql_free_result()</function></entry>
             <entry>Frees memory used by a result set.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-get-client-info">mysql_get_client_info()</link></emphasis></entry>
+            <entry><function role="capi">mysql_get_client_info()</function></entry>
             <entry>Returns client version information as a string.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-get-client-version">mysql_get_client_version()</link></emphasis></entry>
+            <entry><function role="capi">mysql_get_client_version()</function></entry>
             <entry>Returns client version information as an integer.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-get-host-info">mysql_get_host_info()</link></emphasis></entry>
+            <entry><function role="capi">mysql_get_host_info()</function></entry>
             <entry>Returns a string describing the connection.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-get-server-version">mysql_get_server_version()</link></emphasis></entry>
+            <entry><function role="capi">mysql_get_server_version()</function></entry>
             <entry>Returns version number of server as an integer.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-get-proto-info">mysql_get_proto_info()</link></emphasis></entry>
+            <entry><function role="capi">mysql_get_proto_info()</function></entry>
             <entry>Returns the protocol version used by the connection.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-get-server-info">mysql_get_server_info()</link></emphasis></entry>
+            <entry><function role="capi">mysql_get_server_info()</function></entry>
             <entry>Returns the server version number.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-info">mysql_info()</link></emphasis></entry>
+            <entry><function role="capi">mysql_info()</function></entry>
             <entry>Returns information about the most recently executed query.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-init">mysql_init()</link></emphasis></entry>
+            <entry><function role="capi">mysql_init()</function></entry>
             <entry>Gets or initializes a <literal>MYSQL</literal> structure.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-insert-id">mysql_insert_id()</link></emphasis></entry>
+            <entry><function role="capi">mysql_insert_id()</function></entry>
             <entry>Returns the ID generated for an <literal>AUTO_INCREMENT</literal> column
               by the previous query.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-kill">mysql_kill()</link></emphasis></entry>
+            <entry><function role="capi">mysql_kill()</function></entry>
             <entry>Kills a given thread.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-library-end">mysql_library_end()</link></emphasis></entry>
+            <entry><function role="capi">mysql_library_end()</function></entry>
             <entry>Finalize the MySQL C API library.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-library-init">mysql_library_init()</link></emphasis></entry>
+            <entry><function role="capi">mysql_library_init()</function></entry>
             <entry>Initialize the MySQL C API library.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-list-dbs">mysql_list_dbs()</link></emphasis></entry>
+            <entry><function role="capi">mysql_list_dbs()</function></entry>
             <entry>Returns database names matching a simple regular expression.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-list-fields">mysql_list_fields()</link></emphasis></entry>
+            <entry><function role="capi">mysql_list_fields()</function></entry>
             <entry>Returns field names matching a simple regular expression.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-list-processes">mysql_list_processes()</link></emphasis></entry>
+            <entry><function role="capi">mysql_list_processes()</function></entry>
             <entry>Returns a list of the current server threads.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-list-tables">mysql_list_tables()</link></emphasis></entry>
+            <entry><function role="capi">mysql_list_tables()</function></entry>
             <entry>Returns table names matching a simple regular expression.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-more-results">mysql_more_results()</link></emphasis></entry>
+            <entry><function role="capi">mysql_more_results()</function></entry>
             <entry>Checks whether any more results exist.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-next-result">mysql_next_result()</link></emphasis></entry>
+            <entry><function role="capi">mysql_next_result()</function></entry>
             <entry>Returns/initiates the next result in multiple-statement executions.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-num-fields">mysql_num_fields()</link></emphasis></entry>
+            <entry><function role="capi">mysql_num_fields()</function></entry>
             <entry>Returns the number of columns in a result set.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-num-rows">mysql_num_rows()</link></emphasis></entry>
+            <entry><function role="capi">mysql_num_rows()</function></entry>
             <entry>Returns the number of rows in a result set.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-options">mysql_options()</link></emphasis></entry>
+            <entry><function role="capi">mysql_options()</function></entry>
             <entry>Sets connect options for <literal>mysql_connect()</literal>.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-ping">mysql_ping()</link></emphasis></entry>
+            <entry><function role="capi">mysql_ping()</function></entry>
             <entry>Checks whether the connection to the server is working, reconnecting as
               necessary.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-query">mysql_query()</link></emphasis></entry>
+            <entry><function role="capi">mysql_query()</function></entry>
             <entry>Executes an SQL query specified as a null-terminated string.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-real-connect">mysql_real_connect()</link></emphasis></entry>
+            <entry><function role="capi">mysql_real_connect()</function></entry>
             <entry>Connects to a MySQL server.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-real-escape-string">mysql_real_escape_string()</link></emphasis></entry>
+            <entry><function role="capi">mysql_real_escape_string()</function></entry>
             <entry>Escapes special characters in a string for use in an SQL statement,
               taking into account the current character set of the
               connection.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-real-query">mysql_real_query()</link></emphasis></entry>
+            <entry><function role="capi">mysql_real_query()</function></entry>
             <entry>Executes an SQL query specified as a counted string.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-refresh">mysql_refresh()</link></emphasis></entry>
+            <entry><function role="capi">mysql_refresh()</function></entry>
             <entry>Flush or reset tables and caches.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-reload">mysql_reload()</link></emphasis></entry>
+            <entry><function role="capi">mysql_reload()</function></entry>
             <entry>Tells the server to reload the grant tables.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-rollback">mysql_rollback()</link></emphasis></entry>
+            <entry><function role="capi">mysql_rollback()</function></entry>
             <entry>Rolls back the transaction.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-row-seek">mysql_row_seek()</link></emphasis></entry>
+            <entry><function role="capi">mysql_row_seek()</function></entry>
             <entry>Seeks to a row offset in a result set, using value returned from
               <literal>mysql_row_tell()</literal>.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-row-tell">mysql_row_tell()</link></emphasis></entry>
+            <entry><function role="capi">mysql_row_tell()</function></entry>
             <entry>Returns the row cursor position.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-select-db">mysql_select_db()</link></emphasis></entry>
+            <entry><function role="capi">mysql_select_db()</function></entry>
             <entry>Selects a database.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-server-end">mysql_server_end()</link></emphasis></entry>
+            <entry><function role="capi">mysql_server_end()</function></entry>
             <entry>Finalize the MySQL C API library.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-server-init">mysql_server_init()</link></emphasis></entry>
+            <entry><function role="capi">mysql_server_init()</function></entry>
             <entry>Initialize the MySQL C API library.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-set-local-infile-default">mysql_set_local_infile_default()</link></emphasis></entry>
+            <entry><function role="capi">mysql_set_local_infile_default()</function></entry>
             <entry>Set the <literal>LOAD DATA LOCAL INFILE</literal> handler callbacks to
               their default values.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-set-local-infile-handler">mysql_set_local_infile_handler()</link></emphasis></entry>
+            <entry><function role="capi">mysql_set_local_infile_handler()</function></entry>
             <entry>Install application-specific <literal>LOAD DATA LOCAL INFILE</literal>
               handler callbacks.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-set-server-option">mysql_set_server_option()</link></emphasis></entry>
+            <entry><function role="capi">mysql_set_server_option()</function></entry>
             <entry>Sets an option for the connection (like
               <literal>multi-statements</literal>).</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-sqlstate">mysql_sqlstate()</link></emphasis></entry>
+            <entry><function role="capi">mysql_sqlstate()</function></entry>
             <entry>Returns the SQLSTATE error code for the last error.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-shutdown">mysql_shutdown()</link></emphasis></entry>
+            <entry><function role="capi">mysql_shutdown()</function></entry>
             <entry>Shuts down the database server.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-stat">mysql_stat()</link></emphasis></entry>
+            <entry><function role="capi">mysql_stat()</function></entry>
             <entry>Returns the server status as a string.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-store-result">mysql_store_result()</link></emphasis></entry>
+            <entry><function role="capi">mysql_store_result()</function></entry>
             <entry>Retrieves a complete result set to the client.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-thread-end">mysql_thread_end()</link></emphasis></entry>
+            <entry><function role="capi">mysql_thread_end()</function></entry>
             <entry>Finalize thread handler.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-thread-id">mysql_thread_id()</link></emphasis></entry>
+            <entry><function role="capi">mysql_thread_id()</function></entry>
             <entry>Returns the current thread ID.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-thread-init">mysql_thread_init()</link></emphasis></entry>
+            <entry><function role="capi">mysql_thread_init()</function></entry>
             <entry>Initialize thread handler.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-thread-safe">mysql_thread_safe()</link></emphasis></entry>
+            <entry><function role="capi">mysql_thread_safe()</function></entry>
             <entry>Returns 1 if the clients are compiled as thread-safe.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-use-result">mysql_use_result()</link></emphasis></entry>
+            <entry><function role="capi">mysql_use_result()</function></entry>
             <entry>Initiates a row-by-row result set retrieval.</entry>
           </row>
           <row>
-            <entry><emphasis role="bold"><link linkend="mysql-warning-count">mysql_warning_count()</link></emphasis></entry>
+            <entry><function role="capi">mysql_warning_count()</function></entry>
             <entry>Returns the warning count for the previous SQL statement.</entry>
           </row>
         </tbody>


Modified: trunk/xsl.d/dbk-prep.xsl
===================================================================
--- trunk/xsl.d/dbk-prep.xsl	2007-10-01 17:04:08 UTC (rev 7932)
+++ trunk/xsl.d/dbk-prep.xsl	2007-10-01 19:52:43 UTC (rev 7933)
Changed blocks: 2, Lines Added: 41, Lines Deleted: 0; 1847 bytes

@@ -50,6 +50,14 @@
     doctype-public="-//OASIS//DTD DocBook XML V4.3//EN"
     doctype-system="http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"/>
 
+  <!--
+    Construct a key for all elements with an @id attribute. Needed
+    for testing whether to wrap function references within links
+    to function description sections.
+  -->
+
+  <xsl:key name="all.ids" match="*" use="@id"/>
+
   <!-- include qandaset-mapping templates -->
 
   <xsl:include href="map-qandaset.xsl"/>

@@ -236,6 +244,39 @@
     </xsl:if>
   </xsl:template>
 
+  <xsl:template match="function[@role='capi']">
+    <!--
+      - Get function name (element content up to leading open paren),
+        with underscores converted to dashes.
+      - If there is a section with that name, wrap the function element
+        within a link to that section.
+      - If there is no such section, don't produce a link.
+      TODO: echo all attributes *except* "role"?
+     -->
+    <xsl:variable
+      name="fname"
+      select="translate(substring-before(normalize-space(.),'('),'_','-')"/>
+    <xsl:choose>
+      <xsl:when test="key('all.ids',$fname)">
+        <link>
+          <xsl:attribute name="linkend">
+            <xsl:value-of select="$fname"/>
+          </xsl:attribute>
+          <function>
+            <xsl:copy-of select="@*"/>
+            <xsl:apply-templates/>
+        </function>
+        </link>
+      </xsl:when>
+      <xsl:otherwise>
+        <function>
+          <xsl:copy-of select="@*"/>
+          <xsl:apply-templates/>
+        </function>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
   <!--
   Map glossary tags to variable list
 -->


Thread
svn commit - mysqldoc@docsrva: r7933 - in trunk: . refman-5.2 xsl.dpaul1 Oct