@@ -757,10 +757,18 @@
757 757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==0 ){
758 758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_result_int64(context, mtime);
759 759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
760 760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
761 761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** SQL wrapper around the symbolic_name_to_rid() C-language API.
764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Examples:
765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** symbolic_name_to_rid('trunk');
767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** symbolic_name_to_rid('trunk','w');
768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
762 770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void db_sym2rid_function(
763 771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_context *context,
764 772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int argc,
765 773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_value **argv
766 774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
@@ -786,10 +794,23 @@
786 794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_result_int64(context, rid);
787 795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
788 796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
789 797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
790 798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Register the SQL functions that are useful both to the internal
801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** representation and to the "fossil sql" command.
802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ void db_add_aux_functions(sqlite3 *db){
804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_create_function(db, "checkin_mtime", 2, SQLITE_UTF8, 0,
805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_checkin_mtime_function, 0, 0);
806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_create_function(db, "symbolic_name_to_rid", 1, SQLITE_UTF8, 0,
807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_sym2rid_function, 0, 0);
808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_create_function(db, "symbolic_name_to_rid", 2, SQLITE_UTF8, 0,
809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_sym2rid_function, 0, 0);
810 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
791 812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
792 813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
793 814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Open a database file. Return a pointer to the new database
794 815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** connection. An error results in process abort.
795 816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -806,13 +827,12 @@
806 827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc!=SQLITE_OK ){
807 828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_err("[%s]: %s", zDbName, sqlite3_errmsg(db));
808 829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
809 830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_busy_timeout(db, 5000);
810 831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_wal_autocheckpoint(db, 1); /* Set to checkpoint frequently */
811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_create_function(db, "now", 0, SQLITE_UTF8, 0, db_now_function, 0, 0);
812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_create_function(db, "checkin_mtime", 2, SQLITE_UTF8, 0,
813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_checkin_mtime_function, 0, 0);
832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_create_function(db, "now", 0, SQLITE_UTF8, 0,
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_now_function, 0, 0);
814 834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_create_function(db, "user", 0, SQLITE_UTF8, 0, db_sql_user, 0, 0);
815 835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_create_function(db, "cgi", 1, SQLITE_UTF8, 0, db_sql_cgi, 0, 0);
816 836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_create_function(db, "cgi", 2, SQLITE_UTF8, 0, db_sql_cgi, 0, 0);
817 837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_create_function(db, "print", -1, SQLITE_UTF8, 0,db_sql_print,0,0);
818 838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_create_function(
@@ -819,21 +839,14 @@
819 839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0
820 840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
821 841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_create_function(
822 842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0
823 843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_create_function(
825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db, "symbolic_name_to_rid", 1, SQLITE_UTF8, 0, db_sym2rid_function,
826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0, 0
827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_create_function(
829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db, "symbolic_name_to_rid", 2, SQLITE_UTF8, 0, db_sym2rid_function,
830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0, 0
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
832 844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0);
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- re_add_sql_func(db);
834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foci_register(db);
845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_add_aux_functions(db);
846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ re_add_sql_func(db); /* The REGEXP operator */
847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ foci_register(db); /* The "files_of_checkin" virtual table */
835 848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0);
836 849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return db;
837 850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
838 851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
839 852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
840 853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!