v1.0.3: cftransaction для BYTEA Large Objects

This commit is contained in:
2026-06-18 14:48:35 +04:00
parent 7583eecf52
commit 3c78bc2db3
2 changed files with 34 additions and 32 deletions
+1 -1
View File
@@ -1 +1 @@
<cfsetting showdebugoutput=no enablecfoutputonly=yes><cfoutput>OK v1.0.2</cfoutput> <cfsetting showdebugoutput=no enablecfoutputonly=yes><cfoutput>OK v1.0.3</cfoutput>
+33 -31
View File
@@ -20,41 +20,43 @@
<cffile action="readBinary" file="#upload.serverDirectory#/#upload.serverFile#" variable="fileBytes"> <cffile action="readBinary" file="#upload.serverDirectory#/#upload.serverFile#" variable="fileBytes">
<cfquery datasource="baza"> <cftransaction>
INSERT INTO documents (filename, mime_type, original_bytes, status) <cfquery datasource="baza">
VALUES ( INSERT INTO documents (filename, mime_type, original_bytes, status)
<cfqueryparam value="#upload.clientFile#" cfsqltype="cf_sql_varchar">, VALUES (
<cfqueryparam value="#mime#" cfsqltype="cf_sql_varchar">, <cfqueryparam value="#upload.clientFile#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#fileBytes#" cfsqltype="cf_sql_blob">, <cfqueryparam value="#mime#" cfsqltype="cf_sql_varchar">,
'uploaded' <cfqueryparam value="#fileBytes#" cfsqltype="cf_sql_blob">,
) 'uploaded'
</cfquery> )
</cfquery>
<cfquery name="doc" datasource="baza"> <cfquery name="doc" datasource="baza">
SELECT id FROM documents SELECT id FROM documents
WHERE filename = <cfqueryparam value="#upload.clientFile#" cfsqltype="cf_sql_varchar"> WHERE filename = <cfqueryparam value="#upload.clientFile#" cfsqltype="cf_sql_varchar">
AND status = 'uploaded' AND status = 'uploaded'
ORDER BY created_at DESC LIMIT 1 ORDER BY created_at DESC LIMIT 1
</cfquery> </cfquery>
<cfquery datasource="baza"> <cfquery datasource="baza">
INSERT INTO contracts (number, client) VALUES ( INSERT INTO contracts (number, client) VALUES (
<cfqueryparam value="б/н #dateFormat(now(), 'yyyymmdd')#-#timeFormat(now(), 'HHmm')#" cfsqltype="cf_sql_varchar">, <cfqueryparam value="б/н #dateFormat(now(), 'yyyymmdd')#-#timeFormat(now(), 'HHmm')#" cfsqltype="cf_sql_varchar">,
'' ''
) )
</cfquery> </cfquery>
<cfquery name="cid" datasource="baza"> <cfquery name="cid" datasource="baza">
SELECT id FROM contracts ORDER BY created_at DESC LIMIT 1 SELECT id FROM contracts ORDER BY created_at DESC LIMIT 1
</cfquery> </cfquery>
<cfquery datasource="baza"> <cfquery datasource="baza">
INSERT INTO supplements (contract_id, document_id, type) VALUES ( INSERT INTO supplements (contract_id, document_id, type) VALUES (
<cfqueryparam value="#cid.id#" cfsqltype="cf_sql_varchar">, <cfqueryparam value="#cid.id#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#doc.id#" cfsqltype="cf_sql_varchar">, <cfqueryparam value="#doc.id#" cfsqltype="cf_sql_varchar">,
'initial' 'initial'
) )
</cfquery> </cfquery>
</cftransaction>
<cfset result = {ok: true, contract_id: cid.id, doc_id: doc.id, filename: upload.clientFile, size: upload.fileSize}> <cfset result = {ok: true, contract_id: cid.id, doc_id: doc.id, filename: upload.clientFile, size: upload.fileSize}>
</cfif> </cfif>